Teilen über


Migrieren eines benutzerdefinierten virtuellen Netzwerks

Hinweis

Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.

Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container 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

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 virtuelles Kundennetzwerk in Azure Container Apps verwenden möchten, bedeutet dies nicht, dass Ihre Container-App öffentliche Anforderungen nicht akzeptieren 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 Virtual IP in Networking 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
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-type nicht explizit auf userDefinedRouting festgelegt werden, wenn Azure Spring Apps bereitgestellt werden.

Weitere Informationen finden Sie im Abschnitt Routen in Subnetzkonfiguration mit CLI und 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 im Abschnitt DNS von Netzwerk in der Azure Container Apps-Umgebung.

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: