Connectiviteit van openbare eindpunten voor Virtual Machines met behulp van Azure Standard Load Balancer in scenario's met hoge beschikbaarheid van SAP

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

Als u Pacemaker gebruikt met de Azure Fence-agent in uw oplossing voor hoge beschikbaarheid, moeten de VM's uitgaande connectiviteit hebben met de Azure-beheer-API. In het artikel vindt u 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 wordt 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 azure-beschikbaarheidszones, het heeft betere bewakings- en logboekregistratiemogelijkheden voor eenvoudigere probleemoplossing en verminderde latentie. De functie 'HA-poorten' heeft betrekking op alle poorten, dat wil gezegd dat het niet langer nodig is om alle afzonderlijke poorten weer te geven.

Er zijn enkele belangrijke verschillen tussen de basis- en de standaard-SKU van Azure Load Balancer. Een daarvan is het verwerken van uitgaand verkeer naar het openbare eindpunt. Zie Load Balancer SKU-vergelijking voor volledige Basic- en Standard-SKU-vergelijking van load balancers.

Wanneer VM's zonder openbare IP-adressen worden geplaatst in de back-endpool van interne (geen openbaar IP-adres) Standard Azure-load balancer, is er geen uitgaande connectiviteit met openbare eindpunten, tenzij er aanvullende configuratie wordt 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 bevindt, 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, waarvoor uitgaande connectiviteit van de VM naar openbare eindpunten is vereist.

Voorbeelden van scenario's waarbij toegang tot het openbare eindpunt van Azure is vereist, zijn:

  • Azure Fence Agent vereist toegang tot management.azure.com en login.microsoftonline.com
  • Azure Backup
  • Azure Site Recovery
  • Openbare opslagplaats gebruiken voor het patchen van het besturingssysteem
  • De gegevensstroom van de SAP-toepassing vereist mogelijk uitgaande connectiviteit met het openbare eindpunt

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 interne standaard-SKU-Azure Load Balancer te maken voor uw scenario met hoge beschikbaarheid, ervan uitgaande dat er ook geen inkomende connectiviteit vanaf openbare eindpunten nodig is.

Notitie

Wanneer VM's zonder openbare IP-adressen worden geplaatst in de back-endpool van interne (geen openbaar IP-adres) Standard Azure-load balancer, 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 bevinden, heeft de VIRTUELE machine al uitgaande connectiviteit met openbare eindpunten.

Lees eerst de volgende documenten:

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

Een optie om uitgaande connectiviteit met openbare eindpunten tot stand te brengen, zonder binnenkomende connectiviteit met de VIRTUELE machine vanaf het openbare 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 beheren die toegankelijk zijn voor uitgaande aanroepen vanaf de virtuele machine.
Zie Scenario 2 in het document Uitgaande verbindingen voor meer informatie.
De configuratie ziet er als volgt uit:

Connectiviteit met openbare eindpunten beheren met netwerkbeveiligingsgroepen

Belangrijke overwegingen

  • U kunt één extra openbare Load Balancer gebruiken voor meerdere VM's in hetzelfde subnet om uitgaande connectiviteit met het openbare 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 via een gecentraliseerde bedrijfsoplossing te laten passeren voor controle en logboekregistratie, kunt u mogelijk niet voldoen aan de vereiste met dit scenario.

Tip

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

Implementatiestappen

  1. Load balancer maken

    1. Klik in de Azure Portal op Alle resources, Op Toevoegen en zoek vervolgens 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 op als een naam MyPublicILBFrondEndIP
    6. Selecteer Zoneredundant 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. Selecteer het virtuele netwerk
    2. Selecteer de VM's en hun IP-adressen en voeg ze toe aan de back-endpool
  3. Uitgaande regels maken.

     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. Maak netwerkbeveiligingsgroepsregels 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 Management API inschakelt:

    1. Navigeer naar de netwerkbeveiligingsgroep
    2. Klik op Uitgaande beveiligingsregels
    3. Voeg een regel toe aan Alle uitgaande toegang tot internetweigeren.
    4. Voeg een regel toe aan Toegang tot AzureCloudtoestaan, met een prioriteit die lager is dan de prioriteit van de regel om alle internettoegang te weigeren.

    De uitgaande beveiligingsregels zien er als volgt 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 inkomende connectiviteit met de VIRTUELE machine vanaf openbare eindpunten toe te staan, is met Azure Firewall. Azure Firewall is een beheerde service, met ingebouwde hoge beschikbaarheid en kan meerdere Beschikbaarheidszones omvatten.
U moet ook een door de gebruiker gedefinieerde route implementeren die is gekoppeld aan het subnet waar VM's en de Azure-load balancer worden geïmplementeerd, waarbij wordt verwijst naar de Azure-firewall, om verkeer te routeren via de Azure Firewall.
Zie Azure Firewall implementeren en configureren voor meer informatie over het implementeren van Azure Firewall.

De architectuur ziet er als volgt uit:

Uitgaande verbinding met Azure Firewall

Belangrijke overwegingen

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

Tip

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

Implementatiestappen

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

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

    1. Ga in Azure Portal naar de Virtual Network: klik op Alle resources, zoek naar de Virtual Network, klik op de Virtual Network en 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 in Azure Portal Alle resources, klik op Toevoegen, Firewall, Maken. Selecteer Resourcegroep (selecteer dezelfde resourcegroep, waar de Virtual Network zich bevindt).
    2. Voer de naam in voor de Azure Firewall resource. Bijvoorbeeld MyAzureFirewall.
    3. Selecteer Regio en selecteer ten minste twee beschikbaarheidszones, afgestemd op de beschikbaarheidszones waarin 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-regel om uitgaande connectiviteit met opgegeven openbare eindpunten toe te staan. In het voorbeeld ziet u hoe u toegang tot het openbare eindpunt van de Azure Management API toestaat.

    1. Selecteer Regels, Netwerkregelverzameling en klik vervolgens op Netwerkregelverzameling toevoegen.
    2. Naam: MyOutboundRule, voer Prioriteit in en 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 bijvoorbeeld worden geïmplementeerd: 11.97.0.0/24. Doelpoorten: voer in *.
    4. Opslaan
    5. Aangezien u zich nog steeds op de Azure Firewall bevindt, selecteert u Overzicht. Noteer het privé-IP-adres van de Azure Firewall.
  5. Route naar Azure Firewall maken

    1. Selecteer in Azure Portal Alle resources en klik vervolgens op Toevoegen, Routeringstabel, Maken.
    2. Voer Naam MyRouteTable in, selecteer Abonnement, Resourcegroep en Locatie (overeenkomend met de locatie van uw virtuele netwerk en firewall).
    3. Opslaan

    De firewallregel ziet er als volgt 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. Wanneer u zich in de routetabel bevindt, klikt u op Routes. Selecteer Toevoegen.
    2. Routenaam: ToMyAzureFirewall, adresvoorvoegsel: 0.0.0.0/0. Volgend hoptype: Selecteer Virtueel apparaat. Volgende hopadres: 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 Management API

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

Belangrijke overwegingen

  • Als er al een bedrijfsproxy is, kunt u uitgaande aanroepen via deze proxy routeren naar openbare eindpunten. Uitgaande aanroepen naar openbare eindpunten gaan via het bedrijfsbeheerpunt.
  • 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 van de VM's naar de proxy is
  • Proxy verwerkt alleen HTTP-/HTTPS-aanroepen. Als er extra uitgaande aanroepen naar het openbare eindpunt moeten worden uitgevoerd via verschillende protocollen (zoals RFC), is er een alternatieve oplossing nodig
  • De proxyoplossing moet maximaal beschikbaar zijn om instabiliteit in het Pacemaker-cluster te voorkomen
  • Afhankelijk van de locatie van de proxy kan dit leiden tot extra latentie in de aanroepen van de Azure Fence-agent naar de Azure Management-API. Als uw bedrijfsproxy zich nog steeds on-premises bevindt terwijl uw Pacemaker-cluster zich in Azure bevindt, meet u de latentie en kijkt u of deze oplossing geschikt is voor u
  • Als er nog geen maximaal beschikbare bedrijfsproxy is, raden we deze optie niet aan, omdat de klant extra kosten en complexiteit zou moeten maken. 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 maximaal beschikbaar is en dat de latentie van de VM's naar de proxy laag is.

Pacemaker-configuratie met proxy

Er zijn veel verschillende proxyopties beschikbaar in de branche. Stapsgewijze 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 Azure-beheer-API:

  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=false
    
  • 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 een op URL gebaseerde firewallproxy van derden:

  • 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
  • Zie Azure Public Cloud Update Infrastructure 101 als u de update-infrastructuur van de openbare Azure-cloud gebruikt voor het toepassen van updates en patches van SUSE

Volgende stappen