Netzwerk für die Azure Container Apps – Zielzonenbeschleuniger
Container-Apps sind für die Pflege von Betriebssystemupdates, Skalierung, Failoverprozessen und Ressourcenzuordnung in einer Container Apps-Umgebung verantwortlich. Umgebungen kapseln eine oder mehrere Container-Anwendungen oder -Aufträge ein, indem sie eine sichere Abgrenzung durch ein virtuelles Netzwerk (VNet) schaffen.
Standardmäßig wird automatisch ein VNet für Ihre Container-App-Umgebung erstellt. Wenn Sie jedoch eine umfassendere Kontrolle über Ihr Netzwerk wünschen, können Sie ein bereits vorhandenes VNet verwenden, während Sie Ihre Container-App-Umgebung erstellen.
Umgebungen können externe Anforderungen annehmen oder gesperrt werden, so dass nur interne Anforderungen möglich sind.
Externe Umgebungen machen Container-Apps mithilfe einer virtuellen IP-Adresse verfügbar, auf die über das öffentliche Internet zugegriffen werden kann. Alternativ können interne Umgebungen ihre Container-Apps in einer IP-Adresse in Ihrem virtuellen Netzwerk verfügbar machen. Sie können den Datenverkehr entweder innerhalb der Container-App-Umgebung oder über das virtuelle Netzwerk einschränken. Weitere Informationen finden Sie unter Überlegungen zur Sicherheit des Azure Container Apps-Zielzonenbeschleunigers.
Überlegungen
Subnetzanforderungen:
- Für eine Umgebung im virtuellen Netzwerk ist ein dediziertes Subnetz erforderlich. Die CIDR des Subnetzes sollte bei Umgebungen mit ausschließlichem Verbrauch mindestens
/23
betragen, bei Umgebungen mit Workload-Profilen mindestens/27
.
- Für eine Umgebung im virtuellen Netzwerk ist ein dediziertes Subnetz erforderlich. Die CIDR des Subnetzes sollte bei Umgebungen mit ausschließlichem Verbrauch mindestens
IP-Adressverwaltung:
Eine Basis von 60 IPs ist in Ihrem VNet reserviert. Dieser Betrag kann sich erhöhen, wenn ihre Containerumgebung skaliert wird, da jede App-Revision eine IP-Adresse aus dem Subnetz erhält. Ausgehende IPs können sich im Laufe der Zeit ändern.
Es werden nur IPv4-Adressen unterstützt (IPv6 wird nicht unterstützt).
Eine verwaltete öffentliche IP-Ressource verarbeitet ausgehende Anforderungen und Verwaltungsdatenverkehr, unabhängig davon, ob Sie über eine externe oder interne Umgebung verfügen.
Netzwerksicherheit:
- Sie können ein Netzwerk über Netzwerksicherheitsgruppen (NSGs) mit restriktiveren Regeln sperren als mit den NSG-Standardregeln, die den gesamten ein- und ausgehenden Datenverkehr für eine Umgebung steuern.
Proxy und Verschlüsselung:
- Container Apps verwenden einen Envoy Proxy als HTTP-Edgeproxy. Alle HTTP-Anforderungen werden automatisch an HTTPs umgeleitet. Envoy beendet die Transport Layer Security (TLS) nach dem Überschreiten seiner Grenze. Mutual Transport Layer Security (mTLS) ist nur bei Verwendung von Dapr verfügbar. Da Envoy jedoch mTLS beendet, werden eingehende Anrufe von Envoy zu Dapr-fähigen Container-Apps nicht verschlüsselt.
DNS-Überlegungen:
Bei der Bereitstellung einer Umgebung führt Container Apps viele DNS-Nachschlagevorgänge durch. Einige dieser Nachschlagevorgänge beziehen sich auf interne Azure-Domänen. Wenn Sie den DNS-Datenverkehr über Ihre benutzerdefinierte DNS-Lösung erzwingen, konfigurieren Sie Ihren DNS-Server, um nicht aufgelöste DNS-Abfragen an Azure DNS weiterzuleiten.
Für Anwendungen, die intern auf Container Apps laufen, verlässt sich das System auf Azure Private DNS Zones, um den DNS-Namen in die interne IP-Adresse aufzulösen. Innerhalb der privaten DNS-Zone können Sie einen Platzhaltereintrag (
*
)A
auf die interne IP-Adresse des Lastenausgleichs verweisen.
Ausgehende Datenverkehrsverwaltung:
- Ausgehender Datenverkehr (Ausgang) sollte über eine Azure Firewall-Instanz oder einen Cluster virtueller Netzwerkgeräte weitergeleitet werden.
Lastenausgleich zwischen Umgebungen:
- Wenn Sie Ihre Anwendung aus Gründen der Ausfallsicherheit oder der Nähe auf mehreren Container Apps-Umgebungen ausführen möchten, sollten Sie einen globalen Lastausgleichsdienst wie Azure Traffic Manager oder Azure Front Door verwenden.
Netzwerksicherheit:
Verwenden Sie Netzwerksicherheitsgruppen (Network Security Groups, NSG), um Ihr Netzwerk zu schützen und unnötigen eingehenden und ausgehenden Datenverkehr zu blockieren.
Verwenden Sie Azure DDoS Protection für die Azure Container Apps-Umgebung.
Verwenden Sie Private Link für sichere Netzwerkverbindungen und private IP-basierte Konnektivität mit anderen verwalteten Azure-Diensten.
Stellen Sie sicher, dass alle Endpunkte für die Lösung (intern und extern) nur TLS-verschlüsselte Verbindungen (HTTPS) akzeptieren.
Verwenden Sie eine Webanwendungsfirewall mit dem HTTPS/TCP-Eingang für internetbezogene und sicherheitskritische, intern zugängliche Webanwendungen.
In einigen Szenarien sollten Sie eine Container Apps-Webanwendung direkt im Internet verfügbar machen und mit CDN/WAF-Diensten von Drittanbietern schützen.
Empfehlungen
Netzwerkkonfiguration: Stellen Sie Ihre Container-Apps in einem benutzerdefinierten virtuellen Netzwerk bereit, um mehr Kontrolle über die Netzwerkkonfiguration zu erhalten.
Sichere eingehende Konnektivität: Verwenden Sie beim Veröffentlichen von internetorientierten Diensten Azure Application Gateway (WAF_v2 SKU) oder Azure Front Door (mit Webanwendungsfirewall), um eingehende Verbindungen zu sichern.
interne Datenverkehrsverwaltung: Verwenden Sie eine interne Netzwerkkonfiguration für Dienste wie Azure Application Gateway oder Azure Front Door, um sicherzustellen, dass der Datenverkehr vom Lastenausgleich zur Azure Container Apps-Umgebung eine interne Verbindung verwendet.
Verfügbarmachen von Anwendungen: Aktivieren Sie den Eingang, um Ihre Anwendung über HTTPs oder TCP-Port verfügbar zu machen.