Adresy IP w usłudze Azure Functions

W tym artykule opisano następujące pojęcia związane z adresami IP aplikacji funkcji:

  • Lokalizowanie adresów IP używanych obecnie przez aplikację funkcji.
  • Warunki powodujące zmianę adresów IP aplikacji funkcji.
  • Ograniczanie adresów IP, które mogą uzyskiwać dostęp do aplikacji funkcji.
  • Definiowanie dedykowanych adresów IP dla aplikacji funkcji.

Adresy IP są skojarzone z aplikacjami funkcji, a nie z poszczególnymi funkcjami. Przychodzące żądania HTTP nie mogą używać przychodzącego adresu IP do wywoływania poszczególnych funkcji; muszą używać domyślnej nazwy domeny (functionappname.azurewebsites.net) lub niestandardowej nazwy domeny.

Przychodzący adres IP aplikacji funkcji

Każda aplikacja funkcji rozpoczyna się od użycia jednego przychodzącego adresu IP. W przypadku uruchamiania w planie Zużycie lub Premium można dodać dodatkowe przychodzące adresy IP w miarę zwiększania skali w poziomie opartej na zdarzeniach. Aby znaleźć przychodzący adres IP lub adresy używane przez aplikację, użyj nslookup narzędzia z komputera lokalnego, jak w poniższym przykładzie:

nslookup <APP_NAME>.azurewebsites.net

W tym przykładzie zastąp ciąg <APP_NAME> nazwą aplikacji funkcji. Jeśli aplikacja używa niestandardowej nazwy domeny, użyj nslookup dla tej niestandardowej nazwy domeny.

Wychodzące adresy IP aplikacji funkcji

Każda aplikacja funkcji ma zestaw dostępnych wychodzących adresów IP. Każde połączenie wychodzące z funkcji, takie jak baza danych zaplecza, używa jednego z dostępnych wychodzących adresów IP jako początkowego adresu IP. Nie wiesz wcześniej, którego adresu IP będzie używać danego połączenia. Z tego powodu usługa zaplecza musi otworzyć zaporę na wszystkie wychodzące adresy IP aplikacji funkcji.

Porada

W przypadku niektórych funkcji na poziomie platformy, takich jak odwołania do Key Vault, początkowy adres IP może nie być jednym z adresów IP ruchu wychodzącego i nie należy konfigurować zasobu docelowego, aby polegał na tych konkretnych adresach. Zaleca się, aby aplikacja korzystała z integracji z siecią wirtualną, ponieważ platforma będzie kierować ruch do zasobu docelowego za pośrednictwem tej sieci.

Aby dowiedzieć się, czy adresy IP ruchu wychodzącego są dostępne dla aplikacji funkcji:

  1. Zaloguj się do Eksploratora zasobów platformy Azure.
  2. Wybierz pozycję Subskrypcje > {twoja subskrypcja} > dostawców > Microsoft.Web>.
  3. Na panelu JSON znajdź witrynę z właściwością id , która kończy się nazwą aplikacji funkcji.
  4. Zobacz outboundIpAddresses i possibleOutboundIpAddresses.

Zestaw jest outboundIpAddresses obecnie dostępny dla aplikacji funkcji. Zestaw zawiera possibleOutboundIpAddresses adresy IP, które będą dostępne tylko wtedy, gdy aplikacja funkcji jest skalowana do innych warstw cenowych.

Uwaga

Gdy aplikacja funkcji uruchamiana w planie Zużycie lub plan Premium jest skalowana, można przypisać nowy zakres wychodzących adresów IP. W przypadku uruchamiania na jednym z tych planów nie można polegać na zgłoszonych wychodzących adresach IP w celu utworzenia ostatecznej listy dozwolonych. Aby móc uwzględnić wszystkie potencjalne adresy wychodzące używane podczas dynamicznego skalowania, należy dodać całe centrum danych do listy dozwolonych.

Wychodzące adresy IP centrum danych

Jeśli musisz dodać wychodzące adresy IP używane przez aplikacje funkcji do listy dozwolonych, inną opcją jest dodanie centrum danych aplikacji funkcji (region platformy Azure) do listy dozwolonych. Możesz pobrać plik JSON zawierający listę adresów IP dla wszystkich centrów danych platformy Azure. Następnie znajdź fragment JSON, który ma zastosowanie do regionu, w którym działa aplikacja funkcji.

Na przykład następujący fragment JSON jest taki, jak może wyglądać lista dozwolonych dla Europy Zachodniej:

{
  "name": "AzureCloud.westeurope",
  "id": "AzureCloud.westeurope",
  "properties": {
    "changeNumber": 9,
    "region": "westeurope",
    "platform": "Azure",
    "systemService": "",
    "addressPrefixes": [
      "13.69.0.0/17",
      "13.73.128.0/18",
      ... Some IP addresses not shown here
     "213.199.180.192/27",
     "213.199.183.0/24"
    ]
  }
}

Aby uzyskać informacje o tym, kiedy ten plik jest aktualizowany i kiedy adresy IP się zmieniają, rozwiń sekcję Szczegółyna stronie Centrum pobierania.

Zmiany przychodzącego adresu IP

Adres IP dla ruchu przychodzącego może ulec zmianie w następujących przypadkach:

  • Usuń aplikację funkcji i utwórz ją ponownie w innej grupie zasobów.
  • Usuń ostatnią aplikację funkcji w kombinacji grupy zasobów i regionu i utwórz ją ponownie.
  • Usuń powiązanie TLS, takie jak podczas odnawiania certyfikatu.

Gdy aplikacja funkcji jest uruchamiana w planie Zużycie lub w planie Premium, przychodzący adres IP może również ulec zmianie nawet wtedy, gdy nie podjęto żadnych akcji, takich jak wymienione powyżej.

Zmiany adresów IP ruchu wychodzącego

Względna stabilność wychodzącego adresu IP zależy od planu hostingu.

Zużycie i plany Premium

Ze względu na zachowania skalowania automatycznego adres IP ruchu wychodzącego może ulec zmianie w dowolnym momencie podczas uruchamiania w planie Zużycie lub w planie Premium.

Jeśli musisz kontrolować wychodzący adres IP aplikacji funkcji, na przykład w przypadku konieczności dodania jej do listy dozwolonych, rozważ zaimplementowanie bramy translatora adresów sieci wirtualnej podczas uruchamiania w planie hostingu Premium. Można to również zrobić, uruchamiając w planie dedykowanym (App Service).

Plany dedykowane

W przypadku uruchamiania w planach Dedykowane (App Service) zestaw dostępnych wychodzących adresów IP aplikacji funkcji może ulec zmianie w następujących przypadkach:

  • Wykonaj dowolną akcję, która może zmienić przychodzący adres IP.
  • Zmień warstwę cenową planu dedykowanego (App Service). Lista wszystkich możliwych wychodzących adresów IP, których aplikacja może używać dla wszystkich warstw cenowych, znajduje się we possibleOutboundIPAddresses właściwości . Zobacz Znajdowanie wychodzących adresów IP.

Wymuszanie zmiany wychodzącego adresu IP

Użyj następującej procedury, aby celowo wymusić zmianę wychodzącego adresu IP w planie dedykowanego (App Service):

  1. Skaluj plan App Service w górę lub w dół między warstwami cenowymi Standardowa i Premium w wersji 2.

  2. Odczekaj 10 minut.

  3. Skaluj z powrotem do miejsca rozpoczęcia.

ograniczenia adresów IP

Możesz skonfigurować listę adresów IP, które chcesz zezwolić na dostęp do aplikacji funkcji lub odmówić jej dostępu. Aby uzyskać więcej informacji, zobacz Azure App Service ograniczenia statycznych adresów IP.

Dedykowane adresy IP

Istnieje kilka strategii do zbadania, kiedy aplikacja funkcji wymaga statycznych, dedykowanych adresów IP.

Brama translatora adresów sieci wirtualnej dla wychodzącego statycznego adresu IP

Adres IP ruchu wychodzącego z funkcji można kontrolować za pomocą bramy translatora adresów sieci wirtualnej w celu kierowania ruchu przez statyczny publiczny adres IP. Tę topologię można użyć podczas uruchamiania w planie Premium lub w planie dedykowanym (App Service). Aby dowiedzieć się więcej, zobacz Samouczek: kontrolowanie Azure Functions wychodzącego adresu IP za pomocą bramy translatora adresów sieci wirtualnych platformy Azure.

Środowiska usługi App Service

Aby uzyskać pełną kontrolę nad adresami IP, zarówno dla ruchu przychodzącego, jak i wychodzącego, zalecamy App Service Environments (warstwa Izolowana planów App Service). Aby uzyskać więcej informacji, zobacz App Service Environment adresy IP i Jak kontrolować ruch przychodzący do App Service Environment.

Aby dowiedzieć się, czy aplikacja funkcji działa w App Service Environment:

  1. Zaloguj się w witrynie Azure Portal.
  2. Przejdź do aplikacji funkcji.
  3. Wybierz kartę Omówienie.
  4. Warstwa planu App Service jest wyświetlana w obszarze App Service planu/warstwy cenowej. Warstwa cenowa App Service Environment jest izolowana.

App Service Environment sku to Isolated.

Następne kroki

Częstą przyczyną zmian adresu IP jest zmiana skali aplikacji funkcji. Dowiedz się więcej o skalowaniu aplikacji funkcji.