Erkunden der App Service-Netzwerkfunktionen

Abgeschlossen

Standardmäßig sind Apps, die in App Service gehostet werden, direkt über das Internet zugänglich und können nur Endpunkte erreichen, die im Internet gehostet werden. Für viele Anwendungen müssen Sie jedoch den ein- und ausgehenden Netzwerkdatenverkehr kontrollieren.

Es gibt zwei Hauptbereitstellungstypen für Azure App Service. Den mehrinstanzenfähigen öffentlichen Dienst, der App Service-Pläne in den Preis-SKUs (Tarifen) „Free“, „Shared“, „Basic“, „Standard“, „Premium“, „PremiumV2“ und „PremiumV3“ hostet. Es gibt auch die App Service-Umgebung (App Service Environment, ASE) für einzelne Mandanten, die App Service-Pläne für SKUs in Tarifen des Typs „Isoliert“ direkt in Ihrem virtuellen Azure-Netzwerk hostet.

Netzwerkfunktionen für mehrinstanzenfähigen App Service

Azure App Service ist ein verteiltes System. Die Rollen, mit denen eingehende HTTP/HTTPS-Anforderungen verarbeitet werden, werden als Front-Ends bezeichnet. Die Rollen, mit denen die Kundenworkload gehostet wird, werden als Worker bezeichnet. Alle Rollen in einer App Service-Bereitstellung sind in einem mehrinstanzenfähigen Netzwerk vorhanden. Da es viele verschiedene Kunden in derselben App Service-Skalierungseinheit gibt, können Sie das App Service-Netzwerk nicht direkt mit Ihrem Netzwerk verbinden.

Statt die Netzwerke zu verbinden, sind Funktionen erforderlich, mit denen die verschiedenen Aspekte der Anwendungskommunikation verwaltet werden. Die Funktionen, mit denen Anforderungen an Ihre App verwaltet werden, können nicht dazu verwendet werden, Probleme zu lösen, wenn Sie Aufrufe aus Ihrer App tätigen. Umgekehrt können die Funktionen, die Probleme für Aufrufe aus Ihrer App lösen, nicht dazu verwendet werden, Probleme mit Anforderungen an Ihre App zu lösen.

Eingehende Funktionen Ausgehende Funktionen
Von der App zugewiesene Adresse Hybridverbindungen
Zugriffsbeschränkungen Integration des virtuellen Netzwerks mit erforderlichem Gateway
Dienstendpunkte Integration in ein virtuelles Netzwerk
Private Endpunkte

Sie können die Funktionen mit wenigen Ausnahmen kombinieren, um Ihre Probleme zu lösen. Die folgenden Anwendungsfälle für eingehende Anforderungen sind Beispiele dafür, wie App Service-Netzwerkfunktionen dazu verwendet werden können, den eingehenden Datenverkehr an Ihre App zu steuern.

Eingehender Anwendungsfall Funktion
Unterstützung für IP-basiertes SSL für Ihre App benötigt Von der App zugewiesene Adresse
Unterstützung einer nicht freigegebenen, dedizierten eingehenden Adresse für Ihre App Von der App zugewiesene Adresse
Beschränken des Zugriffs auf Ihre App aus einem Satz klar definierter Adressen Zugriffsbeschränkungen

Standardmäßiges Netzwerkverhalten

Azure App Service-Skalierungseinheiten unterstützen viele Kunden in jeder Bereitstellung. Für die SKU-Pläne „Free“ und „Shared“ werden Kundenworkloads in mehrinstanzenfähigen Workern gehostet. Für den Plan „Basic“ und höhere Pläne werden Kundenworkloads gehostet, die nur einem App Service-Plan zugeordnet sind. Wenn Sie den App Service-Plan „Standard“ haben, werden alle Apps in diesem Plan im selben Worker ausgeführt. Wenn Sie den Worker aufskalieren, werden alle Apps in diesem App Service-Plan in einem neuen Worker für jede Instanz in Ihrem App Service-Plan repliziert.

Ausgehende Adressen

Die Worker-VMs werden größtenteils durch die App Service-Pläne aufgeschlüsselt. Die Pläne „Free“, „Shared“, „Basic“, „Standard“ und „Premium“ verwenden alle denselben Worker-VM-Typ. Der Plan „PremiumV2“ verwendet einen anderen VM-Typ. „PremiumV3“ verwendet noch einen anderen VM-Typ. Wenn Sie die VM-Familie wechseln, erhalten Sie einen anderen Satz ausgehender Adressen. Wenn Sie von „Standard“ auf „Premiumv2“ skalieren, ändern sich Ihre ausgehenden Adressen. Wenn Sie von „Premiumv2“ auf „Premiumv3“ skalieren, ändern sich Ihre ausgehenden Adressen. In einigen älteren Skalierungseinheiten ändern sich sowohl die eingehenden als auch die ausgehenden Adressen, wenn Sie von „Standard“ auf „PremiumV2“ skalieren.

Es gibt eine Reihe von Adressen, die für ausgehende Aufrufe verwendet werden. Die von Ihrer App für ausgehende Aufrufe verwendeten ausgehenden Adressen werden in den Eigenschaften für Ihre App aufgeführt. Diese Adressen werden von allen Apps, die auf derselben Familie von Worker-VM ausgeführt werden, in der App Service-Bereitstellung gemeinsam genutzt. Wenn Sie alle Adressen anzeigen möchten, die Ihre App in einer Skalierungseinheit möglicherweise verwenden könnte, gibt es die Eigenschaft namens possibleOutboundAddresses, mit der sie aufgelistet werden.

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.

Die gleichen Informationen erhalten Sie, indem Sie den folgenden Befehl in der Cloud Shell ausführen. Sie sind im Feld Zusätzliche ausgehende IP-Adressen aufgelistet.

az webapp show \
    --resource-group <group_name> \
    --name <app_name> \ 
    --query outboundIpAddresses \
    --output tsv

Um unabhängig vom Tarif alle möglichen ausgehenden IP-Adressen für Ihre App zu ermitteln, führen Sie den folgenden Befehl in der Cloud Shell aus.

az webapp show \
    --resource-group <group_name> \ 
    --name <app_name> \ 
    --query possibleOutboundIpAddresses \
    --output tsv