Aktivieren von Zonenredundanz in Azure Container Registry für Resilienz und Hochverfügbarkeit
Zusätzlich zur Georeplikation, bei der Registrierungsdaten in einer oder zwischen mehreren Azure-Regionen repliziert werden, um die Verfügbarkeit zu gewährleisten und Latenzzeiten für regionale Vorgänge zu verringern, unterstützt Azure Container Registry optionale Zonenredundanz. Zonenredundanz bietet Resilienz und Hochverfügbarkeit für eine Registrierung oder Replikationsressource (Replikat) in einer bestimmten Region.
In diesem Artikel wird gezeigt, wie Sie eine zonenredundante Containerregistrierung oder ein zonenredundantes Replikat mithilfe der Azure CLI, des Azure-Portals oder einer Azure Resource Manager-Vorlage einrichten.
Zonenredundanz ist eine Funktion der Containerregistrierungs-Dienstebene „Premium“. Informationen zu den Tarifen des Registrierungsdiensts und zu den Einschränkungen finden Sie unter Azure Container Registry-Tarife.
Regionsunterstützung
ACR-Verfügbarkeitszonen werden in den folgenden Regionen unterstützt:
Amerika Europa Afrika Asien-Pazifik Brasilien Süd
Kanada, Mitte
USA (Mitte)
East US
USA (Ost) 2
USA, Osten 2 (EUAP)
USA Süd Mitte
US-Regierung Virginia
USA, Westen 2
USA, Westen 3Frankreich, Mitte
Deutschland, Westen-Mitte
Italien, Norden
Nordeuropa
Norwegen, Osten
Schweden, Mitte
Schweiz, Norden
UK, Süden
Europa, WestenSüdafrika, Norden Australien (Osten)
Indien, Mitte
China, Norden 3
Asien, Osten
Japan, Osten
Korea, Mitte
Katar, Mitte
Asien, Südosten
Vereinigte Arabische Emirate, NordenRegionskonvertierungen in Verfügbarkeitszonen werden derzeit nicht unterstützt.
Um die Unterstützung für Verfügbarkeitszonen in einer Region zu aktivieren, erstellen Sie die Registrierung entweder in der gewünschten Region mit aktivierter Verfügbarkeitszonenunterstützung, oder Sie fügen sie mit aktivierter Unterstützung für Verfügbarkeitszonen hinzu.
Eine Registrierung mit einem VZ-fähigen Stempel erstellt standardmäßig eine Replikation der Stammregion mit einem VZ-fähigen Stempel. Der VZ-Stempel kann nicht deaktiviert werden, nachdem er aktiviert wurde.
Die Replikation der Stammregion stellt die Registrierung der Stammregion dar. Sie hilft beim Anzeigen und Verwalten der Eigenschaften der Verfügbarkeitszone und kann nicht gelöscht werden.
Die Verfügbarkeitszone gilt pro Region. Nachdem die Replikationen erstellt wurden, können ihre Zustände nur durch Löschen und erneutes Erstellen der Replikationen geändert werden.
Zonenredundanz kann in einer Region nicht deaktiviert werden.
ACR Tasks unterstützt noch keine Verfügbarkeitszonen.
Informationen zur Zonenredundanz
Verwenden Sie Azure-Verfügbarkeitszonen, um eine robuste und hochverfügbare Azure-Containerregistrierung innerhalb einer Azure-Region zu erstellen. Organisationen können beispielsweise eine zonenredundante Azure-Containerregistrierung mit anderen unterstützten Azure-Ressourcen einrichten, um Datenresidenz- oder andere Complianceanforderungen zu erfüllen und gleichzeitig Hochverfügbarkeit innerhalb einer Region zu gewährleisten.
Azure Container Registry unterstützt außerdem Georeplikation, die den Dienst über mehrere Regionen hinweg repliziert, sodass Redundanz und Lokalität zu Compute-Ressourcen an anderen Standorten ermöglicht werden. Die Kombination aus Verfügbarkeitszonen für Redundanz innerhalb einer Region und Georeplikation über mehrere Regionen hinweg verbessert sowohl die Zuverlässigkeit als auch die Leistung einer Registrierung.
Verfügbarkeitszonen sind eindeutige physische Standorte in einer Azure-Region. Zur Gewährleistung der Resilienz sind in allen aktivierten Regionen mindestens drei separate Zonen vorhanden. Jede Zone enthält mindestens ein Rechenzentrum, das mit eigener unabhängiger Stromversorgung, Kühlung und Netzwerk ausgestattet ist. Wenn eine Registrierung (oder ein Registrierungsreplikat in einer anderen Region) für Zonenredundanz konfiguriert ist, wird sie über alle Verfügbarkeitszonen in der Region hinweg repliziert, sodass sie verfügbar bleibt, wenn es zu Rechenzentrumsausfällen kommt.
Erstellen einer zonenredundanten Registrierung: CLI
Zum Aktivieren der Zonenredundanz mithilfe der Azure CLI benötigen Sie mindestens Version 2.17.0 der Azure-Befehlszeilenschnittstelle oder Azure Cloud Shell. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.
Erstellen einer Ressourcengruppe
Führen Sie bei Bedarf den Befehl az group create aus, um eine Ressourcengruppe für die Registrierung zu erstellen.
az group create --name <resource-group-name> --location <location>
Erstellen einer für Zonen aktivierten Registrierung
Führen Sie den Befehl az acr create aus, um eine zonenredundante Registrierung im Premium-Tarif zu erstellen. Wählen Sie eine Region aus, die für Azure Container Registry Verfügbarkeitszonen unterstützt. Im folgenden Beispiel ist die Zonenredundanz in der Region eastus aktiviert. In der Hilfe zum Befehl az acr create
finden Sie Informationen zu weiteren Registrierungsoptionen.
az acr create \
--resource-group <resource-group-name> \
--name <container-registry-name> \
--location eastus \
--zone-redundancy enabled \
--sku Premium
Beachten Sie in der Befehlsausgabe die Eigenschaft zoneRedundancy
für die Registrierung. Bei Aktivierung dieser Option ist die Registrierung zonenredundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Erstellen einer zonenredundanten Replikation
Führen Sie den Befehl az acr replication create aus, um ein zonenredundantes Registrierungsreplikat in einer Region zu erstellen, die Verfügbarkeitszonen für Azure Container Registry unterstützt, z. B. westus2.
az acr replication create \
--location westus2 \
--resource-group <resource-group-name> \
--registry <container-registry-name> \
--zone-redundancy enabled
Beachten Sie in der Befehlsausgabe die Eigenschaft zoneRedundancy
für das Replikat. Bei Aktivierung dieser Option ist das Replikat zonenredundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Erstellen einer zonenredundanten Registrierung – Portal
Melden Sie sich beim Azure-Portal an.
Klicken Sie auf Ressource erstellen>Container>Container Registry.
Wählen Sie auf der Registerkarte Grundlagen eine Ressourcengruppe aus, oder erstellen Sie eine, und geben Sie einen eindeutigen Registrierungsnamen ein.
Wählen Sie unter Standort eine Region aus, die Zonenredundanz für Azure Container Registry unterstützt, z. B. USA, Osten.
Wählen Sie unter SKU die Option Premium aus.
Wählen Sie unter Verfügbarkeitszonen die Option Aktiviert aus.
Konfigurieren Sie optional weitere Registrierungseinstellungen, und wählen Sie dann Überprüfen und erstellen aus.
Wählen Sie Erstellen, um die Registrierungsinstanz bereitzustellen.
So erstellen Sie eine zonenredundante Replikation
Navigieren Sie zu Ihrer Containerregistrierung der Premium-Dienstebene, und wählen Sie Replikationen aus.
Wählen Sie auf der angezeigten Karte ein grünes Sechseck in einer Region aus, die Zonenredundanz für Azure Container Registry unterstützt, z. B. USA, Westen 2. Wählen Sie alternativ + Hinzufügen aus.
Überprüfen Sie im Fenster Replikation erstellen den Wert unter Standort. Wählen Sie unter Verfügbarkeitszonen die Option Aktiviert und dann Erstellen aus.
Erstellen einer zonenredundanten Registrierung – Vorlage
Erstellen einer Ressourcengruppe
Führen Sie bei Bedarf den Befehl az group create aus, um eine Ressourcengruppe für die Registrierung in einer Region zu erstellen, die Verfügbarkeitszonen für Azure Container Registry unterstützt, z. B. „USA, Osten“ (eastus). Diese Region wird von der Vorlage zum Festlegen des Registrierungsstandorts verwendet.
az group create --name <resource-group-name> --location eastus
Bereitstellen der Vorlage
Sie können die folgende Resource Manager-Vorlage verwenden, um eine zonenredundante, georeplizierte Registrierung zu erstellen. Die Vorlage aktiviert standardmäßig die Zonenredundanz in der Registrierung sowie ein regionales Replikat.
Kopieren Sie den folgenden Inhalt in eine neue Datei, und speichern Sie sie unter einem Dateinamen, z. B. registryZone.json
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"acrName": {
"type": "string",
"defaultValue": "[concat('acr', uniqueString(resourceGroup().id))]",
"minLength": 5,
"maxLength": 50,
"metadata": {
"description": "Globally unique name of your Azure Container Registry"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for registry home replica."
}
},
"acrSku": {
"type": "string",
"defaultValue": "Premium",
"allowedValues": [
"Premium"
],
"metadata": {
"description": "Tier of your Azure Container Registry. Geo-replication and zone redundancy require Premium SKU."
}
},
"acrZoneRedundancy": {
"type": "string",
"defaultValue": "Enabled",
"metadata": {
"description": "Enable zone redundancy of registry's home replica. Requires registry location to support availability zones."
}
},
"acrReplicaLocation": {
"type": "string",
"metadata": {
"description": "Short name for registry replica location."
}
},
"acrReplicaZoneRedundancy": {
"type": "string",
"defaultValue": "Enabled",
"metadata": {
"description": "Enable zone redundancy of registry replica. Requires replica location to support availability zones."
}
}
},
"resources": [
{
"comments": "Container registry for storing docker images",
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2020-11-01",
"name": "[parameters('acrName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('acrSku')]",
"tier": "[parameters('acrSku')]"
},
"tags": {
"displayName": "Container Registry",
"container.registry": "[parameters('acrName')]"
},
"properties": {
"adminUserEnabled": "[parameters('acrAdminUserEnabled')]",
"zoneRedundancy": "[parameters('acrZoneRedundancy')]"
}
},
{
"type": "Microsoft.ContainerRegistry/registries/replications",
"apiVersion": "2020-11-01",
"name": "[concat(parameters('acrName'), '/', parameters('acrReplicaLocation'))]",
"location": "[parameters('acrReplicaLocation')]",
"dependsOn": [
"[resourceId('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
],
"properties": {
"zoneRedundancy": "[parameters('acrReplicaZoneRedundancy')]"
}
}
],
"outputs": {
"acrLoginServer": {
"value": "[reference(resourceId('Microsoft.ContainerRegistry/registries',parameters('acrName')),'2019-12-01').loginServer]",
"type": "string"
}
}
}
Führen Sie den folgenden Befehl az deployment group create aus, um die Registrierung mithilfe der vorherigen Vorlagendatei zu erstellen. Geben Sie, wenn angezeigt, Folgendes an:
- Einen eindeutigen Registrierungsnamen, oder stellen Sie die Vorlage ohne Parameter bereit, und sie erstellt einen eindeutigen Name für Sie.
- Einen Standort für das Replikat, der Verfügbarkeitszonen unterstützt, z. B. „USA, Westen 2“ (westus2).
az deployment group create \
--resource-group <resource-group-name> \
--template-file registryZone.json \
--parameters acrName=<registry-name> acrReplicaLocation=<replica-location>
Beachten Sie in der Befehlsausgabe die Eigenschaft zoneRedundancy
für die Registrierung und das Replikat. Wenn diese Option aktiviert ist, ist jede Ressource zonenredundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Nächste Schritte
- Weitere Informationen zu Regionen, die Verfügbarkeitszonen unterstützen.
- Weitere Informationen zum Erstellen für Zuverlässigkeit in Azure.