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.
In diesem Artikel wird beschrieben, wie Sie eine Azure-Container-Apps-Workload in eine andere Azure-Region verschieben, indem Sie die verwaltete Umgebung und Container-Apps in der Zielregion neu erstellen. Der Prozess umfasst den Export der Anwendungskonfiguration, das erneute Bereitstellen von Ressourcen, die Überprüfung der Bereitstellung und das Bereinigen von Ressourcen in der Quellregion.
Important
Azure-Container-Apps unterstützen keine vor Ort-Regionenmigration. Sie erstellen Ressourcen in der Zielregion neu – vorhandene Ressourcen werden nicht verschoben. Dieser Artikel behandelt die Verlagerung der Konfiguration und Infrastruktur von Container-Apps. Die Replikation von Anwendungsdaten, Datenbanken oder anderen zustandsbehafteten Abhängigkeiten wird nicht behandelt.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen:
- Azure-Container-Apps sind in der Zielregion verfügbar.
- Die Zielregion unterstützt dieselben Container-Apps-Features, Workloadprofile und Netzwerkoptionen, die Sie in der Quellregion verwenden.
- Sie verfügen über ein ausreichendes Kontingent in der Zielregion für die Ressourcen, die Sie bereitstellen möchten.
- Sie verfügen über die folgenden Berechtigungen sowohl in den Quell- als auch in den Zielabonnements:
- Besitzer oder Mitwirkender in der Ressourcengruppe.
- Container Apps Contributor (empfohlen). Diese Rolle umfasst Wildcard-Berechtigungen, die Zugriff auf Container-Apps-Geheimwerte gewähren. Für engeren Zugriff siehe Berechtigungen zur Verwaltung von Geheimnissen.
- Ihre Containerimages befinden sich in einer Registrierung, auf die über die Zielregion zugegriffen werden kann (z. B. Azure Container Registry oder eine unterstützte externe Registrierung).
- Abhängige Azure-Ressource wie Key Vault, Speicherkonten, Datenbanken, virtuelle Netzwerke und Messagingdienste sind entweder bereits in der Zielregion verfügbar oder verfügen über einen Plan für die erneute Bereitstellung.
Tip
Wenn Sie Azure Container Registry (ACR) verwenden, sollten Sie die Georeplikation aktivieren, um Bilder in der Zielregion verfügbar zu machen, ohne die Registrierung erneut bereitzustellen.
az acr replication create --registry <REGISTRY_NAME> --location <TARGET_REGION>
Verstehen von Ausfallzeitenanforderungen
Azure-Container-Apps unterstützen keine Migration von Live-Regionen. Ausfallzeiten werden in erster Linie durch DNS-Propagation und Änderungen im Datenverkehrsrouting während der Umschaltung verursacht. So minimieren Sie die Auswirkungen:
- Stellen Sie zuerst die Container-App in der Zielregion bereit und überprüfen Sie sie.
- Niedrigere DNS-TTL-Werte im Voraus (z. B. auf 60 Sekunden), sodass sich Routingänderungen schnell verteilen.
- Leiten Sie den Produktionsdatenverkehr erst nach Abschluss der Überprüfung an den neuen Endpunkt um.
- Lassen Sie die Quellcontainer-App weiterlaufen, bis Sie sich vergewissert haben, dass die Zielbereitstellung fehlerfrei funktioniert.
Vorbereiten
Um sich auf die Verlagerung vorzubereiten, exportieren Sie die Quellkonfiguration, und überprüfen Sie alle regionsspezifischen Einstellungen.
Identifizieren von Abhängigkeiten
Die folgenden abhängigen Ressourcen müssen vor der Übernahme in der Zielregion vorhanden sein:
- Azure Key Vault (ein Dienst zur sicheren Verwaltung kryptografischer Schlüssel)
- Speicherkonten
- Datenbanken und Messagingdienste (z. B. Azure Service Bus, Azure Cosmos DB)
- Virtuelle Netzwerke, Subnetze und private Endpunkte
- Netzwerksicherheitsgruppen (NSGs) und benutzerdefinierte Routen (UDRs)
- Privates DNS Zonen
- Log Analytics-Arbeitsbereiche
- Dapr-Komponenten (falls verwendet)
Important
Geheime Schlüssel, Zertifikate, benutzerdefinierte Domänen und sichere Konfigurationswerte bleiben in exportierten Vorlagen nicht erhalten . Sie müssen diese Ressourcen manuell in der Zielregion aus ihren ursprünglichen Quellen neu erstellen.
Plan für Änderungen an der verwalteten Identität
Die Verarbeitung verwalteter Identitäten hängt vom Identitätstyp ab:
Vom System zugewiesene Identität: Wenn Sie die Container-App neu erstellen, generiert Azure eine neue Prinzipal-ID. Sie müssen alle RBAC-Rollen, Azure Key Vault-Zugriffsrichtlinien und nachgelagerte Dienstberechtigungen der neuen Identität neu zuweisen.
Vom Benutzer zugewiesene Identität: Vom Benutzer zugewiesene verwaltete Identitäten sind regionale Ressourcen und können nicht in Regionen verschoben werden. Erstellen Sie eine neue vom Benutzer zugewiesene Identität in der Zielregion, und weisen Sie die erforderlichen Berechtigungen vor der Bereitstellung zu.
Exportieren der Quellkonfiguration
Verwenden Sie das Azure-Portal, um ARM-Vorlagen sowohl für die verwaltete Container-App als auch für einzelne Container-Apps zu exportieren.
- Melden Sie sich im Azure-Portal an.
- Navigieren Sie zur verwalteten Umgebung von Container-Apps oder zur Container-App-Ressource.
- Wählen Sie im linken Menü Automatisierung>Exportvorlage aus.
- Wählen Sie "Herunterladen" aus, und extrahieren Sie die
.zipDatei in einen lokalen Ordner.
Zu den extrahierten Dateien gehören:
| Datei | Description |
|---|---|
template.json |
Ressourcenkonfigurationsdefinition |
| Parameterdateien | Bereitstellungsparameterwerte |
| Bereitstellungsskripts | Skripts für die Vorlagenausführung |
Hinweis
Exportierte Vorlagen dienen als Ausgangspunkt für das Verständnis Ihrer Konfiguration. Sie enthalten möglicherweise schreibgeschützte Eigenschaften, die Sie entfernen müssen, und sie enthalten keine Geheimnisse oder Zertifikatwerte. Überprüfen Sie die exportierte Ausgabe sorgfältig, bevor Sie sie für die erneute Bereitstellung verwenden.
Ändern der Vorlage für verwaltete Umgebung
Aktualisieren Sie vor der erneuten Bereitstellung der verwalteten Umgebung die exportierte Konfiguration:
-
Aktualisieren Sie den Speicherort: Legen Sie die
locationEigenschaft auf die Zielregion von Azure fest. - Überprüfen von Ressourcennamen: Stellen Sie sicher, dass der Name der verwalteten Umgebung innerhalb der Zielressourcengruppe und -region eindeutig ist.
- Überprüfen Sie die Log Analytics-Konfiguration: Aktualisieren Sie die Log Analytics-Arbeitsbereichsreferenz, wenn der Arbeitsbereich regionsspezifisch ist. Möglicherweise müssen Sie einen neuen Arbeitsbereich in der Zielregion erstellen.
-
Entfernen Sie schreibgeschützte Eigenschaften: Wenn Sie aus dem Portal exportiert haben, entfernen Sie Eigenschaften wie
id,type,systemDataund andere schreibgeschützte Felder, die Bereitstellungsfehler verursachen.
Ändern der Container-App-Vorlage
Nehmen Sie nach dem Exportieren der Container-App-Konfiguration die folgenden Änderungen vor:
Aktualisieren Sie den Verweis auf die verwaltete Umgebung: Ersetzen Sie
managedEnvironmentIddurch die Ressourcen-ID der neuen verwalteten Umgebung in der Zielregion. Verwaltete Umgebungen sind regionsgebunden und können nicht über Regionen hinweg wiederverwendet werden.Überprüfen Sie Containerimageverweise: Vergewissern Sie sich, dass Imageverweise auf eine Containerregistrierung verweisen, auf die über die Zielregion zugegriffen werden kann. Wenn Sie die ACR-Georeplikation aktiviert haben, funktionieren die vorhandenen Verweise möglicherweise ohne Änderungen.
Überprüfen Sie die Eingangskonfiguration: Nach der erneuten Bereitstellung ändert sich der vollqualifizierte Domänenname (Fully Qualified Domain Name, FQDN) der Anwendung. Planen Sie, während der Umschaltung benutzerdefinierte DNS-Einträge und das Datenverkehrsrouting zu aktualisieren.
Konfigurieren Sie geheime Schlüssel und App-Einstellungen neu: Erstellen Sie geheime Schlüssel mithilfe von Azure Key Vault-Verweisen oder Anwendungskonfigurationen neu. Verlassen Sie sich nicht auf exportierte Werte für vertrauliche Einstellungen.
Aktualisieren Von Dapr-Komponenten: Wenn Sie Dapr verwenden, stellen Sie sicher, dass dapr-Komponentenkonfigurationen auf Ressourcen verweisen, die in der Zielregion verfügbar sind (z. B. Statusspeicher, Pub/Sub-Broker, geheime Speicher).
Aktualisieren der Diagnose und Überwachung: Überprüfen Sie die Referenzen des Log Analytics-Arbeitsbereichs, und konfigurieren Sie diagnoseeinstellungen bei Bedarf neu.
Erneute Bereitstellung
Verwaltete Azure-Container-Apps-Umgebungen sind regionsgebunden. Erstellen Sie die verwaltete Umgebung in der Zielregion, bevor Sie container-Apps erneut bereitstellen.
Bereitstellen der verwalteten Umgebung
- Wechseln Sie im Azure-Portal zur Zielressourcengruppe.
- Wählen Sie "Bereitstellen einer benutzerdefinierten Vorlage" aus.
- Wählen Sie " Eigene Vorlage erstellen" im Editor aus, und laden Sie die geänderte ARM-Vorlage hoch.
- Überprüfen Sie die Bereitstellungseinstellungen, und wählen Sie dann "Überprüfen+ erstellen" aus, um die Bereitstellung zu starten.
Überprüfung des Zugriffs auf die Containerregistrierung
Vergewissern Sie sich vor der Bereitstellung der Container-App, dass die von der Container-App verwendete Identität (vom System zugewiesene oder vom Benutzer zugewiesene verwaltete Identität) der AcrPull-Rolle in der Azure-Containerregistrierung zugewiesen ist.
az role assignment create \
--assignee <IDENTITY_PRINCIPAL_ID> \
--role AcrPull \
--scope <ACR_RESOURCE_ID>
Hinweis
Wenn die Container-App auf ein ACR in einem anderen Abonnement oder einer anderen Region verweist, überprüfen Sie, ob die erforderlichen Berechtigungen im Voraus konfiguriert sind, um Image-Pullfehler während der Bereitstellung zu verhindern.
Bereitstellen der Container-App
- Wechseln Sie im Azure-Portal zur Zielressourcengruppe.
- Wählen Sie "Bereitstellen einer benutzerdefinierten Vorlage" aus.
- Laden Sie die geänderte ARM-Vorlage für die Container-App hoch.
- Überprüfen Sie die Einstellungen, und schließen Sie die Bereitstellung ab.
Konfigurieren von Netzwerken
Konfigurieren Sie nach der Bereitstellung die Netzwerkkonfiguration so neu, dass sie mit der Quellkonfiguration übereinstimmt:
Konfigurieren Des Eingangs: Einrichten eines öffentlichen oder privaten Eingangs basierend auf dem Belichtungsmodell Ihrer Anwendung.
VNet-Integration erneut anwenden: Verwendet die Container-App ein privates Netzwerk, konfigurieren Sie das VNet, Subnetze, private Endpunkte und private DNS-Zonen in der Zielregion.
Aktualisieren Sie NSGs und UDRs: Erstellen Sie nach Bedarf Netzwerksicherheitsgruppen und benutzerdefinierte Routen neu.
Ip-Zulassungslisten aktualisieren: Wenn nachgeschaltete Dienste IP-basierte Zulassungslisten verwenden, aktualisieren Sie sie mit den neuen ausgehenden IP-Adressen aus der Zielregion-Umgebung.
Konfigurieren von benutzerdefinierten Domänen und Zertifikaten: Benutzerdefinierte Domänen und TLS-Zertifikate werden während der Verlagerung nicht übertragen. Konfigurieren Sie sie in der neuen Container-App neu, und aktualisieren Sie DNS-Einträge.
Cutoverdatenverkehr
Leiten Sie den Datenverkehr nach der Überprüfung an die Bereitstellung in der Zielregion um.
Wenn Sie die DNS-TTL zuvor gesenkt haben, aktualisieren Sie die DNS-Einträge so, dass sie auf den neuen FQDN der Container-App verweisen.
Wenn Sie Azure Front Door oder Azure Traffic Manager verwenden, aktualisieren Sie den Back-End-Pool oder Endpunkt, um die Zielregion-Container-App einzuschließen und den Quellregionenendpunkt zu entfernen.
Überwachen Sie den Datenverkehr, um sicherzustellen, dass Anforderungen die neue Bereitstellung erreichen.
Tip
Halten Sie die Quellcontainer-App während des Rollbackfensters am Laufen. Wenn Probleme auftreten, stellen Sie das DNS- oder Datenverkehrsrouting auf den Quellendpunkt zurück, bis Sie das Problem beheben.
Überprüfen
Überprüfen Sie nach dem Cutover des Datenverkehrs die folgenden Punkte:
- Anwendungsverfügbarkeit und Reaktionszeiten.
- Skalierungsverhalten unter erwarteter und Spitzenlast.
- Konnektivität zu abhängigen Diensten wie Datenbanken, Key Vault, Speicher und Messaging.
- Verwalteter Identitätszugriff auf nachgeschaltete Ressourcen.
- Dapr-Komponentenfunktionalität, falls verwendet.
- Protokolle und Metriken, die an Azure Monitor und Log Analytics fließen.
Überprüfen Sie mithilfe der CLI:
# Confirm the container app is running
az containerapp show \
--name <APP_NAME> \
--resource-group <TARGET_RESOURCE_GROUP> \
--query "{status:properties.runningStatus, fqdn:properties.configuration.ingress.fqdn}" \
--output table
# Test the application endpoint
curl -s -o /dev/null -w "%{http_code}" https://<APP_FQDN>/health
Important
Lassen Sie die Quellcontainer-App weiterlaufen, bis die Überprüfung abgeschlossen ist und sichergestellt wurde, dass die Zielbereitstellung fehlerfrei ist. Definieren Sie ein Rollbackfenster, z. B. 24 bis 48 Stunden, bevor Sie Quellressourcen bereinigen.
Bereinigen von Quellressourcen
Nach erfolgreicher Überprüfung und Cutover des Datenverkehrs:
- Löschen Sie die Quellcontainer-App.
- Löschen Sie die verwaltete Quellumgebung, wenn Sie sie nicht mehr benötigen.
- Entfernen Sie nicht verwendete Containerimages, Netzwerkressourcen und Identitätszuweisungen, um unnötige Gebühren zu vermeiden.
- Aktualisieren Sie alle Überwachungsdashboards oder Warnungsregeln, die auf die Quellressourcen verwiesen haben.
Einschränkungen
- Azure Container-Apps unterstützen keine In-Place- oder Live-Migration von Regionen.
- Sie müssen geheime Schlüssel, Zertifikate und benutzerdefinierte Domänen neu erstellen.
- Der Überarbeitungsverlauf wird in der Zielbereitstellung nicht beibehalten.
- Eine Ausfallzeit ist während der Übernahme erforderlich.
- Die vom System zugewiesene Prinzipal-ID der verwalteten Identität ändert sich, sodass Sie alle RBAC-Zuordnungen neu erstellen müssen.
- Vom Benutzer zugewiesene verwaltete Identitäten sind regional und müssen in der Zielregion neu erstellt werden.
- Änderungen an ausgehenden IP-Adressen, die sich auf nachgeschaltete Dienst-Zulassungslisten auswirken können.