Ein- und ausgehende IP-Adressen in Azure App Service

Mit Ausnahme von App Service-Umgebungen ist Azure App Service ein mehrinstanzenfähiger Dienst. Apps, die sich nicht in einer App Service-Umgebung (nicht in der isolierten Ebene) befinden, nutzen die Netzwerkinfrastruktur gemeinsam mit anderen Apps. Aus diesem Grund können sich die ein- und ausgehenden IP-Adressen einer App unterscheiden und in bestimmten Situationen sogar ändern.

App Service-Umgebungen nutzen dedizierte Netzwerkinfrastrukturen, sodass in einer App Service-Umgebung ausgeführte Apps sowohl für ein- als auch ausgehende Verbindungen statische, dedizierte IP-Adressen abrufen.

Funktionsweise von IP-Adressen in App Service

Eine App Service-App wird in einem App Service-Plan ausgeführt, und App Service-Pläne werden in einer der Bereitstellungseinheiten in der Azure-Infrastruktur (intern als Webspace bezeichnet) bereitgestellt. Jeder Bereitstellungseinheit werden mehrere virtuelle IP-Adressen zugewiesen, darunter eine öffentliche IP-Adresse für eingehenden Datenverkehr und mehrere IP-Adressen für ausgehenden Datenverkehr. Alle App Service-Pläne in derselben Bereitstellungseinheit und App-Instanzen, die darin ausgeführt werden, verwenden dieselbe Gruppe von virtuellen IP-Adressen. Für eine App Service-Umgebung (ein App Service-Plan in der Isolierten Ebene) ist der App Service-Plan die Bereitstellungseinheit selbst, sodass ihr die virtuellen IP-Adressen zugewiesen werden.

Da Sie einen App Service-Plan nicht zwischen Bereitstellungseinheiten verschieben dürfen, bleiben die Ihrer Anwendung zugewiesenen virtuellen IP-Adressen in der Regel gleich, aber es gibt Ausnahmen.

Situationen, in denen sich eingehende IP-Adressen ändern

Unabhängig von der Anzahl horizontal skalierter Instanzen besitzt jede App eine einzelne eingehende IP-Adresse. Die eingehende IP-Adresse kann sich ändern, wenn Sie eine der folgenden Aktionen ausführen:

  • Sie löschen eine App und erstellen sie in einer anderen Ressourcengruppe neu (die Bereitstellungseinheit kann sich ändern).
  • Sie löschen die letzte App in einer Kombination aus Ressourcengruppe und Region und erstellen sie neu (die Bereitstellungseinheit kann sich ändern).
  • Sie löschen eine vorhandene IP-basierte TLS-/SSL-Bindung, beispielsweise während der Zertifikaterneuerung (siehe Erneuern von Zertifikaten).

Auffinden der eingehenden IP-Adresse

Führen Sie einfach den folgenden Befehl in einem lokalen Terminal aus:

nslookup <app-name>.azurewebsites.net

Abrufen einer statischen eingehenden IP-Adresse

Mitunter benötigen Sie eine dedizierte, statische IP-Adresse für Ihre App. Um eine statische eingehende IP-Adresse abzurufen, müssen Sie einen benutzerdefinierten DNS-Namen mit einer IP-basierten Zertifikatbindung sichern. Wenn Sie die TLS-Funktion eigentlich nicht zum Schutz Ihrer App benötigen, können Sie auch ein selbstsigniertes Zertifikat für diese Bindung hochladen. Bei einer IP-basierten TLS-Bindung ist das Zertifikat an die IP-Adresse selbst gebunden. Daher stellt App Service zu diesem Zweck eine statische IP-Adresse bereit.

Situationen, in denen sich ausgehende IP-Adressen ändern

Unabhängig von der Anzahl horizontal skalierter Instanzen besitzt jede App immer eine festgelegte Anzahl von ausgehenden IP-Adressen. Jede ausgehende Verbindung von der App Service-App (beispielsweise mit einer Back-End-Datenbank) verwendet eine der ausgehenden IP-Adressen als IP-Ursprungsadresse. Die zu verwendende IP-Adresse wird zur Laufzeit zufällig ausgewählt, sodass Ihr Back-End-Dienst seine Firewall für alle ausgehenden IP-Adressen Ihrer Anwendung öffnen muss.

Der Satz der ausgehenden IP-Adressen für Ihre Anwendung ändert sich, wenn Sie eine der folgenden Aktionen durchführen:

  • Sie löschen eine App und erstellen sie in einer anderen Ressourcengruppe neu (die Bereitstellungseinheit kann sich ändern).
  • Sie löschen die letzte App in einer Kombination aus Ressourcengruppe und Region und erstellen sie neu (die Bereitstellungseinheit kann sich ändern).
  • Skalieren Sie Ihre App zwischen den niedrigeren Ebenen (Basic, Standard und Premium), der Ebene PremiumV2, der Ebene PremiumV3 und der Option Pmv3 mit der Ebene PremiumV3 (IP-Adressen können der Menge hinzugefügt oder aus ihr entfernt werden).

Sie finden die Sammlung aller möglichen IP-Ausgangsadressen, die von Ihrer App verwendet werden können, indem Sie nach der Eigenschaft possibleOutboundIpAddresses suchen, oder im Feld Zusätzliche ausgehende IP-Adressen auf dem Blatt Eigenschaften im Azure-Portal. Siehe Ermitteln der ausgehenden IP-Adressen.

Beachten Sie, dass sich die Menge aller möglichen ausgehenden IP-Adressen im Laufe der Zeit erhöhen kann, wenn App Service vorhandenen App Service-Bereitstellungen neue Tarife oder Optionen hinzufügt. Wenn App Service beispielsweise die PremiumV3-Ebene einer vorhandenen App Service-Bereitstellung hinzufügt, wird die Menge aller möglichen ausgehenden IP-Adressen erhöht. Wenn App Service einer Bereitstellung, die bereits die PremiumV3-Ebene unterstützt, neue Pmv3-Optionen hinzufügt, dann wird gleichermaßen die Menge aller möglichen ausgehenden IP-Adressen erhöht. Dies hat keine sofortige Auswirkung, da sich die ausgehenden IP-Adressen für ausgeführte Anwendungen nicht ändern, wenn einer App Service-Bereitstellung ein neuer Tarif oder eine neue Option hinzugefügt wird. Wenn Anwendungen jedoch zu einem neuen Tarif oder einer neuen Option wechseln, die zuvor nicht verfügbar war, dann werden neue ausgehende Adressen verwendet, und Kunden müssen nachgeschaltete Firewallregeln und IP-Adresseinschränkungen aktualisieren.

Ermitteln der ausgehenden IP-Adressen

Um die momentan von Ihrer App verwendeten ausgehenden IP-Adressen zu ermitteln, klicken Sie im Azure-Portal im linken Navigationsbereich Ihrer App auf Eigenschaften. Sie sind im Feld Ausgehende IP-Adressen aufgelistet.

Die gleichen Informationen erhalten Sie, indem Sie den folgenden Befehl in der Cloud Shell ausführen.

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

Um unabhängig vom Tarif alle möglichen IP-Ausgangsadressen für Ihre App zu finden, klicken Sie im linken Navigationsbereich Ihrer App auf Eigenschaften. Sie sind im Feld Zusätzliche ausgehende IP-Adressen aufgelistet.

Die gleichen Informationen erhalten Sie, indem Sie den folgenden Befehl in der Cloud Shell ausführen.

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

Abrufen einer statischen ausgehenden IP-Adresse

Sie können die IP-Adresse des von Ihrer App ausgehenden Datenverkehrs steuern, indem Sie regionale VNet-Integration zusammen mit einem NAT-Gateway eines virtuellen Netzwerks verwenden, um Datenverkehr über eine statische öffentliche IP-Adresse zu leiten. Regionale VNet-Integration ist in den App Service-Plänen Basic, Standard, Premium, PremiumV2 und PremiumV3 verfügbar. Weitere Informationen zu diesem Setup finden Sie unter NAT Gateway-Integration.

Nächste Schritte

Erfahren Sie, wie Sie den eingehenden Datenverkehr anhand von Quell-IP-Adressen einschränken.