Überlegungen zur Netzwerktopologie und -konnektivität für den App Service-Zielzonenbeschleuniger
Dieser Artikel enthält Überlegungen und Empfehlungen zum Entwurf der Netzwerktopologie und -konnektivität, die Sie bei der Verwendung des Azure App Service-Zielzonenbeschleunigers anwenden können. In einer Zielzone ist das Netzwerk für fast alle Komponenten ein zentrales Element.
Die Überlegungen zur Netzwerktopologie und -konnektivität für diese Architektur hängen von den Anforderungen der gehosteten Workloads sowie den Sicherheits- und Konformitätsanforderungen Ihrer Organisation ab.
Überlegungen zum Entwurf
Wenn Sie eine App Service-Lösung in Azure bereitstellen, müssen Sie die Netzwerkanforderungen sorgfältig prüfen, um sicherzustellen, dass Ihre Anwendung einwandfrei funktioniert. Bei der Planung einer Bereitstellung müssen mehrere wichtige Faktoren berücksichtigt werden:
Ermitteln Sie die Netzwerkanforderungen Ihrer Anwendung.
- Eingehender Datenverkehr. Wenn Ihre App webbasierte Dienste wie eine Website oder API bereitstellt, muss sie wahrscheinlich in der Lage sein, eingehenden Datenverkehr aus dem Internet zu empfangen. Sie müssen Ihre App zum Lauschen an den entsprechenden Ports konfigurieren, damit sie eingehende Verbindungen akzeptieren kann.
- Zugriff auf andere Azure-Ressourcen. Möglicherweise muss Ihre App über ihren privaten Endpunkt auf Ressourcen in Azure (z. B. Speicherkonten oder Datenbanken) zugreifen können. Diese Ressourcen können sich in einem virtuellen Azure-Netzwerk oder in anderen Azure-Diensten befinden.
- SSL (Secure Sockets Layer)/TLS (Transport Layer Security). Zum Schutz der Kommunikation zwischen Ihrer App und den Benutzern müssen Sie die SSL-/TLS-Verschlüsselung aktivieren. Dadurch wird sichergestellt, dass der Datenverkehr zwischen Ihrer App und den Benutzern verschlüsselt wird und vertrauliche Informationen vor dem Abfangen durch Dritte geschützt werden.
- IP-Einschränkungen. Je nach Ihren Anforderungen müssen Sie den Zugriff auf Ihre App über bestimmte IP-Adressen oder -Adressbereiche möglicherweise zulassen oder blockieren. Dadurch können Sie die Sicherheit verbessern und den Zugriff auf Ihre App auf bestimmte Benutzer oder Standorte beschränken.
Auswahl einer App Service-Planebene. Bestimmen Sie basierend auf den Netzwerkanforderungen Ihrer Anwendung die geeignete Dienstebene für Ihren App Service-Plan. Prüfen Sie die verschiedenen App Service-Planebenen und deren Features, um die am besten geeignete Planebene für Ihre Anforderungen zu ermitteln.
Mehrinstanzenfähiger App Service-Dienst
Eine mehrinstanzenfähige App Service-Lösung nutzt eine einzelne eingehende IP-Adresse und mehrere ausgehende IP-Adressen gemeinsam mit anderen App Service-Ressourcen in einer einzelnen Bereitstellungseinheit. Diese IP-Adressen können aus verschiedenen Gründen geändert werden. Wenn Sie konsistente ausgehende IP-Adressen für eine mehrinstanzenfähige App Service-Lösung benötigen, können Sie ein NAT-Gateway (Network Adress Translation, Netzwerkadressenübersetzung) konfigurieren oder die Integration in ein virtuelles Netzwerk (VNet) verwenden.
Wenn Sie eine dedizierte IP-Adresse für Ihre App Service-Lösung benötigen, können Sie eine von der App zugewiesene Adresse verwenden, Ihrer App Service-Instanz ein Anwendungsgateway (dem eine statische IP-Adresse zugewiesen wird) vorschalten oder ein IP-basiertes SSL-Zertifikat verwenden, um Ihrer App über die App Service-Plattform eine dedizierte IP-Adresse zuzuweisen.
Wenn Sie über eine App Service-Lösung eine Verbindung mit lokalen, privaten oder IP-beschränkten Diensten herstellen müssen, sollten Sie Folgendes berücksichtigen:
- In einer mehrinstanzenfähigen App Service-Bereitstellung kann ein App Service-Aufruf von einer Vielzahl von IP-Adressen stammen. Möglicherweise ist die Integration in ein virtuelles Netzwerk erforderlich.
- Sie können Dienste wie API Management und Application Gateway verwenden, um Aufrufe zwischen Netzwerkgrenzen weiterzuleiten. Diese Dienste können bei Bedarf eine statische IP-Adresse bereitstellen.
Sie können einen privaten oder einen öffentlichen Endpunkt für eine mehrinstanzenfähige App Service-Bereitstellung verwenden. Durch die Verwendung eines privaten Endpunkts können Sie die öffentliche Verfügbarmachung gegenüber der App Service-Lösung verhindern. Wenn der private Endpunkt der App Service-Lösung über das Internet zugänglich sein muss, können Sie erwägen, die App Service-Lösung mithilfe von Application Gateway verfügbar zu machen.
Eine mehrinstanzenfähige App Service-Bereitstellung macht eine Reihe von Ports verfügbar. In einer mehrinstanzenfähigen App Service-Bereitstellung ist es nicht möglich, den Zugriff auf diese Ports zu blockieren oder zu steuern.
Planen Sie Ihre Subnetze korrekt für die VNet-Integration für ausgehenden Datenverkehr, und berücksichtigen Sie die Anzahl erforderlicher IP-Adressen. Die Integration virtueller Netzwerke hängt von der Verwendung eines dedizierten Subnetzes ab. Wenn Sie ein Azure-Subnetz bereitstellen, reserviert Azure fünf IP-Adressen. Für jede Instanz des App Service-Plans wird eine IP-Adresse aus dem Integrationssubnetz verwendet. Wenn Sie Ihre App beispielsweise auf vier Instanzen skalieren, werden vier IP-Adressen verwendet. Beim Hoch- oder Herunterskalieren wird der erforderliche Adressraum für einen kurzen Zeitraum verdoppelt. Dies wirkt sich auf die unterstützten Instanzen aus, die für eine bestimmte Subnetzgröße verfügbar sind.
Da die Größe eines Subnetzes nach der Zuweisung nicht mehr geändert werden kann, müssen Sie ein Subnetz verwenden, das groß genug für den potenziellen Bedarf Ihrer App ist. Verwenden Sie die Größe /26 mit 64 Adressen für die VNet-Integration, um Probleme mit der Subnetzkapazität zu vermeiden.
Wenn Sie eine Verbindung mit einer mehrinstanzenfähigen App Service-Lösung herstellen und eine dedizierte ausgehende Adresse benötigen, verwenden Sie ein NAT-Gateway.
App Service-Umgebung (einzelner Mandant)
- Wählen Sie einen Netzwerkentwurf für Ihre App Service-Umgebung (App Service Environment, ASE) aus: externer oder interner Lastenausgleich. Verwenden Sie eine externe Bereitstellung, wenn Sie direkten Zugriff über das Internet benötigen. Verwenden Sie eine Bereitstellung mit internem Lastenausgleich, um den Zugriff nur innerhalb des virtuellen Netzwerks verfügbar zu machen, in dem die ASE bereitgestellt wird. Letzteres bietet eine zusätzliche Sicherheitsebene und ermöglicht eine bessere Steuerung des Netzwerkzugriffs auf die Apps.
- App Services in einer ASE werden für die Lebensdauer der ASE statische, dedizierte IP-Adressen für die ein- und ausgehende Kommunikation zugewiesen.
- Wenn Sie über eine ASE eine Verbindung mit lokalen, privaten oder IP-beschränkten Diensten herstellen müssen, wird die ASE im Kontext eines virtuellen Netzwerks ausgeführt.
- Sie wählen die Größe des Subnetzes beim Bereitstellen einer ASE aus. Die Größe kann später nicht mehr geändert werden. Empfohlen wird die Größe /24, die 256 Adressen bietet und eine ASE maximaler Größe sowie alle Skalierungsanforderungen unterstützen kann.
Entwurfsempfehlungen
Die folgenden bewährten Methoden gelten für jede App Service-Bereitstellung.
- Herstellen einer Verbindung mit einer App Service-Lösung:
- Implementieren Sie Azure Web Application Firewall vor Ihrer App Service-Lösung. Verwenden Sie Azure Front Door, Application Gateway oder einen Partnerdienst, um diesen auf OWASP (Open Web Application Security Project) basierenden Schutz bereitzustellen. Sie können Azure Front Door oder Application Gateway für eine einzelne Region oder beides für mehrere Regionen verwenden. Wenn Sie Pfadrouting in der Region benötigen, verwenden Sie Application Gateway. Falls Sie einen Lastenausgleich für mehrere Regionen und Web Application Firewall benötigen, verwenden Sie Azure Front Door.
- Die Verwendung eines privaten Endpunkts für App Service ermöglicht es Ihnen, über einen privaten, netzwerkbasierten Endpunkt auf die App zuzugreifen und nicht über einen öffentlichen internetbasierten Endpunkt. Wenn Sie einen privaten Endpunkt verwenden, können Sie den Zugriff auf die App auf Benutzer in Ihrem virtuellen Netzwerk beschränken. Dies bietet eine zusätzliche Sicherheitsebene für Ihre App, verringert die Kosten für ausgehenden Datenverkehr und verbessert die Leistung.
- Stellen Sie mithilfe von Zugriffseinschränkungen sicher, dass nur von gültigen Standorten auf die App Service-Lösung zugegriffen werden kann. Richten Sie beispielsweise für eine mehrinstanzenfähige App Service-Bereitstellung, die APIs hostet und der API Management vorgeschaltet ist, eine Zugriffseinschränkung ein, durch die nur über API Management auf die App Service-Lösung zugegriffen werden kann.
- Herstellen einer Verbindung über eine App Service-Lösung:
- Wenn Sie private Konnektivität mit anderen Azure-Diensten benötigen, verwenden Sie Azure Private Link, sofern dies unterstützt wird. (Die unterstützten Dienste finden Sie) hier.
- Verwenden Sie die integrierten Tools, um Netzwerkprobleme zu behandeln.
- Vermeiden Sie eine SNAT-Portauslastung, indem Sie Verbindungspools verwenden. Die wiederholte Erstellung von Verbindungen mit demselben Host und Port kann zu langsamen Antwortzeiten, zeitweiligen Fehlern vom Typ 5xx, Timeouts oder Problemen bei der Verbindung mit externen Endpunkten führen.
- Befolgen Sie die Empfehlungen, die im Abschnitt Netzwerksicherheit der Azure-Sicherheitsbaseline für App Service beschrieben sind.
Das Ziel der Überlegungen zur Netzwerktopologie und -konnektivität für den App Service-Zielzonenbeschleuniger besteht darin, eine allgemeine Vorlage zum Implementieren einer skalierbaren und resilienten Umgebung für die Bereitstellung von App Services bereitzustellen. Diese Vorlage legt den Schwerpunkt auf Netzwerkarchitektur und -konnektivität und erleichtert Ihnen die schnelle und effiziente Einrichtung eine Zielzone in Azure, um App Services-Lösungen zu hosten.