Udostępnij za pośrednictwem


Przychodzące i wychodzące adresy IP w usłudze Azure App Service

Azure App Service jest usługą wielodostępną, z wyjątkiem środowisk App Service. Aplikacje, które nie są w środowisku App Service (czyli nie w warstwie Izolowanej), współużytkują 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.

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

Jak działają adresy IP w usłudze App Service

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

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

Uwaga

Warstwa Premium V4 nie zapewnia stabilnego zestawu wychodzących adresów IP. To zachowanie jest zamierzone. Mimo że aplikacje działające w warstwie Premium V4 mogą wykonywać wywołania wychodzące do punktów końcowych dostępnych z Internetu, platforma App Service nie zapewnia stabilnego zestawu wychodzących adresów IP dla warstwy Premium V4. Jest to zmiana zachowania z poprzednich warstw cenowych usługi App Service. W portalu zostanie wyświetlony status "Dynamiczny" dla wychodzących adresów IP oraz dodatkowe informacje o tych adresach dla aplikacji korzystających z wersji Premium V4. Wywołania ARM i CLI będą zwracać puste ciągi dla wartości outboundIpAddresses i possibleOutboundIpAddresses. Jeśli aplikacje działające w wersji Premium V4 wymagają stabilnego wychodzącego adresu IP, deweloperzy będą musieli użyć rozwiązania takiego jak usługa Azure NAT Gateway , aby uzyskać przewidywalny adres IP dla ruchu wychodzącego z Internetu.

Gdy przychodzący adres IP ulegnie zmianie

Niezależnie od liczby skalowanych wystąpień, każda aplikacja ma jeden wejściowy adres IP. Adres IP dla ruchu przychodzącego może ulec zmianie po wykonaniu 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 PROTOKOŁU TLS oparte na protokole IP, takie jak podczas odnawiania certyfikatu (zobacz Odnawianie certyfikatu).

Znajdowanie przychodzącego adresu IP

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

nslookup <app-name>.azurewebsites.net

Uzyskiwanie 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 z powiązaniem certyfikatu opartym na 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 przypadku powiązania TLS opartego na adresie IP certyfikat jest powiązany z samym adresem IP, więc App Service tworzy statyczny adres IP, aby tego dokonać.

Gdy adresy IP ruchu wychodzącego zmieniają się

Niezależnie od liczby instancji skalowanych poziomo, każda aplikacja ma określoną liczbę wychodzących adresów IP w dowolnym momencie. Każde połączenie wychodzące z aplikacji usługi 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 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 można dodać lub odjąć od zestawu).

Zestaw wszystkich możliwych wychodzących adresów IP, których aplikacja może używać, niezależnie od warstw cenowych, można znaleźć, przeszukując właściwość possibleOutboundIpAddresses lub w polu Dodatkowe wychodzące adresy IP w sekcji Właściwości na portalu Azure. Zobacz Znajdowanie wychodzących adresów IP.

Zestaw wszystkich możliwych wychodzących adresów IP może wzrosnąć wraz z upływem czasu, jeśli usługa App Service doda nowe warstwy cenowe lub opcje do istniejących wdrożeń usługi App Service. Jeśli na przykład usługa App Service dodaje warstwę PremiumV3 do istniejącego wdrożenia usługi App Service, zestaw wszystkich możliwych wychodzących adresów IP zwiększa się. Podobnie jeśli usługa App Service dodaje nowe opcje pmv3 do wdrożenia, które obsługuje już warstwę PremiumV3 , zwiększa się zestaw wszystkich możliwych adresów IP wychodzących. Dodawanie adresów IP do wdrożenia nie ma natychmiastowego wpływu, ponieważ wychodzące adresy IP dla uruchomionych aplikacji nie zmieniają się po dodaniu nowej warstwy cenowej lub opcji do wdrożenia usługi App Service. Jeśli jednak aplikacje przejdą do nowej warstwy cenowej lub opcji, która nie była wcześniej dostępna, zostaną użyte nowe adresy wychodzące, a klienci muszą zaktualizować reguły zapory podrzędnej i ograniczenia adresów IP.

Znajdowanie wychodzących adresów IP

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

Te same informacje można znaleźć, uruchamiając następujące polecenie w usłudze 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 wychodzące adresy IP aplikacji, niezależnie od warstw cenowych, wybierz pozycję Właściwości w obszarze nawigacji po lewej stronie aplikacji. Są one wymienione w polu Dodatkowe wychodzące adresy IP.

Te same informacje można znaleźć, uruchamiając następujące polecenie w usłudze 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

Aby uzyskać informacje o aplikacjach funkcji, zobacz Wychodzące adresy IP aplikacji funkcji.

Uzyskiwanie statycznego adresu IP wychodzącego

Możesz kontrolować adres IP ruchu wychodzącego z aplikacji, używając integracji sieci wirtualnej wraz z bramą NAT sieci wirtualnej, aby kierować ruch przez statyczny publiczny adres IP. Integracja sieci wirtualnej jest dostępna w planach usługi App Service w warstwie Podstawowa, Standardowa, Premium, PremiumV2 i PremiumV3 . Aby dowiedzieć się więcej na temat tej konfiguracji, zapoznaj się z Integracja bramy NAT.

Właściwości adresu IP w witrynie Azure Portal

Adresy IP są wyświetlane w wielu miejscach w witrynie Azure Portal. Na stronie właściwości zostaną wyświetlone nieprzetworzone dane wyjściowe z inboundIpAddress, possibleInboundIpAddresses, outboundIpAddresses i possibleOutboundIpAddresses. Na stronie przeglądu zostaną również wyświetlone te same wartości, ale nie będą uwzględniane możliwe adresy IP dla ruchu przychodzącego.

Omówienie sieci pokazuje kombinację przychodzącego adresu IP i wszystkich prywatnych adresów IP punktu końcowego w polu Adresy przychodzące . Jeśli dostęp do sieci publicznej jest wyłączony, publiczny adres IP nie będzie wyświetlany. Pole Adresy wychodzące zawiera połączoną listę możliwych adresów IP wychodzących. Jeśli aplikacja jest zintegrowana z siecią wirtualną i kieruje cały ruch, a podsieć ma dołączoną bramę NAT, pole będzie również zawierać adresy IP z bramy NAT.

Zrzut ekranu przedstawiający sposób wyświetlania adresów IP na stronie przeglądu sieci.

Tag usługi

Za pomocą tagu AppService usługi można zdefiniować dostęp sieciowy dla usługi Azure App Service bez określania poszczególnych adresów IP. Tag usługi to grupa prefiksów adresów IP, których używasz do zminimalizowania złożoności tworzenia reguł zabezpieczeń. Gdy używasz tagów usługi, platforma Azure automatycznie aktualizuje adresy IP w miarę ich zmiany w usłudze. Jednak tag usługi nie jest mechanizmem kontroli zabezpieczeń. Tag usługi jest jedynie listą adresów IP.

Tag AppService usługi zawiera tylko przychodzące adresy IP aplikacji wielodostępnych. Przychodzące adresy IP z aplikacji wdrożonych w izolowanym środowisku (App Service Environment) i aplikacjach korzystających z powiązań TLS opartych na protokole IP nie są uwzględniane. Ponadto wszystkie wychodzące adresy IP używane zarówno w środowiskach multitenant, jak i w izolowanych, nie są uwzględniane w tagu.

Tag może służyć do zezwalania na ruch wychodzący w sieciowej grupie zabezpieczeń (NSG) do aplikacji. Jeśli aplikacja korzysta z protokołu TLS opartego na adresie IP lub aplikacja jest wdrażana w trybie izolowanym, należy zamiast tego użyć dedykowanego adresu IP. Ponieważ tag zawiera tylko przychodzące adresy IP, tag nie może być używany w ograniczeniach dostępu w celu ograniczenia dostępu do aplikacji z innych aplikacji w usłudze App Service.

Uwaga

Tag usługi ułatwia zdefiniowanie dostępu do sieci, ale nie należy go traktować jako zamiennik odpowiednich środków zabezpieczeń sieci, ponieważ nie zapewnia szczegółowej kontroli nad poszczególnymi adresami IP.

Następne kroki