Openbare eindpuntconnectiviteit voor Virtual Machines met Behulp van Azure Standard Load Balancer in SAP-scenario's met hoge beschikbaarheid

Het bereik van dit artikel is het beschrijven van configuraties die uitgaande connectiviteit naar openbare eindpunten mogelijk maken. De configuraties zijn voornamelijk in de context van hoge beschikbaarheid met Pacemaker voor SUSE/RHEL.

Als u Pacemaker met Azure Fence Agent gebruikt in uw oplossing voor hoge beschikbaarheid, moeten de VM's uitgaande connectiviteit hebben met de Azure-beheer-API. Het artikel bevat verschillende opties waarmee u de optie kunt selecteren die het meest geschikt is voor uw scenario.

Overzicht

Bij het implementeren van hoge beschikbaarheid voor SAP-oplossingen via clustering is een van de benodigde onderdelen Azure Load Balancer. Azure biedt twee load balancer SKU's: standard en basic.

Standard Azure load balancer biedt enkele voordelen ten opzichte van de Basic load balancer. Het werkt bijvoorbeeld in meerdere Azure-beschikbaarheidszones en biedt betere bewakings- en logboekregistratiemogelijkheden voor eenvoudigere probleemoplossing en verminderde latentie. De functie HA-poorten omvat alle poorten, dat wil zeggen dat het niet langer nodig is om alle afzonderlijke poorten weer te bieden.

Er zijn enkele belangrijke verschillen tussen de basis- en standaard-SKU van Azure load balancer. Een van deze is het verwerken van uitgaand verkeer naar een openbaar eindpunt. Zie SKU-vergelijking voor load balancer basis- Load Balancer Standard-SKU.

Wanneer VM's zonder openbare IP-adressen in de back-endpool van interne (geen openbaar IP-adres) Standard Azure load balancer worden geplaatst, is er geen uitgaande verbinding met openbare eindpunten, tenzij er aanvullende configuratie is uitgevoerd.

Als aan een VM een openbaar IP-adres is toegewezen of als de VM zich in de back-endpool van een load balancer met een openbaar IP-adres, heeft deze uitgaande connectiviteit met openbare eindpunten.

SAP-systemen bevatten vaak gevoelige bedrijfsgegevens. Het is zelden acceptabel dat VM's die SAP-systemen hosten, toegankelijk zijn via openbare IP-adressen. Tegelijkertijd zijn er scenario's die uitgaande connectiviteit van de VM naar openbare eindpunten vereisen.

Voorbeelden van scenario's die toegang tot een openbaar Azure-eindpunt vereisen, zijn:

  • Azure Fence Agent vereist toegang tot management.azure.com en login.microsoftonline.com
  • Azure Backup
  • Azure Site Recovery
  • Een openbare opslagplaats gebruiken voor het patchen van het besturingssysteem
  • Voor de sap-toepassingsgegevensstroom is mogelijk uitgaande connectiviteit met een openbaar eindpunt vereist

Als voor uw SAP-implementatie geen uitgaande connectiviteit met openbare eindpunten is vereist, hoeft u de aanvullende configuratie niet te implementeren. Het is voldoende om een interne standaard-SKU-Azure Load Balancer te maken voor uw scenario met hoge beschikbaarheid, ervan uitgaande dat er ook geen inkomende connectiviteit van openbare eindpunten nodig is.

Notitie

Wanneer VM's zonder openbare IP-adressen in de back-endpool van interne (geen openbaar IP-adres) Standard Azure load balancer worden geplaatst, is er geen uitgaande internetverbinding, tenzij er aanvullende configuratie wordt uitgevoerd om routering naar openbare eindpunten toe te staan.
Als de VM's openbare IP-adressen hebben of zich al in de back-endpool van Azure Load Balancer met een openbaar IP-adres, heeft de VM al uitgaande connectiviteit met openbare eindpunten.

Lees eerst de volgende documenten:

Optie 1: Extra externe Azure Standard Load Balancer voor uitgaande verbindingen met internet

Een optie om uitgaande connectiviteit met openbare eindpunten te bereiken zonder binnenkomende connectiviteit met de VM vanaf een openbaar eindpunt toe te staan, is het maken van een tweede load balancer met een openbaar IP-adres, het toevoegen van de VM's aan de back-endpool van de tweede load balancer en alleen uitgaande regels definiëren.
Gebruik Netwerkbeveiligingsgroepen om de openbare eindpunten te bepalen die toegankelijk zijn voor uitgaande aanroepen van de VM.
Zie Scenario 2 in document Uitgaande verbindingen voor meer informatie.
De configuratie ziet er als volgende uit:

Connectiviteit met openbare eindpunten bepalen met netwerkbeveiligingsgroepen

Belangrijke overwegingen

  • U kunt één extra openbare Load Balancer voor meerdere VM's in hetzelfde subnet gebruiken om uitgaande connectiviteit naar een openbaar eindpunt te bereiken en de kosten te optimaliseren
  • Gebruik netwerkbeveiligingsgroepen om te bepalen welke openbare eindpunten toegankelijk zijn vanaf de VM's. U kunt de netwerkbeveiligingsgroep toewijzen aan het subnet of aan elke VM. Gebruik waar mogelijk Servicetags om de complexiteit van de beveiligingsregels te verminderen.
  • Azure Standard Load Balancer met openbaar IP-adres en uitgaande regels biedt directe toegang tot het openbare eindpunt. Als u bedrijfsbeveiligingsvereisten hebt om al het uitgaande verkeer te laten passeren via een gecentraliseerde bedrijfsoplossing voor controle en logboekregistratie, kunt u in dit scenario mogelijk niet voldoen aan de vereiste.

Tip

Gebruik waar mogelijk Servicetags om de complexiteit van de netwerkbeveiligingsgroep te verminderen.

Implementatiestappen

  1. Load balancer maken

    1. Klik in Azure Portal op Alle resources, Toevoegen en zoek naar Load Balancer
    2. Klik op Maken.
    3. Load Balancer Naam MyPublicILB
    4. Selecteer Openbaar als type, Standaard als SKU
    5. Selecteer Openbaar IP-adres maken en geef de naam MyPublicILBFrondEndIP op
    6. Zone-redundant selecteren als beschikbaarheidszone
    7. Klik op Controleren en maken en klik vervolgens op Maken
  2. Maak back-endpool MyBackendPoolOfPublicILB en voeg de VM's toe.

    1. Het virtuele netwerk selecteren
    2. Selecteer de VM's en hun IP-adressen en voeg deze toe aan de back-mailpool
  3. Maak regels voor uitgaand verkeer. Het is momenteel niet mogelijk om uitgaande regels te maken op Azure Portal. U kunt uitgaande regels maken met Azure CLI.

     az network lb outbound-rule create --address-pool MyBackendPoolOfPublicILB --frontend-ip-configs MyPublicILBFrondEndIP --idle-timeout 30 --lb-name MyPublicILB --name MyOutBoundRules  --outbound-ports 10000 --enable-tcp-reset true --protocol All --resource-group MyResourceGroup
    
  4. Regels voor netwerkbeveiligingsgroep maken om de toegang tot specifieke openbare eindpunten te beperken. Als er een bestaande netwerkbeveiligingsgroep is, kunt u deze aanpassen. In het onderstaande voorbeeld ziet u hoe u toegang tot de Azure-beheer-API inschakelen:

    1. Navigeer naar de netwerkbeveiligingsgroep
    2. Klik op Uitgaande beveiligingsregels
    3. Voeg een regel toe aan Alle uitgaande toegang tot internet weigeren.
    4. Voeg een regel toe aan Toegang tot AzureCloud toestaan, met een lagere prioriteit dan de prioriteit van de regel om alle internettoegang te weigeren.

    De uitgaande beveiligingsregels zien er als volgende uit:

    Uitgaande verbinding met tweede Load Balancer met openbaar IP-adres

    Zie Beveiligingsgroepen voor meer informatie over Azure-netwerkbeveiligingsgroepen.

Optie 2: Azure Firewall voor uitgaande verbindingen met internet

Een andere optie voor het bereiken van uitgaande connectiviteit met openbare eindpunten, zonder binnenkomende connectiviteit met de VM vanaf openbare eindpunten toe te staan, is met Azure Firewall. Azure Firewall is een beheerde service met ingebouwde hoge beschikbaarheid en kan meerdere Beschikbaarheidszones.
U moet ook door de gebruiker gedefinieerde routeimplementeren, die is gekoppeld aan het subnet waar VM's en de Azure-load balancer zijn geïmplementeerd, wijzend naar de Azure-firewall, om verkeer via de Azure Firewall.
Zie Deploy and Configure Azure Firewall (Implementatie en configuratie Azure Firewall van Azure Firewall) voor meer informatie over het implementeren Azure Firewall.

De architectuur ziet er als volgende uit:

Uitgaande verbinding met Azure Firewall

Belangrijke overwegingen

  • Azure Firewall is een cloudeigen service met ingebouwde hoge beschikbaarheid en biedt ondersteuning voor een omgevingsgerichte implementatie.
  • Vereist extra subnet met de naam AzureFirewallSubnet.
  • Als bij het overdragen van grote gegevens het virtuele netwerk waar de SAP-VM's zich bevinden, naar een VM in een ander virtueel netwerk of naar een openbaar eindpunt wordt overgeplaatst, is dit mogelijk geen rendabele oplossing. Een voorbeeld hiervan is het kopiëren van grote back-ups tussen virtuele netwerken. Zie prijzen Azure Firewall meer informatie.
  • Als de bedrijfsfirewalloplossing niet Azure Firewall is en u beveiligingsvereisten hebt om al het uitgaande verkeer te laten passeren via een gecentraliseerde bedrijfsoplossing, is deze oplossing mogelijk niet praktisch.

Tip

Gebruik waar mogelijk Servicetags om de complexiteit van de Azure Firewall verminderen.

Implementatiestappen

  1. Bij de implementatiestappen wordt ervan uit gegaan dat u al een virtueel netwerk en subnet hebt gedefinieerd voor uw VM's.

  2. Maak Subnet AzureFirewallSubnet in dezelfde Virtual Network, waar de VMS's en de Standard Load Balancer worden geïmplementeerd.

    1. Navigeer Azure Portal naar de Virtual Network: klik op Alle resources, zoek naar de Virtual Network, klik op de Virtual Network selecteer Subnetten.
    2. Klik op Subnet toevoegen. Voer AzureFirewallSubnet in als Naam. Voer het juiste adresbereik in. Sla op.
  3. Maak Azure Firewall.

    1. Selecteer Azure Portal Alle resources en klik op Toevoegen, Firewall, Maken. Selecteer Resourcegroep (selecteer dezelfde resourcegroep als Virtual Network is).
    2. Voer een naam in voor Azure Firewall resource. Bijvoorbeeld MyAzureFirewall.
    3. Selecteer Regio en selecteer ten minste twee beschikbaarheidszones, afgestemd op de beschikbaarheidszones waar uw VM's worden geïmplementeerd.
    4. Selecteer uw Virtual Network, waar de SAP-VM's en Azure Standard Load Balancer worden geïmplementeerd.
    5. Openbaar IP-adres: klik op Maken en voer een naam in. Bijvoorbeeld MyFirewallPublicIP.
  4. Maak Azure Firewall om uitgaande connectiviteit naar opgegeven openbare eindpunten toe te staan. In het voorbeeld ziet u hoe u toegang tot het Azure-Beheer API eindpunt toestaat.

    1. Selecteer Regels, Verzameling netwerkregels en klik vervolgens op Netwerkregelverzameling toevoegen.
    2. Naam: MyOutboundRule, voer Prioriteit in, selecteer Actie toestaan.
    3. Service: naam naarAzureAPI. Protocol: selecteer Een. Bronadres: voer het bereik voor uw subnet in, waar de VM's en Standard Load Balancer worden geïmplementeerd bijvoorbeeld: 11.97.0.0/24. Doelpoorten: voer * in.
    4. Opslaan
    5. Terwijl u nog steeds op de Azure Firewall, selecteert u Overzicht. Noteer het privé IP-adres van het Azure Firewall.
  5. Route naar Azure Firewall

    1. Selecteer Azure Portal alle resources en klik vervolgens op Toevoegen, Routetabel, Maken.
    2. Voer De naam MyRouteTable in, selecteer Abonnement, Resourcegroep en Locatie (die overeenkomen met de locatie van uw virtuele netwerk en firewall).
    3. Opslaan

    De firewallregel ziet er als het volgende  uit: diagram dat laat zien hoe de firewall eruit zou zien.

  6. Maak door de gebruiker gedefinieerde route van het subnet van uw VM's naar het privé-IP-adres van MyAzureFirewall.

    1. Als u zich in de routetabel bevinden, klikt u op Routes. Selecteer Toevoegen.
    2. Routenaam: ToMyAzureFirewall, Adres voorvoegsel: 0.0.0.0/0. Volgend hoptype: Selecteer Virtueel apparaat. Adres van volgende hop: voer het privé-IP-adres in van de firewall die u hebt geconfigureerd: 11.97.1.4.
    3. Opslaan

Optie 3: Proxy gebruiken voor Pacemaker-aanroepen naar Azure Beheer API

U kunt de proxy gebruiken om Pacemaker-aanroepen naar het openbare eindpunt van de Azure-beheer-API toe te staan.

Belangrijke overwegingen

  • Als er al een bedrijfsproxy aanwezig is, kunt u uitgaande aanroepen naar openbare eindpunten door de proxy laten lopen. Uitgaande aanroepen naar openbare eindpunten gaan via het beheerpunt van het bedrijf.
  • Zorg ervoor dat de proxyconfiguratie uitgaande connectiviteit met de Azure-beheer-API toestaat: https://management.azure.com en https://login.microsoftonline.com
  • Zorg ervoor dat er een route is van de VM's naar de proxy
  • Proxy verwerkt alleen HTTP/HTTPS-aanroepen. Als er extra behoefte is aan uitgaande aanroepen naar een openbaar eindpunt via verschillende protocollen (zoals RFC), is er een alternatieve oplossing nodig
  • De proxyoplossing moet zeer beschikbaar zijn om instabiliteit in het Pacemaker-cluster te voorkomen
  • Afhankelijk van de locatie van de proxy kan dit extra latentie in de aanroepen van de Azure Fence-agent naar de Azure-Beheer API. Als uw bedrijfsproxy nog steeds on-premises is, terwijl uw Pacemaker-cluster zich in Azure, meet u de latentie en overweegt u of deze oplossing geschikt is voor u
  • Als er nog geen zeer beschikbare bedrijfsproxy aanwezig is, raden we deze optie niet aan, omdat de klant extra kosten en complexiteit met zich mee zou moeten houden. Als u echter besluit om een extra proxyoplossing te implementeren om uitgaande connectiviteit van Pacemaker naar de openbare API van Azure Management toe te staan, moet u ervoor zorgen dat de proxy zeer beschikbaar is en de latentie van de VM's naar de proxy laag is.

Pacemaker-configuratie met proxy

Er zijn veel verschillende proxyopties beschikbaar in de branche. Stapsgewijs instructies voor de proxy-implementatie vallen buiten het bereik van dit document. In het onderstaande voorbeeld gaan we ervan uit dat uw proxy reageert op MyProxyService en luistert naar poort MyProxyPort.
Voer de volgende stappen uit op alle clusterknooppunten om Pacemaker te laten communiceren met de Beheer-API van Azure:

  1. Bewerk het pacemaker-configuratiebestand /etc/sysconfig/pacemaker en voeg de volgende regels toe (alle clusterknooppunten):

    sudo vi /etc/sysconfig/pacemaker
    # Add the following lines
    http_proxy=http://MyProxyService:MyProxyPort
    https_proxy=http://MyProxyService:MyProxyPort
    
  2. Start de Pacemaker-service opnieuw op alle clusterknooppunten.

  • SUSE

    # Place the cluster in maintenance mode
    sudo crm configure property maintenance-mode=true
    #Restart on all nodes
    sudo systemctl restart pacemaker
    # Take the cluster out of maintenance mode
    sudo crm configure property maintenance-mode=true
    
  • Red Hat

    # Place the cluster in maintenance mode
    sudo pcs property set maintenance-mode=true
    #Restart on all nodes
    sudo systemctl restart pacemaker
    # Take the cluster out of maintenance mode
    sudo pcs property set maintenance-mode=false
    

Andere opties

Als uitgaand verkeer wordt gerouteerd via externe, op URL gebaseerde firewallproxy:

  • Als u de Azure Fence-agent gebruikt, moet u ervoor zorgen dat de firewallconfiguratie uitgaande connectiviteit met de Azure-beheer-API toestaat: https://management.azure.com en https://login.microsoftonline.com
  • Als u de openbare-cloudupdate-infrastructuur van SUSE gebruikt voor het toepassen van updates en patches, zie Azure Public Cloud Update Infrastructure 101 (Infrastructuur voor openbare cloudupdates van Azure 101)

Volgende stappen