Przychodzące i wychodzące adresy IP w usłudze Azure App Service
aplikacja systemu Azure Service jest usługą wielodostępną, z wyjątkiem środowisk App Service Environment. Aplikacje, które nie są w środowisku App Service Environment (a nie w warstwie Izolowanej) współużytkować 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 lekcji wdrażania i wystąpienia aplikacji, które są w nich uruchomione, 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.
Gdy przychodzący adres IP ulegnie zmianie
Niezależnie od liczby skalowanych wystąpień w poziomie każda aplikacja ma jeden przychodzący 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/SSL 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 przy użyciu powiązania certyfikatu opartego na adresach 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 adresie IP certyfikat jest powiązany z samym adresem IP, więc usługa App Service tworzy statyczny adres IP, aby się stało.
Gdy adresy IP ruchu wychodzącego zmieniają się
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 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, wyszukując possibleOutboundIpAddresses
właściwość lub w polu Dodatkowe wychodzące adresy IP na stronie Właściwości w witrynie Azure Portal. 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 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 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 przy użyciu integracji sieci wirtualnej wraz z bramą translatora adresów 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, zobacz Integracja bramy translatora adresów sieciowych.
Tag usługi
Za pomocą tagu AppService
usługi można zdefiniować dostęp sieciowy dla usługi aplikacja systemu Azure 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 wielu dzierżawach, jak i 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.
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
- Dowiedz się, jak ograniczyć ruch przychodzący według źródłowych adresów IP.
- Dowiedz się więcej na temat tagów usług.