Przychodzące i wychodzące adresy IP w Azure App Service

Azure App Service jest usługą wielodostępną, z wyjątkiem środowisk App Service. Aplikacje, które nie znajdują się w środowisku App Service (a nie w warstwie izolowanej), współdzielą infrastrukturę sieciową z innymi aplikacjami. W związku z tym adresy IP dla ruchu przychodzącego i wychodzącego aplikacji mogą być różne, a nawet mogą ulec zmianie w niektórych sytuacjach.

App Service Środowiska korzystają z dedykowanych infrastruktur sieciowych, więc aplikacje działające w środowisku App Service uzyskują statyczne, dedykowane adresy IP zarówno dla połączeń przychodzących, jak i wychodzących.

Jak działają adresy IP w App Service

Aplikacja App Service działa w planie App Service, a plany App Service są wdrażane w jednej z jednostek wdrażania w infrastrukturze platformy Azure (nazywanej wewnętrznie przestrzenią internetową). Każda jednostka wdrożenia ma przypisany zestaw wirtualnych adresów IP, który zawiera jeden publiczny adres IP dla ruchu przychodzącego i zestaw wychodzących adresów IP. Wszystkie plany App Service w tej samej lekcji wdrażania, a wystąpienia aplikacji, które są w nich uruchomione, współdzielą ten sam zestaw wirtualnych adresów IP. W przypadku App Service Environment (planu App Service w warstwie izolowanej) plan App Service jest jednostką wdrożenia, dlatego wirtualne adresy IP są dla niego dedykowane.

Ponieważ nie można przenieść planu App Service między jednostkami wdrożenia, wirtualne adresy IP przypisane do aplikacji zwykle pozostają takie same, ale istnieją wyjątki.

Gdy przychodzący adres IP ulegnie zmianie

Niezależnie od liczby skalowanych w poziomie wystąpień każda aplikacja ma jeden przychodzący adres IP. Adres IP dla ruchu przychodzącego może ulec zmianie podczas wykonywania jednej z następujących akcji:

  • Usunięcie aplikacji i ponowne jej utworzenie w innej grupie zasobów (jednostka wdrożenia może ulec zmianie).
  • Usuń ostatnią aplikację w kombinacji grupy zasobów i regionu i utwórz ją ponownie (jednostka wdrożenia może ulec zmianie).
  • Usuń istniejące powiązanie TLS/SSL oparte na protokole IP, takie jak podczas odnawiania certyfikatu (zobacz Odnawianie certyfikatu).

Znajdowanie adresu IP dla ruchu przychodzącego

Wystarczy uruchomić następujące polecenie w lokalnym terminalu:

nslookup <app-name>.azurewebsites.net

Pobieranie statycznego adresu IP dla ruchu przychodzącego

Czasami może być potrzebny dedykowany statyczny adres IP dla aplikacji. Aby uzyskać statyczny adres IP dla ruchu przychodzącego, należy zabezpieczyć niestandardową nazwę DNS przy użyciu powiązania certyfikatu opartego na adresie IP. Jeśli nie potrzebujesz funkcji protokołu TLS, aby zabezpieczyć aplikację, możesz nawet przekazać certyfikat z podpisem własnym dla tego powiązania. W powiązaniu PROTOKOŁU TLS opartym na protokole IP certyfikat jest powiązany z samym adresem IP, dlatego App Service aprowizuje statyczny adres IP, aby tak się stało.

Zmiana adresów IP dla ruchu wychodzącego

Niezależnie od liczby wystąpień skalowanych w poziomie każda aplikacja ma ustaloną liczbę wychodzących adresów IP w danym momencie. Każde połączenie wychodzące z aplikacji App Service, takie jak do bazy danych zaplecza, używa jednego z wychodzących adresów IP jako początkowego adresu IP. Używany adres IP jest wybierany losowo w czasie wykonywania, więc usługa zaplecza musi otworzyć zaporę dla wszystkich wychodzących adresów IP aplikacji.

Zestaw wychodzących adresów IP dla aplikacji zmienia się podczas wykonywania jednej z następujących akcji:

  • Usunięcie aplikacji i ponowne jej utworzenie w innej grupie zasobów (jednostka wdrożenia może ulec zmianie).
  • Usuń ostatnią aplikację w kombinacji grupy zasobów i regionu i utwórz ją ponownie (jednostka wdrożenia może ulec zmianie).
  • Skaluj aplikację między niższymi warstwami (Podstawowa, Standardowa i Premium), warstwą PremiumV2 , warstwą PremiumV3 i opcjami Pmv3 w warstwie PremiumV3 (adresy IP mogą zostać dodane do zestawu lub odejmowane od zestawu).

Zestaw wszystkich możliwych adresów IP dla ruchu wychodzącego może być używany przez aplikację, niezależnie od warstw cenowych, wyszukując possibleOutboundIpAddresses właściwość lub w polu Dodatkowe wychodzące adresy IP w bloku Właściwości w Azure Portal. Zobacz Znajdowanie wychodzących adresów IP.

Należy pamiętać, że zestaw wszystkich możliwych wychodzących adresów IP może wzrosnąć wraz z upływem czasu, jeśli App Service doda nowe warstwy cenowe lub opcje do istniejących wdrożeń App Service. Jeśli na przykład App Service doda warstwę PremiumV3 do istniejącego wdrożenia App Service, zostanie zwiększony zestaw wszystkich możliwych adresów IP wychodzących. Podobnie jeśli App Service dodaje nowe opcje Pmv3 do wdrożenia, które obsługuje już warstwę PremiumV3, zostanie również zwiększony zestaw wszystkich możliwych adresów IP wychodzących. Nie ma to natychmiastowego wpływu, ponieważ wychodzące adresy IP dla uruchomionych aplikacji nie zmieniają się po dodaniu nowej warstwy cenowej lub opcji do wdrożenia App Service. Jeśli jednak aplikacje przejdą do nowej warstwy cenowej lub opcji, która nie była wcześniej dostępna, będą używane nowe adresy wychodzące, a klienci będą musieli zaktualizować podrzędne reguły zapory i ograniczenia adresów IP.

Znajdowanie wychodzących adresów IP

Aby znaleźć adresy IP ruchu wychodzącego aktualnie używane przez aplikację w Azure Portal, kliknij pozycję Właściwości w obszarze nawigacji po lewej stronie aplikacji. Są one wymienione w polu Wychodzące adresy IP .

Te same informacje można znaleźć, uruchamiając następujące polecenie w Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses

Aby znaleźć wszystkie możliwe adresy IP ruchu wychodzącego dla aplikacji, niezależnie od warstw cenowych, kliknij pozycję Właściwości w obszarze nawigacji po lewej stronie aplikacji. Są one wymienione w polu Dodatkowe adresy IP ruchu wychodzącego.

Te same informacje można znaleźć, uruchamiając następujące polecenie w Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses

Uzyskiwanie statycznego adresu IP wychodzącego

Adres IP ruchu wychodzącego z aplikacji można kontrolować przy użyciu regionalnej integracji z siecią wirtualną wraz z bramą translatora adresów sieci wirtualnej w celu kierowania ruchu przez statyczny publiczny adres IP. Regionalna integracja z siecią wirtualną jest dostępna w planach App Service w warstwach Podstawowa, Standardowa, Premium, PremiumV2 i PremiumV3. Aby dowiedzieć się więcej na temat tej konfiguracji, zobacz Integracja bramy translatora adresów sieciowych.

Następne kroki

Dowiedz się, jak ograniczyć ruch przychodzący według źródłowych adresów IP.