Povolení redundance zón ve službě Azure Container Registry pro zajištění odolnosti a vysoké dostupnosti

Kromě geografické replikace, která replikuje data registru napříč jednou nebo více oblastmi Azure, aby poskytovala dostupnost a snížila latenci pro regionální operace, azure Container Registry podporuje volitelnou redundanci zón. Redundance zón zajišťuje odolnost a vysokou dostupnost prostředku registru nebo replikace (repliky) v konkrétní oblasti.

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

Redundance zón je funkce úrovně služby Registru kontejneru Premium. Informace o úrovních a omezeních služby registru najdete v tématu Úrovně služby Azure Container Registry.

Regionální podpora

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

    Amerika Evropě 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
    Státní správa USA – Virginie
    Západní USA 2
    USA – západ 3
    Francie – střed
    Německo – středozápad
    Itálie - sever
    Severní Evropa
    Norsko – východ
    Švédsko – střed
    Švýcarsko – sever
    Velká Británie – jih
    Západní Evropa
    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
    Střední Katar
    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ón dostupnosti v určité 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 povoleným az ve výchozím nastavení vytvoří replikaci domovské oblasti s razítkem s podporou AZ. Jakmile je povolený, razítko AZ se nedá 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, jakmile se replikace vytvoří, jejich stavy se nedají změnit, s výjimkou odstranění a opětovného vytvoření replikací.

  • Redundance zón není možné v oblasti zakázat.

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

O redundanci zón

Využijte zóny dostupnosti Azure k vytvoření odolného a vysoce dostupného registru kontejnerů Azure v rámci oblasti Azure. Organizace můžou například nastavit zónově redundantní registr kontejnerů Azure s jinými podporovanými prostředky Azure, aby splňovaly požadavky na rezidenci dat nebo jiné požadavky na dodržování předpisů a současně 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 datacenter vybavených nezávislým napájením, chlazením a sítěmi. Při konfiguraci redundance zón se registr (nebo replika registru v jiné oblasti) replikuje napříč všemi zónami dostupnosti v dané oblasti, aby byl dostupný, pokud dojde k selhání datacentra.

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

Pokud chcete pomocí Azure CLI povolit redundanci zón, 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 zdrojů

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 podporou zóny

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á redundance zón. 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 Službu 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 možnost povolená, replika je zónově redundantní:

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

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

  1. Přihlaste se k portálu Azure.

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

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

  4. V umístění vyberte oblast, která podporuje redundanci zón pro Službu Azure Container Registry, například USA – východ.

  5. V SKU vyberte Premium.

  6. V zónách 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í redundance zón na webu 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 redundanci zón 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 zónách dostupnosti vyberte Povoleno a pak vyberte Vytvořit.

    Povolení zónově redundantní replikace na webu Azure Portal

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

Vytvoření skupiny zdrojů

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 používá šablona k nastavení umístění registru.

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

Nasazení šablony

Pomocí následující šablony Resource Manageru můžete vytvořit zónově redundantní geograficky replikovaný registr. Šablona ve výchozím nastavení umožňuje redundanci zón 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ří pro vás jedinečný název.
  • umístění repliky, která podporuje zóny dostupnosti, jako je 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á, je každý prostředek zónově redundantní:

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

Další kroky