IP-Adressen in Azure Functions

In diesem Artikel erfahren Sie mehr über die folgenden Konzepte im Zusammenhang mit IP-Adressen von Funktions-Apps:

  • Finden der IP-Adressen, die derzeit von einer Funktions-App verwendet werden.
  • Bedingungen, die bewirken, dass Funktions-App-IP-Adressen geändert werden.
  • Einschränken der IP-Adressen, die auf eine Funktions-App zugreifen können.
  • Definieren dedizierter IP-Adressen für eine Funktions-App.

IP-Adressen werden Funktionen-Apps zugeordnet, nicht einzelnen Funktionen. Eingehende HTTP-Anforderungen können die eingehende IP-Adresse nicht verwenden, um einzelne Funktionen aufzurufen. Sie müssen den Standarddomänennamen (functionappname.azurewebsites.net) oder einen benutzerdefinierten Domänennamen verwenden.

Eingehende IP-Adresse einer Funktionen-App

Jede Funktions-App beginnt mit einer einzelnen eingehenden IP-Adresse. Bei der Ausführung in einem Verbrauchs- oder Premium-Plan können zusätzliche eingehende IP-Adressen hinzugefügt werden, wenn eine ereignisgesteuerte horizontale Skalierung erfolgt. Um die eingehende IP-Adresse oder Adressen zu ermitteln, die von Ihrer App verwendet werden, verwenden Sie das Hilfsprogramm nslookup ihres lokalen Computers, wie im folgenden Beispiel gezeigt:

nslookup <APP_NAME>.azurewebsites.net

In diesem Beispiel ersetzen Sie <APP_NAME> durch den Namen Ihrer Funktions-App. Wenn Ihre App einen benutzerdefinierten Domänennamen verwendet, verwenden Sie stattdessen nslookup für diesen benutzerdefinierten Domänennamen.

Ausgehende IP-Adressen einer Funktionen-App

Jede Funktionen-App verfügt über einen Satz von verfügbaren ausgehenden IP-Adressen. Jede ausgehende Verbindung von einer Funktion, beispielsweise mit einer Back-End-Datenbank, verwendet eine der verfügbaren ausgehenden IP-Adressen als IP-Ursprungsadresse. Im Vorfeld ist nicht klar, welche IP-Adresse eine bestimmte Verbindung verwendet. Daher muss Ihr Back-End-Dienst seine Firewall für alle ausgehenden IP-Adressen der App öffnen.

Tipp

Bei einigen Funktionen auf Plattformebene wie Key Vault-Verweise ist die Ursprungs-IP-Adresse möglicherweise keine der ausgehenden IP-Adressen, und Sie sollten die Zielressource nicht so konfigurieren, dass diese spezifischen Adressen verwendet werden. Es wird empfohlen, dass die App stattdessen eine VNET-Integration verwendet, da die Plattform Datenverkehr über dieses Netzwerk an die Zielressource weiterleitet.

So finden Sie die verfügbaren ausgehenden IP-Adressen einer Funktionen-App:

  1. Melden Sie sich beim Azure-Ressourcen-Explorer an.
  2. Wählen Sie Abonnements > {Ihr Abonnement} > Anbieter > Microsoft.Web > Websites aus.
  3. Suchen Sie im JSON-Panel die Site mit einer id-Eigenschaft, die auf den Namen Ihrer Funktionen-App endet.
  4. Prüfen Sie outboundIpAddresses und possibleOutboundIpAddresses.

Der Satz der outboundIpAddresses steht derzeit für die Funktionen-App zur Verfügung. Der Satz der possibleOutboundIpAddresses enthält IP-Adressen, die nur zur Verfügung stehen, wenn für die Funktionen-App eine Skalierung auf andere Tarife möglich ist.

Hinweis

Bei der Skalierung einer im Verbrauchstarif oder Premium-Tarif ausgeführten Funktions-App wird möglicherweise ein neuer Bereich von ausgehenden IP-Adressen zugewiesen. Wenn Sie einen dieser Pläne ausführen, können Sie sich nicht auf die gemeldeten ausgehenden IP-Adressen verlassen, um eine endgültige Positivliste zu erstellen. Um alle potenziellen ausgehenden Adressen einzubeziehen, die während der dynamischen Skalierung verwendet werden, müssen Sie das gesamte Rechenzentrum auf Ihre Positivliste setzen.

Ausgehende IP-Adressen eines Rechenzentrums

Wenn Sie einer Whitelist die von Ihrer Funktions-Apps verwendeten ausgehenden IP-Adressen hinzufügen möchten, haben Sie die zusätzliche Möglichkeit, das Rechenzentrum der Funktions-App (Azure-Region) auf eine Whitelist zu setzen. Sie können eine JSON-Datei herunterladen, die IP-Adressen für alle Azure-Rechenzentren auflistet. Suchen Sie dann das JSON-Fragment, das der Region entspricht, in der Ihre Funktions-App ausgeführt wird.

Beispielsweise könnte die Positivliste für Westeuropa etwa folgendem JSON-Fragment ähneln:

{
  "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"
    ]
  }
}

Informationen dazu, wann diese Datei aktualisiert wird und wann die IP-Adresse geändert wird, finden Sie im Abschnitt Details auf der Download Center-Seite.

Änderungen der eingehenden IP-Adresse

Die eingehende IP-Adresse kann geändert werden, wenn Sie:

  • eine Funktionen App löschen und in einer anderen Ressourcengruppe neu erstellen.
  • die letzte Funktionen-App in einer Kombination aus Ressourcengruppe und Region löschen und neu erstellen.
  • eine TLS-Bindung löschen, z. B. während der Zertifikaterneuerung.

Wenn Ihre Funktions-App in einem Verbrauchstarif oder Premium-Tarif ausgeführt wird, kann sich die eingehende IP-Adresse auch ändern, selbst wenn Sie noch keine der oben aufgeführten Aktionen ausgeführt haben.

Änderungen der ausgehenden IP-Adresse

Die relative Stabilität der ausgehenden IP-Adresse hängt vom Hostingplan ab.

Verbrauchs- und Premium-Pläne

Aufgrund des Verhaltens der automatischen Skalierung kann sich die ausgehende IP-Adresse jederzeit ändern, wenn sie in einem Verbrauchsplan oder einem Premium-Plan ausgeführt wird.

Falls Sie die ausgehende IP-Adresse Ihrer Funktions-App steuern müssen, z. B. wenn Sie sie einer Positivliste hinzufügen müssen, erwägen Sie die Implementierung eines NAT-Gateways für virtuelle Netzwerke während der Ausführung in einem Premium-Plan. Dazu können Sie auch in einem dedizierten Plan (App Service) ausführen.

Dedizierte Pläne

Bei der Ausführung in dedizierten (App Service-)Plänen kann sich der Satz der verfügbaren ausgehenden IP-Adressen für eine Funktions-App ändern, wenn Sie:

  • Maßnahmen ergreifen, durch die sich die eingehende IP-Adresse ändern kann.
  • den dedizierten (App Service-)Plan wechseln. Alle möglichen ausgehenden IP-Adressen, die Ihre App in allen Tarifen verwenden kann, sind in der possibleOutboundIPAddresses-Eigenschaft aufgelistet. Siehe Ermitteln der ausgehenden IP-Adressen.

Erzwingen der Änderung einer ausgehenden IP-Adresse

Gehen Sie folgendermaßen vor, um die Änderung einer ausgehenden IP-Adresse in einem dedizierten (App Service-)Plan zu erzwingen:

  1. Skalieren Sie Ihren App Service-Plan zwischen Standard- und Premium v2-Tarifen hoch oder herunter.

  2. Warten Sie 10 Minuten.

  3. Skalieren Sie zur Ausgangssituation zurück.

Einschränkungen für IP-Adressen

Sie können eine Liste der IP-Adressen konfigurieren, denen Sie den Zugriff auf die Funktionen-App gestatten oder verweigern möchten. Weitere Informationen finden Sie unter Statische Azure App Service-IP-Einschränkungen.

Dedizierte IP-Adressen

Wenn Ihre Funktions-App statische, dedizierte IP-Adressen erfordert, können Sie verschiedene Strategien erforschen.

NAT-Gateway eines virtuellen Netzwerks für ausgehende statische IP-Adressen

Sie können die IP-Adresse des von Ihren Funktionen ausgehenden Datenverkehrs steuern, indem Sie mithilfe eines NAT-Gateways eines virtuellen Netzwerks Datenverkehr über eine statische öffentliche IP-Adresse weiterleiten. Sie können diese Topologie für Ausführungen in einem Premium-Plan oder in einem dedizierten Plan (App Service) verwenden. Weitere Informationen finden Sie unter Tutorial: Steuern der IP-Adresse für ausgehenden Datenverkehr von Azure Functions mit einem Virtual Network NAT-Gateway in Azure.

App Service-Umgebungen

Um die vollständige Kontrolle sowohl über Eingangs- als auch Ausgangs-IP-Adressen zu erhalten, empfehlen wir App Service-Umgebungen (die Dienstebene „Isoliert“ von App Service-Plänen). Weitere Informationen finden Sie unter ASE-IP-Adressen und Steuern von eingehendem Datenverkehr in eine App Service-Umgebung.

So finden Sie heraus, ob Ihre Funktionen-App in einer App Service-Umgebung ausgeführt wird:

  1. Melden Sie sich beim Azure-Portal an.
  2. Navigieren Sie zur Funktionen-App.
  3. Klicken Sie auf die Registerkarte Übersicht.
  4. Die App Service-Plantarif wird unter App Service-Plan/Tarif angezeigt. Der App Service Environment-Tarif ist isoliert.

Die sku der App Service-Umgebung ist Isolated.

Nächste Schritte

IP-Änderungen sind häufig durch die Skalierung Ihrer Funktionen-App begründet. Erfahren Sie mehr über die Skalierung Ihrer Funktionen-App.