Offentlig slutpunktsanslutning för Virtual Machines med Azure Standard Load Balancer i SAP-scenarier med hög tillgänglighet

Omfånget för den här artikeln är att beskriva konfigurationer som möjliggör utgående anslutning till offentliga slutpunkter. Konfigurationerna är främst i samband med hög tillgänglighet med Pacemaker för SUSE/RHEL.

Om du använder Pacemaker med Azure Fence-agenten i din lösning för hög tillgänglighet måste de virtuella datorerna ha utgående anslutning till Azure-hanterings-API:et. Artikeln innehåller flera alternativ så att du kan välja det alternativ som passar bäst för ditt scenario.

Översikt

När du implementerar hög tillgänglighet för SAP-lösningar via klustring är en av de nödvändiga komponenterna Azure Load Balancer. Azure erbjuder två SKU:er för lastbalanserare: standard och basic.

Standard Azure-lastbalanseraren erbjuder vissa fördelar jämfört med Basic-lastbalanseraren. Den fungerar till exempel i flera Azure-tillgänglighetszoner och har bättre övervaknings- och loggningsfunktioner för enklare felsökning, kortare svarstider. Funktionen "HA-portar" omfattar alla portar, d.v.s. det är inte längre nödvändigt att lista alla enskilda portar.

Det finns några viktiga skillnader mellan basic- och standard-SKU:n för Azure-lastbalanseraren. En av dem är hanteringen av utgående trafik till den offentliga slutpunkten. Fullständig jämförelse av basic- och standard-SKU-lastbalanserare finns i Load Balancer SKU-jämförelse.

När virtuella datorer utan offentliga IP-adresser placeras i serverdelspoolen för intern (ingen offentlig IP-adress) Standard Azure-lastbalanserare finns det ingen utgående anslutning till offentliga slutpunkter, såvida inte ytterligare konfiguration görs.

Om en virtuell dator tilldelas en offentlig IP-adress, eller om den virtuella datorn finns i serverdelspoolen för en lastbalanserare med en offentlig IP-adress, kommer den att ha utgående anslutning till offentliga slutpunkter.

SAP-system innehåller ofta känsliga affärsdata. Det är sällan acceptabelt att virtuella datorer som är värdar för SAP-system är tillgängliga via offentliga IP-adresser. Samtidigt finns det scenarier som kräver utgående anslutning från den virtuella datorn till offentliga slutpunkter.

Exempel på scenarier som kräver åtkomst till den offentliga Azure-slutpunkten är:

  • Azure Fence Agent kräver åtkomst till management.azure.com och login.microsoftonline.com
  • Azure Backup
  • Azure Site Recovery
  • Använda den offentliga lagringsplatsen för att korrigera operativsystemet
  • SAP-programmets dataflöde kan kräva utgående anslutning till den offentliga slutpunkten

Om sap-distributionen inte kräver utgående anslutning till offentliga slutpunkter behöver du inte implementera den ytterligare konfigurationen. Det räcker att skapa en intern standard-SKU Azure Load Balancer för ditt scenario med hög tillgänglighet, förutsatt att det inte heller finns något behov av inkommande anslutningar från offentliga slutpunkter.

Anteckning

När virtuella datorer utan offentliga IP-adresser placeras i serverdelspoolen för intern (ingen offentlig IP-adress) Standard Azure-lastbalanserare, finns det ingen utgående Internetanslutning, såvida inte ytterligare konfiguration utförs för att tillåta routning till offentliga slutpunkter.
Om de virtuella datorerna antingen har offentliga IP-adresser eller redan finns i serverdelspoolen i Azure Load Balancer med en offentlig IP-adress, har den virtuella datorn redan utgående anslutning till offentliga slutpunkter.

Läs följande artiklar först:

Alternativ 1: Ytterligare externa Azure-Standard Load Balancer för utgående anslutningar till Internet

Ett alternativ för att uppnå utgående anslutning till offentliga slutpunkter, utan att tillåta inkommande anslutning till den virtuella datorn från den offentliga slutpunkten, är att skapa en andra lastbalanserare med en offentlig IP-adress, lägga till de virtuella datorerna i serverdelspoolen för den andra lastbalanseraren och endast definiera regler för utgående trafik.
Använd nätverkssäkerhetsgrupper för att styra de offentliga slutpunkter som är tillgängliga för utgående anrop från den virtuella datorn.
Mer information finns i Scenario 2 i dokumentet Utgående anslutningar.
Konfigurationen skulle se ut så här:

Kontrollera anslutningen till offentliga slutpunkter med nätverkssäkerhetsgrupper

Att tänka på

  • Du kan använda ytterligare en offentlig Load Balancer för flera virtuella datorer i samma undernät för att uppnå utgående anslutning till offentlig slutpunkt och optimera kostnaden
  • Använd nätverkssäkerhetsgrupper för att styra vilka offentliga slutpunkter som är tillgängliga från de virtuella datorerna. Du kan tilldela nätverkssäkerhetsgruppen antingen till undernätet eller till varje virtuell dator. Använd om möjligt tjänsttaggar för att minska komplexiteten i säkerhetsreglerna.
  • Azures standardlastbalanserare med offentlig IP-adress och regler för utgående trafik ger direkt åtkomst till offentlig slutpunkt. Om du har företagets säkerhetskrav för att all utgående trafik ska passera via en centraliserad företagslösning för granskning och loggning kanske du inte kan uppfylla kravet i det här scenariot.

Tips

Om möjligt kan du använda tjänsttaggar för att minska komplexiteten i nätverkssäkerhetsgruppen .

Distributionssteg

  1. Skapa Load Balancer

    1. I Azure Portal klickar du på Alla resurser, Lägg till och söker sedan efter Load Balancer
    2. Klicka på Skapa
    3. Load Balancer namnet MyPublicILB
    4. Välj Offentlig som typ, Standard som SKU
    5. Välj Skapa offentlig IP-adress och ange som namn MyPublicILBFrondEndIP
    6. Välj Zonredundant som tillgänglighetszon
    7. Klicka på Granska och skapa och klicka sedan på Skapa
  2. Skapa serverdelspoolen MyBackendPoolOfPublicILB och lägg till de virtuella datorerna.

    1. Välj det virtuella nätverket
    2. Välj de virtuella datorerna och deras IP-adresser och lägg till dem i serverdelspoolen
  3. Skapa regler för utgående trafik.

     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. Skapa regler för nätverkssäkerhetsgrupp för att begränsa åtkomsten till specifika offentliga slutpunkter. Om det finns en befintlig nätverkssäkerhetsgrupp kan du justera den. Exemplet nedan visar hur du aktiverar åtkomst till Azure-hanterings-API:et:

    1. Gå till nätverkssäkerhetsgruppen
    2. Klicka på Utgående säkerhetsregler
    3. Lägg till en regel för att neka all utgående åtkomst till Internet.
    4. Lägg till en regel i Tillåt åtkomst till AzureCloud, med lägre prioritet än regelns prioritet för att neka all Internetåtkomst.

    De utgående säkerhetsreglerna skulle se ut så här:

    Utgående anslutning med andra Load Balancer med offentlig IP-adress

    Mer information om Azure-nätverkssäkerhetsgrupper finns i Säkerhetsgrupper .

Alternativ 2: Azure Firewall för utgående anslutningar till Internet

Ett annat alternativ för att uppnå utgående anslutning till offentliga slutpunkter, utan att tillåta inkommande anslutning till den virtuella datorn från offentliga slutpunkter, är med Azure Firewall. Azure Firewall är en hanterad tjänst med inbyggd hög tillgänglighet och kan sträcka sig över flera Tillgänglighetszoner.
Du måste också distribuera användardefinierad väg som är associerad med undernätet där virtuella datorer och Azure-lastbalanseraren distribueras, som pekar på Azure-brandväggen, för att dirigera trafik genom Azure Firewall.
Mer information om hur du distribuerar Azure Firewall finns i Distribuera och konfigurera Azure Firewall.

Arkitekturen skulle se ut så här:

Utgående anslutning med Azure Firewall

Att tänka på

  • Azure Firewall är en molnbaserad tjänst med inbyggd hög tillgänglighet och har stöd för zonindelad distribution.
  • Kräver ytterligare undernät som måste ha namnet AzureFirewallSubnet.
  • Om överföring av stora datauppsättningar utgående från det virtuella nätverket där de virtuella SAP-datorerna finns, till en virtuell dator i ett annat virtuellt nätverk eller till en offentlig slutpunkt, kanske det inte är en kostnadseffektiv lösning. Ett sådant exempel är att kopiera stora säkerhetskopior över virtuella nätverk. Mer information finns i Azure Firewall prissättning.
  • Om företagets brandväggslösning inte är Azure Firewall och du har säkerhetskrav för att all utgående trafik ska passera genom centraliserad företagslösning kanske den här lösningen inte är praktisk.

Tips

Använd om möjligt tjänsttaggar för att minska komplexiteten i de Azure Firewall reglerna.

Distributionssteg

  1. Distributionsstegen förutsätter att du redan har definierat virtuellt nätverk och undernät för dina virtuella datorer.

  2. Skapa undernätet AzureFirewallSubnet i samma Virtual Network, där VMS och Standard Load Balancer distribueras.

    1. I Azure Portal navigerar du till Virtual Network: Klicka på Alla resurser, sök efter Virtual Network, klicka på Virtual Network och välj undernät.
    2. Klicka på Lägg till undernät. Ange AzureFirewallSubnet som Namn. Ange lämpligt adressintervall. Spara.
  3. Skapa Azure Firewall.

    1. I Azure Portal väljer du Alla resurser, klickar på Lägg till, Brandvägg, Skapa. Välj Resursgrupp (välj samma resursgrupp, där Virtual Network finns).
    2. Ange namnet på den Azure Firewall resursen. Till exempel MyAzureFirewall.
    3. Välj Region och välj minst två tillgänglighetszoner, justerade med de tillgänglighetszoner där dina virtuella datorer distribueras.
    4. Välj din Virtual Network, där de virtuella SAP-datorerna och Azure Standard Load Balancer distribueras.
    5. Offentlig IP-adress: Klicka på Skapa och ange ett namn. Till exempel MyFirewallPublicIP.
  4. Skapa Azure Firewall regel för att tillåta utgående anslutning till angivna offentliga slutpunkter. Exemplet visar hur du tillåter åtkomst till den offentliga slutpunkten för Azure Management-API:et.

    1. Välj Regler, Nätverksregelsamling och klicka sedan på Lägg till nätverksregelsamling.
    2. Namn: MyOutboundRule, ange Prioritet, Välj Åtgärd Tillåt.
    3. Tjänst: Namn påAzureAPI. Protokoll: Välj Valfritt. Källadress: Ange intervallet för ditt undernät, där de virtuella datorerna och Standard Load Balancer distribueras till exempel: 11.97.0.0/24. Målportar: ange *.
    4. Spara
    5. När du fortfarande är placerad på Azure Firewall väljer du Översikt. Anteckna den privata IP-adressen för Azure Firewall.
  5. Skapa väg till Azure Firewall

    1. I Azure Portal väljer du Alla resurser och klickar sedan på Lägg till, Routningstabell, Skapa.
    2. Ange Namn MyRouteTable, välj Prenumeration, Resursgrupp och Plats (matchar platsen för ditt virtuella nätverk och brandväggen).
    3. Spara

    Brandväggsregeln skulle se ut så här: Diagram som visar hur brandväggen skulle se ut.

  6. Skapa användardefinierad väg från undernätet för dina virtuella datorer till den privata IP-adressen för MyAzureFirewall.

    1. När du är placerad i routningstabellen klickar du på Vägar. Välj Lägg till.
    2. Vägnamn: ToMyAzureFirewall, Adressprefix: 0.0.0.0/0. Nästa hopptyp: Välj Virtuell installation. Nästa hoppadress: Ange den privata IP-adressen för brandväggen som du konfigurerade: 11.97.1.4.
    3. Spara

Alternativ 3: Använda proxy för Pacemaker-anrop till Azure Management API

Du kan använda proxy för att tillåta Pacemaker-anrop till den offentliga slutpunkten för Azure Management API.

Att tänka på

  • Om det redan finns en företagsproxy på plats kan du dirigera utgående anrop till offentliga slutpunkter genom den. Utgående anrop till offentliga slutpunkter går via företagets kontrollpunkt.
  • Kontrollera att proxykonfigurationen tillåter utgående anslutning till Azure Management API: https://management.azure.com och https://login.microsoftonline.com
  • Kontrollera att det finns en väg från de virtuella datorerna till proxyn
  • Proxyn hanterar endast HTTP/HTTPS-anrop. Om det finns ytterligare behov av att göra utgående anrop till en offentlig slutpunkt via olika protokoll (till exempel RFC) behövs en alternativ lösning
  • Proxylösningen måste ha hög tillgänglighet för att undvika instabilitet i pacemakerklustret
  • Beroende på proxyns plats kan det medföra ytterligare svarstider i anropen från Azure Fence Agent till Azure Management-API:et. Om din företagsproxy fortfarande finns lokalt, medan pacemakerklustret finns i Azure, mäter du svarstiden och överväger om den här lösningen är lämplig för dig
  • Om det inte redan finns en företagsproxy med hög tillgänglighet rekommenderar vi inte det här alternativet eftersom kunden skulle medföra extra kostnader och komplexitet. Men om du bestämmer dig för att distribuera ytterligare proxylösning för att tillåta utgående anslutningar från Pacemaker till offentligt API för Azure Management kontrollerar du att proxyn har hög tillgänglighet och att svarstiden från de virtuella datorerna till proxyn är låg.

Pacemakerkonfiguration med proxy

Det finns många olika proxyalternativ i branschen. Stegvisa instruktioner för proxydistributionen ligger utanför omfånget för det här dokumentet. I exemplet nedan förutsätter vi att proxyn svarar på MyProxyService och lyssnar på porten MyProxyPort.
Om du vill tillåta pacemaker att kommunicera med Azure Management API utför du följande steg på alla klusternoder:

  1. Redigera pacemakerkonfigurationsfilen /etc/sysconfig/pacemaker och lägg till följande rader (alla klusternoder):

    sudo vi /etc/sysconfig/pacemaker
    # Add the following lines
    http_proxy=http://MyProxyService:MyProxyPort
    https_proxy=http://MyProxyService:MyProxyPort
    
  2. Starta om pacemakertjänsten på alla klusternoder.

  • 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
    

Andra alternativ

Om utgående trafik dirigeras via tredje part, URL-baserad brandväggsproxy:

  • om du använder Azure Fence-agenten kontrollerar du att brandväggskonfigurationen tillåter utgående anslutning till Azure-hanterings-API:et: https://management.azure.com och https://login.microsoftonline.com
  • om du använder SUSE:s offentliga molnuppdateringsinfrastruktur i Azure för att tillämpa uppdateringar och korrigeringar läser du Azure Public Cloud Update Infrastructure 101

Nästa steg