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 erstellt App Service zu diesem Zweck eine statische IP-Adresse.
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 der Seite Eigenschaften im Azure-Portal. Siehe Ermitteln der ausgehenden IP-Adressen.
Die Menge aller möglichen ausgehenden IP-Adressen kann sich im Laufe der Zeit erhöhen, 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 die Menge aller möglichen ausgehenden IP-Adressen erhöht. Das Hinzufügen von IP-Adressen zu einer Bereitstellung 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, wählen Sie im Azure-Portal im linken Navigationsbereich Ihrer App Eigenschaften aus. Sie werden 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
Informationen zu Funktions-Apps finden Sie unter Ausgehende IP-Adressen der Funktions-App.
Abrufen einer statischen ausgehenden IP-Adresse
Sie können die IP-Adresse des von Ihrer App ausgehenden Datenverkehrs steuern, indem Sie virtuelle Netzwerk-Integration zusammen mit einem NAT-Gateway eines virtuellen Netzwerks verwenden, um Datenverkehr über eine statische öffentliche IP-Adresse zu leiten. Integration virtueller Netzwerke 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.
Diensttag
Mithilfe des Diensttags AppService
können Sie den Netzwerkzugriff für den Azure App Service-Dienst definieren, ohne einzelne IP-Adressen anzugeben. Das Diensttag ist eine Gruppe von IP-Adresspräfixen, mit denen Sie die Komplexität bei der Erstellung von Sicherheitsregeln minimieren. Wenn Sie Diensttags verwenden, aktualisiert Azure automatisch die IP-Adressen für den Dienst, wenn sie sich ändern. Das Diensttag ist jedoch kein Sicherheitskontrollmechanismus. Das Diensttag ist lediglich eine Liste mit IP-Adressen.
Das AppService
-Diensttag enthält nur die eingehenden IP-Adressen von Mehrinstanzen-Apps. Eingehende IP-Adressen von Apps, die in isolierter (App Service Environment) bereitgestellt werden, und Apps, die IP-basierte TLS-Bindungen verwenden, sind nicht enthalten. Darüber hinaus sind alle ausgehenden IP-Adressen, die sowohl in Multitenant als auch isoliert verwendet werden, nicht im Tag enthalten.
Das Tag kann verwendet werden, um ausgehenden Datenverkehr in einer Netzwerksicherheitsgruppe (Network Security Group, NSG) für Apps zuzulassen. Wenn die App IP-basiertes TLS verwendet oder die App im isolierten Modus bereitgestellt wird, müssen Sie stattdessen die dedizierte IP-Adresse verwenden.
Hinweis
Das Diensttag hilft Ihnen beim Definieren des Netzwerkzugriffs, sollte jedoch nicht als Ersatz für geeignete Netzwerksicherheitsmaßnahmen betrachtet werden, da es keine präzise Kontrolle über einzelne IP-Adressen bietet.
Nächste Schritte
- Erfahren Sie, wie Sie den eingehenden Datenverkehr anhand von Quell-IP-Adressen einschränken.
- Erfahren Sie mehr über Diensttags.