Dela via


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 mallen Azure CLI, Azure-portalen eller Azure Resource Manager.

Zonredundans är en funktion i registertjänsten Premiumcontainer. 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:

    Amerika Europa Afrika Asien och Stillahavsområdet
    Syd-Brasilien
    Kanada centrala
    Mellersta USA
    östra USA
    Östra USA 2
    Östra USA 2 EUAP
    Södra Centrala USA
    USA:s regering Virginia
    Västra USA 2
    Västra USA 3
    Frankrike Centrala
    Tyskland Västcentrala
    Norra Italien
    Europa, norra
    Norge, östra
    Centrala Sverige
    Schweiz, norra
    UK South (Södra Storbritannien)
    Västeuropa
    Sydafrika Nord
    Australien, östra
    Centralindien
    Norra Kina 3
    Östasien
    Japan Öst
    Korea Centrala
    Qatars centralområde
    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, se 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 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 egenskapen zoneRedundancy för replikan i kommandoutdata. När den är aktiverad är repliken zonredundant:

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

Skapa ett register som är zonövergripande – i 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 inställningar i registret och sedan välja granska + skapa.

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

    Aktivera zonredundans i Azure-portalen

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-portalen

Skapa en zonredundant registrering – 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

Använd 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>

Anmärk egenskapen zoneRedundancy för registret och repliken i kommandoutmatningen. När den är aktiverad är varje resurs zonredundant:

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

Nästa steg