Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Die Pläne "Basic", "Standard" und "Enterprise" sind am 17. März 2025 in einen Ruhestandszeitraum eingetreten. Weitere Informationen finden Sie in der Ankündigung zur Ausmusterung von Azure Spring Apps.
Dieser Artikel gilt für:✅ Basic/Standard ✅ Enterprise
In Azure Spring Apps können Sie Ihre Anwendungen in einem verwalteten virtuellen Netzwerk bereitstellen. Dieses Setup ermöglicht eine sichere Kommunikation zwischen Ihren Anwendungen und anderen Ressourcen in Ihrem virtuellen Netzwerk, z. B. Datenbanken und anderen Diensten. Azure Container Apps bieten ähnliche Funktionen, aber mit einigen Unterschieden. In diesem Artikel werden diese Unterschiede erläutert und Anleitungen zum Erstellen und Verwalten von Azure Container Apps-Umgebungen mit verwalteten virtuellen Netzwerken bereitgestellt.
Voraussetzungen
- Ein aktives Azure-Abonnement. Sollten Sie über keins verfügen, können Sie ein kostenloses Azure-Konto erstellen.
- Azure-Befehlszeilenschnittstelle.
Erstellen in einer Azure Container Apps-Umgebung mit einem virtuellen Netzwerk
In Azure Spring Apps müssen Sie zwei Subnetze in einem virtuellen Netzwerk konfigurieren: eines für die Systemlaufzeit und eines für die Benutzer-App. Durch dieses Setup wird die Isolierung und Sicherheit sowohl für die Systemkomponenten als auch für die Benutzeranwendungen sichergestellt. Andererseits vereinfacht Azure Container Apps die Netzwerkkonfiguration, indem nur ein Subnetz für die Infrastruktur innerhalb eines virtuellen Netzwerks benötigt wird.
In Azure Container Apps ist das virtuelle Infrastrukturnetzwerk vom virtuellen Kundennetzwerk isoliert, sodass die Dienstberechtigung für das virtuelle Netzwerk in Azure Spring Apps nicht erteilt werden muss. Es gibt zwei Typen von Umgebungen, die unterstützt werden. Weitere Informationen finden Sie im Abschnitt Typen von Azure Container Apps-Umgebungen. Wenn Sie die Umgebung für Workloadprofile verwenden, müssen Sie das Virtual Network aktualisieren, um das Subnetz an Microsoft.App/environments zu delegieren. Weitere Informationen finden Sie im Abschnitt Erstellen einer Umgebung unter Bereitstellen eines virtuellen Netzwerks für eine Azure Container Apps-Umgebung.
Außerdem unterscheiden sich die Anforderungen für kleinere Subnetzbereiche zwischen den beiden Diensten.
Verwenden Sie den folgenden Azure CLI-Befehl, um eine Azure Container Apps-Umgebung mit einem virtuellen Netzwerk zu erstellen:
az containerapp env create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT \
--location "$LOCATION" \
--internal-only true \
--infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"
Die Variable $INFRASTRUCTURE_SUBNET ist die Ressourcen-ID eines Subnetzes im virtuellen Kundennetzwerk, das für Infrastrukturkomponenten und Benutzer-App-Container dient. Weitere Informationen finden Sie im Abschnitt Erstellen einer Umgebung unter Bereitstellen eines virtuellen Netzwerks für eine Azure Container Apps-Umgebung.
Wenn Sie ein benutzerdefiniertes virtuelles Netzwerk in Azure-Container-Apps verwenden möchten, bedeutet dies nicht, dass Ihre Container-App öffentliche Anforderungen nicht annehmen kann. Wenn Sie den Zugriff auf das virtuelle Kundennetzwerk vollständig einschränken möchten, müssen Sie den --internal-only-Parameter auf true festlegen. Diese Einstellung stellt sicher, dass keine öffentlichen Endpunkte erstellt werden. Weitere Informationen finden Sie im Abschnitt " Barrierefreiheitsebene " der Netzwerkebene in der Azure-Container-Apps-Umgebung und bereitstellen eines virtuellen Netzwerks für eine interne Azure-Container-Apps-Umgebung.
Migrieren der App zu Azure Container Apps
Nachdem Sie eine Azure Container Apps-Umgebung erstellt haben, besteht der nächste Schritt darin, Ihre App zu Azure Container Apps zu migrieren. Weitere Informationen finden Sie unter Concept Mapping. Informationen zum Migrieren jeder Azure-Container-App finden Sie unter Übersicht über die Anwendungsmigration und wählen Sie entweder ein Containerimage oder ein Artefakt für den Migrationsprozess aus.
Einstellung für den Eingangswechsel ändern
Azure Container Apps bieten mehr Optionen zum Anpassen von Eingangseinstellungen im Vergleich zu Azure Spring Apps. Weitere Informationen finden Sie unter Anpassen der Eingangskonfiguration in Azure Spring Apps.
Die folgende Tabelle ordnet die Konfigurationseigenschaften zwischen den beiden Diensten zu:
| Funktion | Azure Spring Apps | Azure Container Apps – ein Dienst für containerbasierte Anwendungen |
|---|---|---|
| Sitzungsaffinität | ingressSettings.sessionAffinity |
ingress.stickySessions.affinity |
| Maximalalter für Sitzungscookie | ingressSettings.sessionCookieMaxAge |
EasyAuthConfig.login.cookieExpiration.timeToExpiration |
| Back-End-Protokoll | ingressSettings.backendProtocol |
ingress.transport |
| Clientauthentifizierung | ingressSettings.clientAuth |
ingress.clientCertificateMode |
| Timeout für eingehende Lesevorgänge | ingressSettings.readTimeoutInSeconds |
240 |
| Timeout für eingehende Sendevorgänge | ingressSettings.sendTimeoutInSeconds |
240 |
Azure Container Apps erlauben Benutzern nicht, einen benutzerdefinierten Timeoutwert anzugeben. Stattdessen erzwingen sie ein integriertes Anforderungstimeout für HTTP-Anforderungen, das auf 240 Sekunden begrenzt ist. Wenn also eine Anforderung diese Dauer überschreitet, wird die Verbindung automatisch beendet, um eine effiziente Ressourcenverwaltung sicherzustellen und lange laufende Anforderungen daran zu hindern, das System zu monopolisieren.
Azure Container Apps unterstützen nicht direkt ein session-max-age-Konfigurationselement. Sie können jedoch Sitzungsdauern und Verhaltensweisen über andere verwandte Einstellungen verwalten. Beispielsweise können Sie die cookieExpiration-Einstellung in der EasyAuth-Konfiguration verwenden, um zu steuern, wie lange eine Authentifizierungssitzung dauert. Mit dieser Einstellung können Sie die Dauer angeben, für die das Authentifizierungscookies gültig bleibt.
Weitere Informationen zu den von Azure Container Apps bereitgestellten Eingangseinstellungen finden Sie unter Ingress in Azure Container Apps.
Sowohl Azure Spring Apps als auch Azure Container Apps bieten Möglichkeiten, öffentlich zugängliche Endpunkte zu generieren. In Azure Spring Apps verfügt jede Bereitstellung über eine eindeutige URL für Testzwecke während blau-grün-Bereitstellungen. Ebenso stellt eine Überarbeitungsbezeichnung in Azure Container Apps eine eindeutige URL bereit, die Sie verwenden können, um den Datenverkehr an die spezifische Überarbeitung weiterzuleiten, die der Bezeichnung zugewiesen ist. Weitere Informationen finden Sie im Abschnitt Bezeichnungen von Update und Bereitstellen von Änderungen in Azure Container Apps.
In Azure Spring Apps testet das System automatisch den Port 1025 für Anwendungen im Standard-/Standardplan und portiert 8080 für Anwendungen im Enterprise-Plan. Diese Prüfpunkte helfen, zu bestimmen, ob der Anwendungscontainer bereit ist, Datenverkehr zu akzeptieren. Andererseits bietet Azure Container Apps mehr Flexibilität, indem Benutzer den Testport selbst mithilfe des --target-port-Parameters angeben können. Diese Einstellung bietet Benutzern mehr Kontrolle über die Konfiguration und das Verhalten ihrer Anwendung.
Um den Zielport des Eingangs für eine Container-App zu aktualisieren, können Sie den folgenden Azure CLI-Befehl verwenden:
az containerapp ingress update \
--resource-group <resource-group> \
--name <app-name> \
--target-port <target-port>
In der folgenden Liste werden die einzelnen Parameter erläutert:
-
--name: Der Name Ihrer Container-App. -
--resource-group: Die Ressourcengruppe, die Ihre Container-App enthält. -
--target-port: Der Port, auf den Ihre Container-App lauscht.
Weitere Informationen finden Sie im Abschnitt Aktivieren des Eingangs von Konfigurieren des Eingangs für Ihre App in Azure Container Apps.
Einstellung für den Ausgang ändern (UDR)
Sowohl Azure Spring Apps als auch Azure Container Apps bieten Möglichkeiten, ausgehenden Datenverkehr über das Feature Eigene Routentabellen nutzen - User Defined Routes (UDR), mit Azure Firewall zu steuern. Beachten Sie jedoch die folgenden Unterschiede:
- Es ist nicht erforderlich, eine Rollenzuweisung für einen Azure Container Apps-Ressourcenanbieter hinzuzufügen.
- Ein dediziertes Subnetz für das Azure Container Apps-Dienstlaufzeitsubnetz ist nicht erforderlich.
- Azure Container Apps bieten eine flexiblere Möglichkeit zur Unterstützung von UDR. In Azure Container Apps muss die Option
--outbound-typenicht explizit aufuserDefinedRoutingfestgelegt werden, wenn Azure Spring Apps bereitgestellt werden.
Weitere Informationen finden Sie unter Steuern des ausgehenden Datenverkehrs in Azure-Container-Apps mit benutzerdefinierten Routen.
In Azure Container Apps unterstützen nur Workloadprofile des Umgebungstyps UDR. Darüber hinaus unterstützen Azure Container Apps den Ausgang über das NAT-Gateway und die Erstellung privater Endpunkte in der Container-App-Umgebung.
Verwenden Sie den folgenden Befehl, um eine Azure Container Apps-Umgebung zu erstellen, die UDR unterstützt:
az containerapp env create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT \
--location "$LOCATION" \
--enable-workload-profiles \
--infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"
Legen Sie den Parameter --enable-workload-profiles auf true fest, um Workloadprofile zu aktivieren.
Sichern virtueller Netzwerke mit Netzwerksicherheitsgruppen
Sowohl Azure Spring Apps als auch Azure Container Apps bieten robuste Unterstützung, sodass Sie ausgehenden Datenverkehr effektiv mithilfe von Netzwerksicherheitsgruppen (Network Security Groups, NSG) verwalten und sichern können. Die Hauptunterschiede liegen in den spezifischen Konfigurationen.
Weitere Informationen finden Sie unter Sichern eines benutzerdefinierten VNET in Azure Container Apps mit Netzwerksicherheitsgruppen.
Ändern der DNS-Einstellungen
Sowohl Azure Spring Apps als auch Azure Container Apps unterstützen die Verwendung von benutzerdefinierten DNS-Servern in einem virtuellen Kundennetzwerk. Es wird empfohlen, die Azure DNS-IP-Adresse 168.63.129.16 als Upstream-DNS-Server im benutzerdefinierten DNS-Server hinzuzufügen.
Weitere Informationen finden Sie unter DNS für virtuelle Netzwerke in Azure-Container-Apps-Umgebungen.
Derzeit unterstützt Azure Container Apps in einem Nur-Verbrauch-Umgebungstyp das Leeren von DNS-Einstellungen nicht so, wie Azure Spring Apps. Weitere Informationen finden Sie unter Änderungen der DNS-Einstellungen leeren in Azure Spring Apps. Der Workloadprofiltyp der Umgebung aktualisiert jedoch automatisch alle 5 Minuten DNS-Einstellungen.
Azure Container Apps unterstützen die Bereitstellung mit einer privaten DNS-Zone. Weitere Informationen finden Sie im Abschnitt Bereitstellen mit einer privaten DNS unter Bereitstellen eines virtuellen Netzwerks für eine Azure Container Apps-Umgebung. Dieser Ansatz bietet eine flexiblere Möglichkeit, das Verknüpfen einer privaten DNS-Zone als die Verwendung von Azure Spring Apps zu unterstützen. Weitere Informationen finden Sie im Abschnitt Verknüpfen der privaten DNS-Zone mit Azure Spring Apps in Zugreifen auf eine App in Azure Spring Apps in einem virtuellen Netzwerk.
Zugreifen auf eine App in Azure Container Apps in einem virtuellen Kundennetzwerk
Azure Container Apps bietet sowohl Zugriff auf öffentliche Netzwerke als auch private Endpunkt-Features, um Anwendungen im Internet verfügbar zu machen oder sie in einem privaten Netzwerk zu sichern. Ebenso unterstützt Azure Spring Apps diese Features, wie in den folgenden Artikeln beschrieben: