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 3
    Frankrike, centrala
    Tyskland, västra centrala
    Italien, norra
    Europa, norra
    Norge, östra
    Sverige, centrala
    Schweiz, norra
    Storbritannien, södra
    Europa, västra
    Sydafrika, norra
    Australien, östra
    Indien, centrala
    Kina, norra 3
    Asien, östra
    Japan, östra
    Sydkorea, centrala
    Qatar, centrala
    Sydostasien
    Förenade Arabemiraten, norra
  • Regionkonverteringar 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

  1. Logga in på Azure-portalen.

  2. Välj Skapa en resurs>Containers>Container Registry.

  3. På fliken Grundläggande väljer eller skapar du en resursgrupp och anger ett unikt registernamn.

  4. I Plats väljer du en region som stöder zonredundans för Azure Container Registry, till exempel USA, östra.

  5. I SKU väljer du Premium.

  6. I Tillgänglighetszoner väljer du Aktiverad.

  7. Du kan också konfigurera fler registerinställningar och sedan välja Granska + skapa.

  8. Välj Skapa för att distribuera registerinstansen.

    Aktivera zonredundans i Azure Portal

Så här skapar du en zonredundant replikering:

  1. Gå till containerregistret på Premium-nivån och välj Replikering.

  2. 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.

  3. Bekräfta platsen i fönstret Skapa replikering. I Tillgänglighetszoner väljer du Aktiverad och sedan Skapa.

    Aktivera zonredundant replikering i Azure Portal

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