Konfiguracja infrastruktury usługi Application Gateway
Infrastruktura bramy aplikacja systemu Azure obejmuje sieć wirtualną, podsieci, sieciowe grupy zabezpieczeń i trasy zdefiniowane przez użytkownika.
Sieć wirtualna i dedykowana podsieć
Brama aplikacji to dedykowane wdrożenie w sieci wirtualnej. W ramach sieci wirtualnej wymagana jest dedykowana podsieć dla bramy aplikacji. W podsieci można mieć wiele wystąpień określonego wdrożenia usługi Application Gateway. Możesz również wdrożyć inne bramy aplikacji w podsieci. Nie można jednak wdrożyć żadnego innego zasobu w podsieci usługi Application Gateway. Nie można mieszać jednostek SKU usługi Application Gateway w wersji 1 i 2 w tej samej podsieci.
Uwaga
Zasady punktu końcowego usługi dla sieci wirtualnej nie są obecnie obsługiwane w podsieci usługi Application Gateway.
Rozmiar podsieci
Usługa Application Gateway używa jednego prywatnego adresu IP na wystąpienie oraz innego prywatnego adresu IP, jeśli skonfigurowano prywatny adres IP frontonu.
Platforma Azure rezerwuje również pięć adresów IP w każdej podsieci do użytku wewnętrznego. Są to pierwsze cztery adresy i ostatnie adresy IP. Rozważmy na przykład 15 wystąpień usługi Application Gateway bez prywatnego adresu IP frontonu. Dla tej podsieci potrzebujesz co najmniej 20 adresów IP. Potrzebujesz 5 do użytku wewnętrznego i 15 dla wystąpień usługi Application Gateway.
Rozważ podsieć zawierającą 27 wystąpień usługi Application Gateway i adres IP prywatnego adresu IP frontonu. W takim przypadku potrzebne są 33 adresy IP. Musisz mieć 27 wystąpień usługi Application Gateway, jeden dla frontonu prywatnego i 5 do użytku wewnętrznego.
Usługa Application Gateway (jednostka SKU w warstwie Standardowa lub zapora aplikacji internetowej) może obsługiwać maksymalnie 32 wystąpienia (32 adresy IP wystąpień + 1 prywatną konfigurację adresu IP frontonu + 5 zarezerwowanych platformy Azure). Zalecamy minimalny rozmiar podsieci /26.
Usługa Application Gateway (Standard_v2 lub jednostka SKU WAF_v2) może obsługiwać maksymalnie 125 wystąpień (125 adresów IP wystąpień + 1 prywatną konfigurację adresu IP frontonu + 5 zarezerwowanych platformy Azure). Zalecamy minimalny rozmiar podsieci /24.
Aby określić dostępną pojemność podsieci, która ma aprowizowane bramy aplikacji, weź rozmiar podsieci i odejmij pięć zarezerwowanych adresów IP podsieci zarezerwowanej przez platformę. Następnie weź każdą bramę i odejmij maksymalną liczbę wystąpień. Dla każdej bramy, która ma konfigurację prywatnego adresu IP frontonu, odejmij jeszcze jeden adres IP na bramę.
Na przykład poniżej przedstawiono sposób obliczania dostępnego adresowania dla podsieci z trzema bramami o różnych rozmiarach:
- Brama 1: Maksymalnie 10 wystąpień. Używa konfiguracji prywatnego adresu IP frontonu.
- Brama 2: Maksymalnie 2 wystąpienia. Brak konfiguracji prywatnego adresu IP frontonu.
- Brama 3: Maksymalnie 15 wystąpień. Używa konfiguracji prywatnego adresu IP frontonu.
- Rozmiar podsieci: /24
- Rozmiar podsieci /24 = 256 adresów IP — 5 zarezerwowanych z platformy = 251 dostępnych adresów
- 251: Brama 1 (10) — 1 konfiguracja prywatnego adresu IP frontonu = 240
- 240: Brama 2 (2) = 238
- 238: Brama 3 (15) — 1 konfiguracja prywatnego adresu IP frontonu = 222
Ważne
Mimo że podsieć /24 nie jest wymagana dla wdrożenia jednostki SKU usługi Application Gateway w wersji 2, zdecydowanie zalecamy. Podsieć /24 zapewnia, że usługa Application Gateway w wersji 2 ma wystarczającą ilość miejsca na potrzeby rozszerzania i uaktualniania konserwacji automatycznego skalowania.
Upewnij się, że podsieć usługi Application Gateway w wersji 2 ma wystarczającą przestrzeń adresową, aby pomieścić liczbę wystąpień wymaganych do obsługi maksymalnego oczekiwanego ruchu. Jeśli określisz maksymalną liczbę wystąpień, podsieć powinna mieć pojemność dla co najmniej tych wielu adresów. Aby uzyskać informacje o planowaniu pojemności wokół liczby wystąpień, zobacz Szczegóły liczby wystąpień.
Podsieć o nazwie GatewaySubnet
jest zarezerwowana dla bram sieci VPN. Zasoby usługi Application Gateway w wersji 1 korzystające z GatewaySubnet
podsieci muszą zostać przeniesione do innej podsieci lub zmigrowane do jednostki SKU w wersji 2 przed 30 września 2023 r., aby uniknąć awarii płaszczyzny sterowania i niespójności platformy. Aby uzyskać informacje na temat zmiany podsieci istniejącego wystąpienia usługi Application Gateway, zobacz Często zadawane pytania dotyczące usługi Application Gateway.
Napiwek
Adresy IP są przydzielane od początku zdefiniowanej przestrzeni podsieci dla wystąpień bramy. W miarę tworzenia i usuwania wystąpień z powodu tworzenia bram lub zdarzeń skalowania może być trudno zrozumieć, jaki jest następny dostępny adres w podsieci. Aby określić następny adres do użycia dla przyszłej bramy i mieć ciągły motyw adresowania dla adresów IP frontonu, rozważ przypisanie adresów IP frontonu z górnej połowy zdefiniowanego obszaru podzestawu.
Jeśli na przykład przestrzeń adresowa podsieci to 10.5.5.0/24, Rozważ ustawienie konfiguracji prywatnego adresu IP frontonu dla bram, począwszy od wersji 10.5.5.254, a następnie następującej z 10.5.5.253, 10.5.5.252, 10.5.5.251 i tak dalej w przypadku przyszłych bram.
Istnieje możliwość zmiany podsieci istniejącego wystąpienia usługi Application Gateway w tej samej sieci wirtualnej. Aby wprowadzić tę zmianę, użyj programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące usługi Application Gateway.
Serwery DNS do rozpoznawania nazw
Zasób sieci wirtualnej obsługuje konfigurację serwera DNS, która umożliwia wybór między domyślnymi lub niestandardowymi serwerami DNS udostępnianymi przez platformę Azure. Wystąpienia bramy aplikacji również honoruje tę konfigurację DNS dla dowolnego rozpoznawania nazw. Po zmianie tego ustawienia należy ponownie uruchomić (zatrzymać i uruchomić) bramę aplikacji, aby te zmiany zaczęły obowiązywać w wystąpieniach.
Gdy wystąpienie usługi Application Gateway wystawia zapytanie DNS, używa wartości z serwera, który odpowiada jako pierwszy.
Uwaga
Jeśli używasz niestandardowych serwerów DNS w sieci wirtualnej usługi Application Gateway, serwer DNS musi być w stanie rozpoznać publiczne nazwy internetowe. Usługa Application Gateway wymaga tej możliwości.
Uprawnienie sieci wirtualnej
Zasób usługi Application Gateway jest wdrażany w sieci wirtualnej, dlatego sprawdzane są również, aby zweryfikować uprawnienie do zasobu sieci wirtualnej. Ta walidacja jest wykonywana zarówno podczas operacji tworzenia, jak i zarządzania, a także dotyczy tożsamości zarządzanych dla kontrolera ruchu przychodzącego usługi Application Gateway.
Sprawdź kontrolę dostępu opartą na rolach platformy Azure, aby sprawdzić, czy użytkownicy i jednostki usługi, które obsługują bramy aplikacji, mają co najmniej następujące uprawnienia w sieci wirtualnej lub podsieci:
- Microsoft.Network/virtualNetworks/subnets/join/action
- Microsoft.Network/virtualNetworks/subnets/read
Możesz użyć wbudowanych ról, takich jak Współautor sieci, który już obsługuje te uprawnienia. Jeśli wbudowana rola nie zapewnia odpowiednich uprawnień, możesz utworzyć i przypisać rolę niestandardową. Dowiedz się więcej o zarządzaniu uprawnieniami podsieci.
Uprawnienia
W zależności od tego, czy tworzysz nowe zasoby, czy używasz istniejących, dodaj odpowiednie uprawnienia z poniższej listy:
Zasób | Stan zasobu | Wymagane uprawnienia platformy Azure |
---|---|---|
Podsieć | Tworzyć w programie | Microsoft.Network/virtualNetworks/subnets/write Microsoft.Network/virtualNetworks/subnets/join/action |
Podsieć | Użyj istniejącej wartości | Microsoft.Network/virtualNetworks/subnets/read Microsoft.Network/virtualNetworks/subnets/join/action |
Adresy IP | Tworzyć w programie | Microsoft.Network/publicIPAddresses/write Microsoft.Network/publicIPAddresses/join/action |
Adresy IP | Użyj istniejącej wartości | Microsoft.Network/publicIPAddresses/read Microsoft.Network/publicIPAddresses/join/action |
ApplicationGatewayWebApplicationFirewallPolicies | Tworzenie nowego/aktualizowanie istniejącego | Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/write Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/join/action |
Aby uzyskać więcej informacji, zobacz Uprawnienia platformy Azure dotyczące uprawnień sieci i sieci wirtualnej.
Zakres ról
W procesie niestandardowej definicji roli można określić zakres przypisania roli na czterech poziomach: grupa zarządzania, subskrypcja, grupa zasobów i zasoby. Aby udzielić dostępu, należy przypisać role do użytkowników, grup, jednostek usług lub tożsamości zarządzanych w określonym zakresie. Te zakresy są ustrukturyzowane w relacji nadrzędny-podrzędny, z każdym poziomem hierarchii, dzięki czemu zakres jest bardziej szczegółowy. Role można przypisywać na dowolnym z tych poziomów zakresu, a wybrany poziom określa, jak szeroko jest stosowana rola. Na przykład rola przypisana na poziomie subskrypcji może być kaskadowa do wszystkich zasobów w ramach tej subskrypcji, podczas gdy rola przypisana na poziomie grupy zasobów będzie miała zastosowanie tylko do zasobów w ramach tej konkretnej grupy. Dowiedz się więcej o poziomie zakresu Aby uzyskać więcej informacji, zobacz Poziomy zakresu.
Uwaga
Może być konieczne zezwolenie na wystarczającą ilość czasu na odświeżanie pamięci podręcznej usługi Azure Resource Manager po zmianie przypisania roli.
Identyfikowanie użytkowników lub jednostek usługi, których dotyczy subskrypcja
Odwiedzając usługę Azure Advisor dla swojego konta, możesz sprawdzić, czy twoja subskrypcja ma jakichkolwiek użytkowników lub jednostek usługi z niewystarczającymi uprawnieniami. Szczegóły tego zalecenia są następujące:
Tytuł: Aktualizowanie uprawnień sieci wirtualnej użytkowników
usługi Application Gateway Kategoria: Wpływ na niezawodność
: Wysoki
Użyj tymczasowej flagi kontroli ekspozycji funkcji platformy Azure (AFEC)
Jako tymczasowe rozszerzenie wprowadziliśmy kontrolę ekspozycji funkcji platformy Azure na poziomie subskrypcji (AFEC). Możesz zarejestrować się w ramach programu AFEC i używać go do momentu naprawienia uprawnień dla wszystkich użytkowników i jednostek usługi. Zarejestruj się, aby uzyskać tę funkcję, wykonując te same kroki co rejestracja funkcji w wersji zapoznawczej dla subskrypcji platformy Azure.
Nazwa: Microsoft.Network/DisableApplicationGatewaySubnetPermissionCheck
Description: Disable Application Gateway Subnet Permission Check
ProviderNamespace: Microsoft.Network
EnrollmentType: AutoApprove
Uwaga
Zalecamy użycie aprowizacji AFEC tylko jako tymczasowego ograniczenia ryzyka do momentu przypisania właściwego uprawnienia. Należy określić priorytety ustalania uprawnień dla wszystkich odpowiednich użytkowników (i jednostek usługi), a następnie wyrejestrować tę flagę AFEC, aby ponownie wprowadzić weryfikację uprawnień w zasobie sieci wirtualnej. Zalecamy, aby nie zależeć od tej metody AFEC na stałe, ponieważ zostanie ona usunięta w przyszłości.
Azure Virtual Network Manager
Azure Virtual Network Manager to usługa zarządzania, która umożliwia grupowanie, konfigurowanie, wdrażanie i zarządzanie sieciami wirtualnymi globalnie w ramach subskrypcji. Za pomocą menedżera sieci wirtualnej można zdefiniować grupy sieciowe w celu identyfikowania i logicznego segmentowania sieci wirtualnych. Następnie można określić żądane konfiguracje łączności i zabezpieczeń i zastosować je we wszystkich wybranych sieciach wirtualnych w grupach sieci jednocześnie.
Konfiguracja reguły administratora zabezpieczeń w usłudze Azure Virtual Network Manager umożliwia definiowanie zasad zabezpieczeń na dużą skalę i stosowanie ich do wielu sieci wirtualnych jednocześnie.
Uwaga
Reguły administratora zabezpieczeń usługi Azure Virtual Network Manager mają zastosowanie tylko do podsieci usługi Application Gateway, które zawierają bramy aplikacji z włączoną izolacją sieci. Podsieci z bramami aplikacji, które mają wyłączoną izolację sieci, nie mają reguł administratora zabezpieczeń.
Sieciowe grupy zabezpieczeń
Sieciowe grupy zabezpieczeń można używać dla podsieci usługi Application Gateway, ale należy pamiętać o niektórych kluczowych punktach i ograniczeniach.
Ważne
Te ograniczenia sieciowej grupy zabezpieczeń są złagodzone podczas korzystania z wdrożenia usługi Private Application Gateway (wersja zapoznawcza).
Wymagane reguły zabezpieczeń
Aby używać sieciowej grupy zabezpieczeń z bramą aplikacji, należy utworzyć lub zachować pewne podstawowe reguły zabezpieczeń. Możesz ustawić ich priorytet w tej samej kolejności.
Reguły ruchu przychodzącego
Ruch klienta: zezwalaj na ruch przychodzący z oczekiwanych klientów (jako źródłowy adres IP lub zakres adresów IP) oraz dla miejsca docelowego jako całego prefiksu IP podsieci bramy aplikacji i portów dostępu przychodzącego. Przykład: Jeśli masz odbiorniki skonfigurowane dla portów 80 i 443, musisz zezwolić na te porty. Tę regułę można również ustawić na Any
.
Źródło | Porty źródłowe | Element docelowy | Porty docelowe | Protokół | Access |
---|---|---|---|---|---|
<as per need> |
Dowolne | <Subnet IP Prefix> |
<listener ports> |
TCP | Zezwalaj |
Po skonfigurowaniu aktywnych odbiorników publicznych i prywatnych (z regułami) o tym samym numerze portu brama aplikacji zmienia miejsce docelowe wszystkich przepływów przychodzących na adresy IP frontonu bramy. Ta zmiana występuje nawet w przypadku odbiorników, które nie udostępniają żadnego portu. Podczas korzystania z tej samej konfiguracji portu należy uwzględnić publiczne i prywatne adresy IP bramy w lokalizacji docelowej reguły ruchu przychodzącego.
Źródło | Porty źródłowe | Element docelowy | Porty docelowe | Protokół | Access |
---|---|---|---|---|---|
<as per need> |
Dowolne | <Public and Private frontend IPs> |
<listener ports> |
TCP | Zezwalaj |
Porty infrastruktury: zezwalaj na żądania przychodzące ze źródła jako tag usługi GatewayManager i dowolne miejsce docelowe. Zakres portów docelowych różni się w zależności od jednostki SKU i jest wymagany do komunikowania stanu kondycji zaplecza. Te porty są chronione/zablokowane przez certyfikaty platformy Azure. Jednostki zewnętrzne nie mogą inicjować zmian w tych punktach końcowych bez odpowiednich certyfikatów.
- Wersja 2: porty 65200-65535
- Wersja 1: porty 65503-65534
Źródło | Porty źródłowe | Element docelowy | Porty docelowe | Protokół | Access |
---|---|---|---|---|---|
GatewayManager | Dowolne | Dowolne | <as per SKU given above> |
TCP | Zezwalaj |
Sondy usługi Azure Load Balancer: zezwalaj na ruch przychodzący ze źródła jako tag usługi AzureLoadBalancer . Ta reguła jest tworzona domyślnie dla sieciowych grup zabezpieczeń. Nie można zastąpić jej ręczną regułą Odmowy , aby zapewnić bezproblemowe operacje bramy aplikacji.
Źródło | Porty źródłowe | Element docelowy | Porty docelowe | Protokół | Access |
---|---|---|---|---|---|
AzureLoadBalancer | Dowolne | Dowolne | Dowolne | Dowolne | Zezwalaj |
Możesz zablokować cały inny ruch przychodzący przy użyciu reguły Odmów wszystkie .
Reguły ruchu wychodzącego
Ruch wychodzący do Internetu: zezwalaj na ruch wychodzący do Internetu dla wszystkich miejsc docelowych. Ta reguła jest tworzona domyślnie dla sieciowych grup zabezpieczeń. Nie można zastąpić jej ręczną regułą Odmowy , aby zapewnić bezproblemowe operacje bramy aplikacji. Reguły sieciowej grupy zabezpieczeń dla ruchu wychodzącego, które odmawiają żadnej łączności wychodzącej, nie mogą być tworzone.
Źródło | Porty źródłowe | Element docelowy | Porty docelowe | Protokół | Access |
---|---|---|---|---|---|
Dowolne | Dowolne | Internet | Dowolne | Dowolne | Zezwalaj |
Uwaga
Bramy aplikacji, które nie mają włączonej izolacji sieciowej, nie zezwalają na wysyłanie ruchu między równorzędnymi sieciami wirtualnymi, gdy opcja Zezwalaj na ruch do zdalnej sieci wirtualnej jest wyłączona.
Obsługiwane trasy zdefiniowane przez użytkownika
Szczegółowa kontrola nad podsiecią usługi Application Gateway za pośrednictwem reguł tabeli tras jest możliwa w publicznej wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Wdrażanie usługi Private Application Gateway (wersja zapoznawcza).
W przypadku bieżących funkcji istnieją pewne ograniczenia:
Ważne
Użycie tras zdefiniowanych przez użytkownika w podsieci usługi Application Gateway może spowodować wyświetlenie stanu kondycji w widoku kondycji zaplecza jako Nieznane. Może to również spowodować niepowodzenie generowania dzienników i metryk usługi Application Gateway. Nie zalecamy używania tras zdefiniowanych przez użytkownika w podsieci usługi Application Gateway, aby można było wyświetlić kondycję, dzienniki i metryki zaplecza.
Wersja 1: W przypadku jednostki SKU w wersji 1 trasy zdefiniowane przez użytkownika są obsługiwane w podsieci usługi Application Gateway, jeśli nie zmieniają kompleksowej komunikacji żądań/odpowiedzi. Można na przykład skonfigurować trasę zdefiniowaną przez użytkownika w podsieci usługi Application Gateway, aby wskazać urządzenie zapory w celu inspekcji pakietów. Należy jednak upewnić się, że po zakończeniu inspekcji pakiet dotrze do miejsca docelowego. W przeciwnym razie zachowanie sondy kondycji lub routingu ruchu może być nieprawidłowe. Uwzględnione są również trasy poznane lub domyślne trasy 0.0.0.0/0, które są propagowane przez usługę Azure ExpressRoute lub bramy sieci VPN w sieci wirtualnej.
Wersja 2: W przypadku jednostki SKU w wersji 2 istnieją obsługiwane i nieobsługiwane scenariusze.
Obsługiwane scenariusze w wersji 2
Ostrzeżenie
Nieprawidłowa konfiguracja tabeli tras może spowodować asymetryczny routing w usłudze Application Gateway w wersji 2. Upewnij się, że cały ruch płaszczyzny zarządzania/sterowania jest wysyłany bezpośrednio do Internetu, a nie za pośrednictwem urządzenia wirtualnego. Może to również mieć wpływ na rejestrowanie, metryki i listy CRL.
Scenariusz 1. Trasa zdefiniowana przez użytkownika w celu wyłączenia propagacji trasy protokołu BGP (Border Gateway Protocol) do podsieci usługi Application Gateway
Czasami trasa bramy domyślnej (0.0.0.0/0) jest anonsowana za pośrednictwem bram usługi ExpressRoute lub sieci VPN skojarzonych z siecią wirtualną usługi Application Gateway. To zachowanie przerywa ruch płaszczyzny zarządzania, który wymaga bezpośredniej ścieżki do Internetu. W takich scenariuszach można użyć trasy zdefiniowanej przez użytkownika, aby wyłączyć propagację tras protokołu BGP.
Aby wyłączyć propagację tras protokołu BGP:
- Utwórz zasób tabeli tras na platformie Azure.
- Wyłącz parametr propagacji trasy bramy sieci wirtualnej.
- Skojarz tabelę tras z odpowiednią podsiecią.
Włączenie trasy zdefiniowanej przez użytkownika dla tego scenariusza nie powinno przerywać żadnych istniejących konfiguracji.
Scenariusz 2. Trasa zdefiniowana przez użytkownika do kierowania do Internetu adresu 0.0.0.0/0
Możesz utworzyć trasę zdefiniowaną przez użytkownika, aby wysyłać ruch 0.0.0.0/0 bezpośrednio do Internetu.
Scenariusz 3. Trasa zdefiniowana przez użytkownika dla usługi Azure Kubernetes Service (AKS) z usługą kubenet
Jeśli używasz platformy Kubenet z kontrolerem ruchu przychodzącego usługi AKS i Application Gateway, potrzebujesz tabeli tras, aby zezwolić na kierowanie ruchu do zasobników z usługi Application Gateway do poprawnego węzła. Nie musisz używać tabeli tras, jeśli używasz interfejsu sieciowego kontenera platformy Azure.
Aby użyć tabeli tras, aby umożliwić działanie rozwiązania kubenet:
Przejdź do grupy zasobów utworzonej przez usługę AKS. Nazwa grupy zasobów powinna zaczynać się od
MC_
.Znajdź tabelę tras utworzoną przez usługę AKS w tej grupie zasobów. Tabela tras powinna zostać wypełniona następującymi informacjami:
- Prefiks adresu powinien być zakresem adresów IP zasobników, które mają być dostępne w usłudze AKS.
- Typ następnego przeskoku powinien być urządzeniem wirtualnym.
- Adres następnego przeskoku powinien być adresem IP węzła obsługującego zasobniki.
Skojarz tę tabelę tras z podsiecią usługi Application Gateway.
Scenariusze nieobsługiwane w wersji 2
Scenariusz 1. Trasa zdefiniowana przez użytkownika dla urządzeń wirtualnych
W przypadku jednostki V2 w wersji 2 żaden scenariusz, w którym adres 0.0.0.0/0 musi zostać przekierowany za pośrednictwem dowolnego urządzenia wirtualnego, sieci wirtualnej o topologii piasty i szprych lub środowiska lokalnego (wymuszone tunelowanie), nie jest obsługiwany.
Usługi dodatkowe
Aby wyświetlić role i uprawnienia dla innych usług, zobacz następujące linki: