Povolení zónové redundance v Azure Container Registry pro zajištění odolnosti a vysoké dostupnosti

Kromě geografické replikace, která replikuje data registru do jedné nebo více oblastí Azure, aby zajistila dostupnost a snížila latenci pro místní operace, Azure Container Registry podporuje volitelnou redundanci zón. Zónová redundance poskytuje odolnost a vysokou dostupnost registru nebo replikačního prostředku (repliky) v konkrétní oblasti.

Tento článek ukazuje, jak nastavit zónově redundantní registr kontejneru nebo repliku pomocí Azure CLI, Azure Portal nebo šablony Azure Resource Manager.

Zónová redundance je funkce úrovně služby registru kontejnerů Premium. Informace o úrovních a limitech služby registru najdete v tématu Azure Container Registry úrovně služby.

Regionální podpora

  • Zóny dostupnosti ACR se podporují v následujících oblastech:

    Amerika Evropa Afrika Asie a Tichomoří
    Brazílie – jih
    Střední Kanada
    Střední USA
    East US
    USA – východ 2
    USA – východ 2 (EUAP)
    Středojižní USA
    Vláda USA – Virginie
    Západní USA 2
    USA – západ 3
    Francie – střed
    Německo – středozápad
    Severní Evropa
    Norsko – východ
    Švédsko – střed
    Švýcarsko – sever
    Spojené království – jih
    West Europe
    Jižní Afrika – sever
    Austrálie – východ
    Indie – střed
    Čína – sever 3
    Východní Asie
    Japonsko – východ
    Jižní Korea – střed
    Katar – střed
    Southeast Asia
    Spojené arabské emiráty – sever
  • Převody oblastí na zóny dostupnosti se v současné době nepodporují.

  • Pokud chcete povolit podporu zóny dostupnosti v oblasti, vytvořte registr v požadované oblasti s povolenou podporou zóny dostupnosti nebo přidejte replikovanou oblast s povolenou podporou zóny dostupnosti.

  • Registr s razítkem s povolenou sadou az vytvoří replikaci domovské oblasti s razítkem s povolenou sadou az ve výchozím nastavení. Jakmile je razítko AZ povolené, nejde ho zakázat.

  • Replikace domovské oblasti představuje registr domovské oblasti. Pomáhá zobrazit a spravovat vlastnosti zóny dostupnosti a nedá se odstranit.

  • Zóna dostupnosti je pro každou oblast. Po vytvoření replikace se jejich stavy nedají změnit, s výjimkou odstranění a opětovného vytvoření replikací.

  • Zónovou redundanci nejde v oblasti zakázat.

  • ACR Tasks zatím nepodporuje zóny dostupnosti.

Informace o zónové redundanci

Pomocí zón dostupnosti Azure vytvořte odolný a vysoce dostupný registr kontejnerů Azure v rámci oblasti Azure. Organizace mohou například nastavit zónově redundantní registr kontejnerů Azure s dalšími podporovanými prostředky Azure tak, aby splňoval požadavky na rezidenci dat nebo jiné požadavky na dodržování předpisů a zároveň poskytovaly vysokou dostupnost v rámci oblasti.

Azure Container Registry také podporuje geografickou replikaci, která replikuje službu napříč několika oblastmi a umožňuje redundanci a umístění výpočetních prostředků v jiných umístěních. Kombinace zón dostupnosti pro redundanci v rámci oblasti a geografické replikace napříč několika oblastmi zvyšuje spolehlivost a výkon registru.

Zóny dostupnosti jsou jedinečná fyzická umístění v rámci oblasti Azure. Kvůli odolnosti ve všech aktivovaných oblastech existují minimálně tři samostatné zóny. Každá zóna má jedno nebo více datových center vybavených nezávislým napájením, chlazením a sítí. Pokud je nakonfigurovaná redundance zón, registr (nebo replika registru v jiné oblasti) se replikuje do všech zón dostupnosti v dané oblasti, aby byl k dispozici v případě selhání datového centra.

Vytvoření zónově redundantního registru – rozhraní příkazového řádku

Pokud chcete povolit zónovou redundanci pomocí Azure CLI, potřebujete Azure CLI verze 2.17.0 nebo novější nebo Azure Cloud Shell. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Vytvoření skupiny prostředků

V případě potřeby spusťte příkaz az group create a vytvořte skupinu prostředků pro registr.

az group create --name <resource-group-name> --location <location>

Vytvoření registru s povolenou zónou

Spuštěním příkazu az acr create vytvořte zónově redundantní registr na úrovni služby Premium. Zvolte oblast, která podporuje zóny dostupnosti pro Azure Container Registry. V následujícím příkladu je v oblasti eastus povolená zónová redundance. Další možnosti registru najdete v nápovědě az acr create k příkazu.

az acr create \
  --resource-group <resource-group-name> \
  --name <container-registry-name> \
  --location eastus \
  --zone-redundancy enabled \
  --sku Premium

Ve výstupu příkazu si poznamenejte zoneRedundancy vlastnost registru. Pokud je tato možnost povolená, registr je zónově redundantní:

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

Vytvoření zónově redundantní replikace

Spuštěním příkazu az acr replication create vytvořte zónově redundantní repliku registru v oblasti, která podporuje zóny dostupnosti pro Azure Container Registry, například westus2.

az acr replication create \
  --location westus2 \
  --resource-group <resource-group-name> \
  --registry <container-registry-name> \
  --zone-redundancy enabled

Ve výstupu příkazu si poznamenejte zoneRedundancy vlastnost repliky. Pokud je tato replika povolená, je zónově redundantní:

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

Vytvoření zónově redundantního registru – portál

  1. Přihlaste se k webu Azure Portal.

  2. Vyberte Vytvořit prostředek>Container>Registry.

  3. Na kartě Základy vyberte nebo vytvořte skupinu prostředků a zadejte jedinečný název registru.

  4. V části Umístění vyberte oblast, která podporuje zónovou redundanci pro Azure Container Registry, například USA – východ.

  5. V SKU vyberte Premium.

  6. V části Zóny dostupnosti vyberte Povoleno.

  7. Volitelně můžete nakonfigurovat další nastavení registru a pak vybrat Zkontrolovat a vytvořit.

  8. Vyberte Vytvořit a nasaďte instanci registru.

    Povolení zónové redundance v Azure Portal

Vytvoření zónově redundantní replikace:

  1. Přejděte do registru kontejneru úrovně Premium a vyberte Replikace.

  2. Na mapě, která se zobrazí, vyberte zelený šestiúhelník v oblasti, která podporuje zónovou redundanci pro Azure Container Registry, například USA – západ 2. Nebo vyberte + Přidat.

  3. V okně Vytvořit replikaci potvrďte umístění. V části Zóny dostupnosti vyberte Povoleno a pak vyberte Vytvořit.

    Povolení zónově redundantní replikace v Azure Portal

Vytvoření zónově redundantního registru – šablona

Vytvoření skupiny prostředků

V případě potřeby spusťte příkaz az group create a vytvořte skupinu prostředků pro registr v oblasti, která podporuje zóny dostupnosti pro Azure Container Registry, například eastus. Tuto oblast šablona používá k nastavení umístění registru.

az group create --name <resource-group-name> --location eastus

Nasazení šablony

K vytvoření zónově redundantního geograficky replikovaného registru můžete použít následující šablonu Resource Manager. Šablona ve výchozím nastavení umožňuje zónovou redundanci v registru a místní replice.

Zkopírujte následující obsah do nového souboru a uložte ho pomocí názvu souboru, například 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"
      }
    }
  }

Spuštěním následujícího příkazu az deployment group create vytvořte registr pomocí předchozího souboru šablony. Pokud je uvedeno, uveďte:

  • jedinečný název registru nebo nasaďte šablonu bez parametrů a vytvoří jedinečný název.
  • umístění repliky, které podporuje zóny dostupnosti, například westus2
az deployment group create \
  --resource-group <resource-group-name> \
  --template-file registryZone.json \
  --parameters acrName=<registry-name> acrReplicaLocation=<replica-location>

Ve výstupu příkazu si poznamenejte zoneRedundancy vlastnost registru a repliky. Pokud je tato možnost povolená, každý prostředek je zónově redundantní:

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

Další kroky