Aktivera zonredundans i Azure Container Registry för återhämtning och hög tillgänglighet
Förutom geo-replikering, som replikerar registerdata i en eller flera Azure-regioner för att ge tillgänglighet och minska svarstiden för regionala åtgärder, stöder Azure Container Registry valfri zonredundans. Zonredundans ger återhämtning och hög tillgänglighet till ett register eller en replikeringsresurs (replik) i en viss region.
Den här artikeln visar hur du konfigurerar ett zonredundant containerregister eller en replik med hjälp av Azure CLI, Azure Portal eller Azure Resource Manager-mallen.
Zonredundans är en funktion i tjänstnivån premiumcontainerregister. Information om registertjänstnivåer och gränser finns i Tjänstnivåer för Azure Container Registry.
Regionalt stöd
ACR-Tillgänglighetszoner stöds i följande regioner:
Nord- och Sydamerika Europa Afrika Asien och stillahavsområdet Brasilien, södra
Kanada, centrala
Central US
East US
USA, östra 2
USA, östra 2 (EUAP)
USA, södra centrala
Amerikanska regeringen Virginia
USA, västra 2
USA, västra 3Frankrike, centrala
Tyskland, västra centrala
Italien, norra
Europa, norra
Norge, östra
Sverige, centrala
Schweiz, norra
Storbritannien, södra
Europa, västraSydafrika, norra Australien, östra
Indien, centrala
Kina, norra 3
Asien, östra
Japan, östra
Sydkorea, centrala
Qatar, centrala
Sydostasien
Förenade Arabemiraten, norraRegionkonverteringar till tillgänglighetszoner stöds för närvarande inte.
Om du vill aktivera stöd för tillgänglighetszoner i en region skapar du registret i önskad region med stöd för tillgänglighetszoner aktiverat eller lägger till en replikerad region med stöd för tillgänglighetszoner aktiverat.
Ett register med en AZ-aktiverad stämpel skapar en replikering i hemregionen med en AZ-aktiverad stämpel som standard. AZ-stämpeln kan inte inaktiveras när den är aktiverad.
Replikeringen i hemregionen representerar registret för hemregionen. Det hjälper till att visa och hantera egenskaper för tillgänglighetszonen och kan inte tas bort.
Tillgänglighetszonen är per region, när replikerna har skapats kan deras tillstånd inte ändras, förutom genom att ta bort och återskapa replikerna.
Zonredundans kan inte inaktiveras i en region.
ACR Tasks har ännu inte stöd för tillgänglighetszoner.
Om zonredundans
Använd Azure-tillgänglighetszoner för att skapa ett motståndskraftigt och högtillgängligt Azure-containerregister i en Azure-region. Organisationer kan till exempel konfigurera ett zonredundant Azure-containerregister med andra Azure-resurser som stöds för att uppfylla datahemvist eller andra efterlevnadskrav, samtidigt som det ger hög tillgänglighet inom en region.
Azure Container Registry stöder också geo-replikering, som replikerar tjänsten i flera regioner, vilket möjliggör redundans och lokalitet för att beräkna resurser på andra platser. Kombinationen av tillgänglighetszoner för redundans i en region och geo-replikering i flera regioner förbättrar både tillförlitligheten och prestandan för ett register.
Tillgänglighetszoner är unika fysiska platser i en Azure-region. För att säkerställa återhämtning finns det minst tre separata zoner i alla aktiverade regioner. Varje zon har ett eller flera datacenter som är utrustade med oberoende ström, kylning och nätverk. När det konfigureras för zonredundans replikeras ett register (eller en registerreplik i en annan region) över alla tillgänglighetszoner i regionen, vilket gör det tillgängligt om det uppstår datacenterfel.
Skapa ett zonredundant register – CLI
Om du vill använda Azure CLI för att aktivera zonredundans behöver du Azure CLI version 2.17.0 eller senare, eller Azure Cloud Shell. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Skapa en resursgrupp
Om det behövs kör du kommandot az group create för att skapa en resursgrupp för registret.
az group create --name <resource-group-name> --location <location>
Skapa zonaktiverat register
Kör kommandot az acr create för att skapa ett zonredundant register på Premium-tjänstnivån. Välj en region som stöder tillgänglighetszoner för Azure Container Registry. I följande exempel aktiveras zonredundans i regionen eastus . Mer registeralternativ finns i kommandohjälpen az acr create
.
az acr create \
--resource-group <resource-group-name> \
--name <container-registry-name> \
--location eastus \
--zone-redundancy enabled \
--sku Premium
Anteckna egenskapen för registret i kommandots utdata zoneRedundancy
. När det är aktiverat är registret zonredundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Skapa zonredundant replikering
Kör kommandot az acr replication create för att skapa en zonredundant registerreplik i en region som stöder tillgänglighetszoner för Azure Container Registry, till exempel westus2.
az acr replication create \
--location westus2 \
--resource-group <resource-group-name> \
--registry <container-registry-name> \
--zone-redundancy enabled
Anteckna egenskapen för repliken i zoneRedundancy
kommandoutdata. När den är aktiverad är repliken zonredundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Skapa ett zonredundant register – portalen
Logga in på Azure-portalen.
Välj Skapa en resurs>Containers>Container Registry.
På fliken Grundläggande väljer eller skapar du en resursgrupp och anger ett unikt registernamn.
I Plats väljer du en region som stöder zonredundans för Azure Container Registry, till exempel USA, östra.
I SKU väljer du Premium.
I Tillgänglighetszoner väljer du Aktiverad.
Du kan också konfigurera fler registerinställningar och sedan välja Granska + skapa.
Välj Skapa för att distribuera registerinstansen.
Så här skapar du en zonredundant replikering:
Gå till containerregistret på Premium-nivån och välj Replikering.
På kartan som visas väljer du en grön sexhörning i en region som stöder zonredundans för Azure Container Registry, till exempel USA, västra 2. Eller välj + Lägg till.
Bekräfta platsen i fönstret Skapa replikering. I Tillgänglighetszoner väljer du Aktiverad och sedan Skapa.
Skapa ett zonredundant register – mall
Skapa en resursgrupp
Om det behövs kör du kommandot az group create för att skapa en resursgrupp för registret i en region som stöder tillgänglighetszoner för Azure Container Registry, till exempel eastus. Den här regionen används av mallen för att ange registerplatsen.
az group create --name <resource-group-name> --location eastus
Distribuera mallen
Du kan använda följande Resource Manager-mall för att skapa ett zonredundant, geo-replikerat register. Mallen möjliggör som standard zonredundans i registret och en regional replik.
Kopiera följande innehåll till en ny fil och spara det med hjälp av ett filnamn, till exempel 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"
}
}
}
Kör följande az deployment group create-kommando för att skapa registret med hjälp av föregående mallfil. Om detta anges anger du följande:
- ett unikt registernamn eller distribuera mallen utan parametrar och det skapar ett unikt namn åt dig
- en plats för repliken som stöder tillgänglighetszoner, till exempel westus2
az deployment group create \
--resource-group <resource-group-name> \
--template-file registryZone.json \
--parameters acrName=<registry-name> acrReplicaLocation=<replica-location>
Anteckna egenskapen för registret och repliken i kommandoutdata zoneRedundancy
. När den är aktiverad är varje resurs zonredundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Nästa steg
- Läs mer om regioner som stöder tillgänglighetszoner.
- Läs mer om att skapa för tillförlitlighet i Azure.