Aktivera zonredundans i Azure Container Registry för återhämtning och hög tillgänglighet

Förutom geo-replikering, som replikerar registerdata över 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 för 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 mallen Azure CLI, Azure Portal eller Azure Resource Manager.

Zonredundans är en funktion i tjänstnivån Premium containerregister. Information om registertjänstnivåer och gränser finns i Azure Container Registry tjänstnivåer.

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, södra centrala
    Amerikanska regeringen Virginia
    USA, västra 2
    USA, västra 3
    Frankrike, centrala
    Tyskland, västra centrala
    Europa, norra
    Norge, östra
    Europa, västra
    Storbritannien, södra
    Sydafrika, norra
    Australien, östra
    Indien, centrala
    Japan, östra
    Sydkorea, centrala
    Sydostasien
    Asien, östra
  • Regionkonverteringar till tillgänglighetszoner stöds inte för närvarande. Om du vill aktivera stöd för tillgänglighetszoner i en region måste registret antingen skapas i önskad region, med stöd för tillgänglighetszoner aktiverat eller så måste en replikerad region läggas till 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 azure-containerregister med hög tillgänglighet 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 de ger hög tillgänglighet i en region.

Azure Container Registry stöder även 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, så att det hålls 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å tjänstnivån Premium. 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 zoneRedundancy egenskapen för registret i kommandots utdata. 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 zoneRedundancy egenskapen för repliken i kommandoutdata. När den är aktiverad är repliken zonredundant:

{
 [...]
"zoneRedundancy": "Enabled",
}

Skapa ett zonredundant register – portalen

  1. Logga in på Azure Portal på https://portal.azure.com.

  2. Välj Skapa ett containerregisterförresurscontainrar>>.

  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 ytterligare registerinställningar och sedan välja Granska + skapa.

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

    Enable zone redundancy in Azure portal

Så här skapar du en zonredundant replikering:

  1. Gå till containerregistret på Premium-nivå 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.

    Enable zone-redundant replication in 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-preview",
        "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-preview",
        "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-preview').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 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 zoneRedundancy egenskapen för registret och repliken i kommandots utdata. När den är aktiverad är varje resurs zonredundant:

{
 [...]
"zoneRedundancy": "Enabled",
}

Nästa steg