Publiczna łączność punktu końcowego dla maszyn wirtualnych przy użyciu Azure Standard Load Balancer w scenariuszach wysokiej dostępności SAP
Zakresem tego artykułu jest opisanie konfiguracji, które umożliwią łączność wychodzącą z publicznymi punktami końcowymi. Konfiguracje są głównie w kontekście Wysokiej Dostępności z Pacemaker dla SUSE / RHEL.
Jeśli używasz programu Pacemaker z agentem ogrodzenia platformy Azure w rozwiązaniu o wysokiej dostępności, maszyny wirtualne muszą mieć łączność wychodzącą z interfejsem API zarządzania platformy Azure. W artykule przedstawiono kilka opcji umożliwiających wybranie opcji, która jest najbardziej odpowiednia dla danego scenariusza.
Przegląd
Podczas implementowania wysokiej dostępności dla rozwiązań SAP za pośrednictwem klastrowania jednym z niezbędnych składników jest usługa Azure Load Balancer. Platforma Azure oferuje dwie jednostki SKU modułu równoważenia obciążenia: standardowa i podstawowa.
Moduł równoważenia obciążenia platformy Azure w warstwie Standardowa oferuje pewne korzyści w porównaniu z modułem równoważenia obciążenia w warstwie Podstawowa. Na przykład działa ona w różnych strefach dostępności platformy Azure, ma lepsze możliwości monitorowania i rejestrowania w celu łatwiejszego rozwiązywania problemów, mniejszego opóźnienia. Funkcja "Porty wysokiej dostępności" obejmuje wszystkie porty, czyli nie jest już konieczne, aby wyświetlić listę wszystkich poszczególnych portów.
Istnieją pewne ważne różnice między podstawową i standardową jednostkę SKU modułu równoważenia obciążenia platformy Azure. Jednym z nich jest obsługa ruchu wychodzącego do publicznego punktu końcowego. Aby uzyskać pełne porównanie modułu równoważenia obciążenia w warstwie Podstawowa i Standardowa, zobacz Porównanie jednostek SKU usługi Load Balancer.
Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) standardowego modułu równoważenia obciążenia platformy Azure, nie ma łączności wychodzącej z publicznymi punktami końcowymi, chyba że zostanie wykonana dodatkowa konfiguracja.
Jeśli maszyna wirtualna ma przypisany publiczny adres IP lub maszyna wirtualna znajduje się w puli zaplecza modułu równoważenia obciążenia z publicznym adresem IP, będzie mieć łączność wychodzącą z publicznymi punktami końcowymi.
Systemy SAP często zawierają poufne dane biznesowe. Rzadko dopuszczalne jest, aby maszyny wirtualne hostowania systemów SAP były dostępne za pośrednictwem publicznych adresów IP. Jednocześnie istnieją scenariusze, które wymagają łączności wychodzącej z maszyny wirtualnej do publicznych punktów końcowych.
Przykłady scenariuszy wymagających dostępu do publicznego punktu końcowego platformy Azure to:
- Agent ogrodzenia platformy Azure wymaga dostępu do management.azure.com i login.microsoftonline.com
- Azure Backup
- Azure Site Recovery
- Używanie publicznego repozytorium do stosowania poprawek systemu operacyjnego
- Przepływ danych aplikacji SAP może wymagać łączności wychodzącej z publicznym punktem końcowym
Jeśli wdrożenie sap nie wymaga łączności wychodzącej z publicznymi punktami końcowymi, nie musisz implementować dodatkowej konfiguracji. Wystarczy utworzyć wewnętrzną standardową jednostkę SKU Azure Load Balancer dla scenariusza wysokiej dostępności, zakładając, że nie ma również potrzeby łączności przychodzącej z publicznych punktów końcowych.
Uwaga
Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) standardowego modułu równoważenia obciążenia platformy Azure, nie będzie żadnych wychodzących połączeń internetowych, chyba że zostanie wykonana dodatkowa konfiguracja umożliwiająca routing do publicznych punktów końcowych.
Jeśli maszyny wirtualne mają publiczne adresy IP lub znajdują się już w puli zaplecza usługi Azure Load Balancer z publicznym adresem IP, maszyna wirtualna będzie już mieć łączność wychodzącą z publicznymi punktami końcowymi.
Najpierw przeczytaj następujące dokumenty:
- Azure Standard Load Balancer
- Omówienie usługi Azure Standard Load Balancer — kompleksowe omówienie usługi Azure Standard Load Balancer, ważnych zasad, pojęć i samouczków
- Połączenia wychodzące na platformie Azure — scenariusze dotyczące uzyskiwania łączności wychodzącej na platformie Azure
- Reguły ruchu wychodzącego modułu równoważenia obciążenia — objaśnienie pojęć dotyczących reguł ruchu wychodzącego modułu równoważenia obciążenia i sposobu tworzenia reguł ruchu wychodzącego
- Azure Firewall
- Omówienie usługi Azure Firewall — omówienie usługi Azure Firewall
- Samouczek: wdrażanie i konfigurowanie usługi Azure Firewall — instrukcje dotyczące konfigurowania usługi Azure Firewall za pośrednictwem witryny Azure Portal
- Reguły zdefiniowane dla sieci wirtualnych -User — pojęcia i reguły routingu platformy Azure
- Tagi usług grup zabezpieczeń — jak uprościć konfigurację sieciowych grup zabezpieczeń i zapory sieciowej przy użyciu tagów usług
Opcja 1. Dodatkowy zewnętrzny Azure Standard Load Balancer dla połączeń wychodzących do Internetu
Jedną z opcji osiągnięcia łączności wychodzącej z publicznymi punktami końcowymi bez zezwalania na łączność przychodzącą z maszyną wirtualną z publicznego punktu końcowego jest utworzenie drugiego modułu równoważenia obciążenia z publicznym adresem IP, dodanie maszyn wirtualnych do puli zaplecza drugiego modułu równoważenia obciążenia i zdefiniowanie tylko reguł ruchu wychodzącego.
Użyj sieciowych grup zabezpieczeń , aby kontrolować publiczne punkty końcowe, które są dostępne dla wywołań wychodzących z maszyny wirtualnej.
Aby uzyskać więcej informacji, zobacz Scenariusz 2 w dokumencie Połączenia wychodzące.
Konfiguracja będzie wyglądać następująco:
Ważne uwagi
- Możesz użyć jednego dodatkowego publicznego modułu równoważenia obciążenia dla wielu maszyn wirtualnych w tej samej podsieci, aby uzyskać łączność wychodzącą z publicznym punktem końcowym i zoptymalizować koszt
- Użyj sieciowych grup zabezpieczeń , aby kontrolować, które publiczne punkty końcowe są dostępne z maszyn wirtualnych. Możesz przypisać Grupę zabezpieczeń sieci do podsieci lub do każdej maszyny wirtualnej. Jeśli to możliwe, użyj tagów usługi , aby zmniejszyć złożoność reguł zabezpieczeń.
- Standardowy moduł równoważenia obciążenia platformy Azure z publicznym adresem IP i regułami ruchu wychodzącego umożliwia bezpośredni dostęp do publicznego punktu końcowego. Jeśli masz wymagania dotyczące zabezpieczeń firmy, aby cały ruch wychodzący był przekazywany za pośrednictwem scentralizowanego rozwiązania firmowego do inspekcji i rejestrowania, może nie być w stanie spełnić wymagań w tym scenariuszu.
Wskazówka
Jeśli to możliwe, użyj tagów usługi , aby zmniejszyć złożoność sieciowej grupy zabezpieczeń .
Kroki wdrażania
Tworzenie modułu równoważenia obciążenia
- W witrynie Azure Portal kliknij pozycję Wszystkie zasoby, Dodaj, a następnie wyszukaj pozycję Moduł równoważenia obciążenia
- Kliknij pozycję Utwórz
- Nazwa modułu równoważenia obciążenia MyPublicILB
- Wybierz Publiczny jako typ, Standard jako SKU
- Wybierz opcję Utwórz publiczny adres IP i określ jako nazwę MyPublicILBFrontEndIP
- Wybierz strefę nadmiarową jako strefę dostępności
- Kliknij Przejrzyj i utwórz, a następnie kliknij Utwórz.
Utwórz pulę zaplecza MyBackendPoolOfPublicILB i dodaj maszyny wirtualne.
- Wybierz sieć wirtualną
- Wybierz maszyny wirtualne i ich adresy IP i dodaj je do puli zaplecza
Stwórz reguły ruchu wychodzącego.
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
Utwórz reguły grupy zabezpieczeń sieciowych, aby ograniczyć dostęp do określonych publicznych punktów końcowych. Jeśli istnieje sieciowa grupa zabezpieczeń, możesz ją dostosować. W poniższym przykładzie pokazano, jak włączyć dostęp do interfejsu API zarządzania platformy Azure:
- Przejdź do sieciowej grupy zabezpieczeń
- Kliknij pozycję Reguły zabezpieczeń dla ruchu wychodzącego
- Dodaj regułę, aby odmówić dostępu wychodzącego do Internetu.
- Dodaj regułę zezwalającą na dostęp do AzureCloud z priorytetem niższym niż priorytet reguły blokującej cały dostęp do Internetu.
Reguły zabezpieczeń dla ruchu wychodzącego wyglądają następująco:
Aby uzyskać więcej informacji na temat sieciowych grup zabezpieczeń platformy Azure, zobacz Grupy zabezpieczeń .
Opcja 2. Usługa Azure Firewall dla połączeń wychodzących z Internetem
Inną opcją osiągnięcia łączności wychodzącej z publicznymi punktami końcowymi bez zezwalania na łączność przychodzącą z maszyny wirtualnej z publicznych punktów końcowych jest użycie usługi Azure Firewall. Azure Firewall to usługa zarządzana z wbudowaną wysoką dostępnością i może obejmować wiele stref dostępności.
Należy również wdrożyć trasę zdefiniowaną przez użytkownika, skojarzoną z podsiecią, w której są wdrażane maszyny wirtualne oraz równoważnik obciążenia platformy Azure, wskazując zaporę platformy Azure, aby kierować ruch za pośrednictwem usługi Azure Firewall.
Aby uzyskać szczegółowe informacje na temat wdrażania usługi Azure Firewall, zobacz Wdrażanie i konfigurowanie usługi Azure Firewall.
Architektura wygląda następująco:
Ważne uwagi
- Usługa Azure Firewall to natywna usługa w chmurze z wbudowaną wysoką dostępnością i obsługuje wdrożenie strefowe.
- Wymaga dodatkowej podsieci, która musi mieć nazwę AzureFirewallSubnet.
- W przypadku transferu dużych zestawów danych wychodzących z sieci wirtualnej, w której znajdują się maszyny wirtualne SAP, do maszyny wirtualnej w innej sieci wirtualnej lub do publicznego punktu końcowego, rozwiązanie może nie być opłacalne. Jednym z takich przykładów jest kopiowanie dużych kopii zapasowych w sieciach wirtualnych. Aby uzyskać szczegółowe informacje, zobacz Cennik usługi Azure Firewall.
- Jeśli rozwiązanie zapory firmowej nie jest Azure Firewall, a masz wymagania dotyczące tego, aby cały ruch wychodzący przechodził przez scentralizowane rozwiązanie firmowe, może to nie być praktyczne.
Wskazówka
Jeśli to możliwe, użyj tagów usługi , aby zmniejszyć złożoność reguł usługi Azure Firewall.
Kroki wdrażania
W krokach wdrażania założono, że masz już sieć wirtualną i podsieć zdefiniowaną dla maszyn wirtualnych.
Utwórz podsieć AzureFirewallSubnet w tej samej sieci wirtualnej, w której wdrożono maszyny wirtualne i moduł równoważenia obciążenia Standardowego.
- W witrynie Azure Portal przejdź do sieci wirtualnej: kliknij pozycję Wszystkie zasoby, wyszukaj sieć wirtualną, kliknij sieć wirtualną, wybierz podsieci.
- Kliknij pozycję Dodaj podsieć. Wprowadź AzureFirewallSubnet jako Nazwa. Wprowadź odpowiedni zakres adresów. Zapisz
Utwórz usługę Azure Firewall.
- W witrynie Azure Portal wybierz pozycję Wszystkie zasoby, kliknij pozycję Dodaj, Zapora, Utwórz. Wybierz pozycję Grupa zasobów (wybierz tę samą grupę zasobów, w której znajduje się sieć wirtualna).
- Wprowadź nazwę zasobu usługi Azure Firewall. Na przykład MyAzureFirewall.
- Wybierz pozycję Region i wybierz co najmniej dwie strefy dostępności dopasowane do stref dostępności, w których są wdrażane maszyny wirtualne.
- Wybierz sieć wirtualną, w której są wdrażane maszyny wirtualne SAP i moduł równoważenia obciążenia w warstwie Standardowa platformy Azure.
- Publiczny adres IP: kliknij pozycję Utwórz i wprowadź nazwę. Na przykład MyFirewallPublicIP.
Utwórz regułę usługi Azure Firewall, aby zezwolić na łączność wychodzącą z określonymi publicznymi punktami końcowymi. W przykładzie pokazano, jak zezwolić na dostęp do publicznego punktu końcowego interfejsu API usługi Azure Management.
- Wybierz pozycję Reguły, Kolekcja reguł sieciowych, a następnie kliknij pozycję Dodaj kolekcję reguł sieciowych.
- Nazwa: MyOutboundRule, wprowadź priorytet, wybierz Zezwalaj.
- Usługa: Nazwa ToAzureAPI. Protokół: wybierz dowolny. Adres źródłowy: wprowadź zakres podsieci, w którym maszyny wirtualne i standardowy moduł równoważenia obciążenia są wdrażane, na przykład: 11.97.0.0/24. Porty docelowe: wprowadź *.
- Zapisz
- Ponieważ nadal jesteś umieszczony w usłudze Azure Firewall, wybierz pozycję Przegląd. Zanotuj prywatny adres IP usługi Azure Firewall.
Tworzenie trasy do usługi Azure Firewall
- W witrynie Azure Portal wybierz pozycję Wszystkie zasoby, a następnie kliknij pozycję Dodaj, Tabela tras, Utwórz.
- Wprowadź nazwę MyRouteTable, wybierz pozycję Subskrypcja, Grupa zasobów i Lokalizacja (pasujące do lokalizacji sieci wirtualnej i zapory).
- Zapisz
Reguła zapory wyglądałaby następująco:
Utwórz trasę zdefiniowaną przez użytkownika z podsieci maszyn wirtualnych do prywatnego adresu IP aplikacji MyAzureFirewall.
- Po ustawieniu się w tabeli tras kliknij Trasy. Wybierz Dodaj.
- Nazwa trasy: ToMyAzureFirewall, prefiks adresu: 0.0.0.0/0. Typ następnego przeskoku: wybierz pozycję Urządzenie wirtualne. Adres następnego przeskoku: wprowadź prywatny adres IP zapory sieciowej, którą skonfigurowałeś: 11.97.1.4.
- Zapisz
Opcja 3: Używanie proxy dla wywołań Pacemaker do interfejsu API Azure Management
Możesz użyć serwera proxy, aby zezwolić na wywołania programu Pacemaker do publicznego punktu końcowego interfejsu API zarządzania platformy Azure.
Ważne uwagi
- Jeśli istnieje już firmowy serwer proxy, możesz kierować połączenia wychodzące do publicznych punktów końcowych. Połączenia wychodzące do publicznych punktów końcowych przejdą przez punkt kontrolny firmy.
- Upewnij się, że konfiguracja serwera proxy zezwala na łączność wychodzącą z interfejsem API zarządzania platformy Azure:
https://management.azure.com
ihttps://login.microsoftonline.com
- Upewnij się, że istnieje trasa z maszyn wirtualnych do serwera proxy
- Serwer proxy będzie obsługiwać tylko wywołania HTTP/HTTPS. Jeśli istnieje dodatkowa potrzeba wykonania wywołań wychodzących do publicznego punktu końcowego za pośrednictwem różnych protokołów (takich jak RFC), konieczne będzie alternatywne rozwiązanie
- Rozwiązanie serwera proxy musi być wysoce dostępne, aby uniknąć niestabilności w klastrze Pacemaker
- W zależności od lokalizacji serwera proxy może to spowodować dodatkowe opóźnienie wywołań agenta usługi Azure Fence do interfejsu API usługi Azure Management. Jeśli serwer proxy firmy jest nadal w środowisku lokalnym, podczas gdy klaster Pacemaker znajduje się na platformie Azure, zmierz opóźnienie i rozważ, jeśli to rozwiązanie jest odpowiednie dla Ciebie
- Jeśli nie ma jeszcze serwera proxy firmowego o wysokiej dostępności, nie zalecamy tej opcji, ponieważ klient będzie ponosił dodatkowe koszty i złożoność. Niemniej jednak jeśli zdecydujesz się wdrożyć dodatkowe rozwiązanie serwera proxy, aby umożliwić łączność wychodzącą z usługi Pacemaker do publicznego interfejsu API usługi Azure Management, upewnij się, że serwer proxy jest wysoce dostępny, a opóźnienie maszyn wirtualnych do serwera proxy jest niskie.
Konfiguracja programu Pacemaker z serwerem proxy
Istnieje wiele różnych opcji serwera proxy dostępnych w branży. Instrukcje krok po kroku dotyczące wdrażania serwera proxy wykraczają poza zakres tego dokumentu. W poniższym przykładzie przyjęto założenie, że serwer proxy odpowiada na usługę MyProxyService i nasłuchuje portu MyProxyPort.
Aby umożliwić programowi pacemaker komunikowanie się z interfejsem API zarządzania platformy Azure, wykonaj następujące kroki we wszystkich węzłach klastra:
Edytuj plik konfiguracji pacemaker /etc/sysconfig/pacemaker i dodaj następujące wiersze (wszystkie węzły klastra):
sudo vi /etc/sysconfig/pacemaker # Add the following lines http_proxy=http://MyProxyService:MyProxyPort https_proxy=http://MyProxyService:MyProxyPort
Uruchom ponownie usługę pacemaker we wszystkich węzłach klastra.
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
Inne opcje
Jeśli ruch wychodzący jest kierowany za pośrednictwem serwera proxy zapory innej firmy opartego na adresach URL:
- Jeśli używasz agenta ogrodzenia platformy Azure, upewnij się, że konfiguracja zapory zezwala na łączność wychodzącą z interfejsem API zarządzania platformy Azure:
https://management.azure.com
ihttps://login.microsoftonline.com
- Jeśli używasz infrastruktury aktualizacji chmury publicznej platformy Azure do stosowania aktualizacji i poprawek, zobacz Infrastruktura aktualizacji chmury publicznej platformy Azure 101