Partilhar via


Habilitar redundância de zona no Registro de Contêiner do Azure para resiliência e alta disponibilidade

Além da replicação geográfica, que replica dados do Registro em uma ou mais regiões do Azure para fornecer disponibilidade e reduzir a latência para operações regionais, o Registro de Contêiner do Azure oferece suporte à redundância de zona opcional. A redundância de zona fornece resiliência e alta disponibilidade para um recurso de registro ou replicação (réplica) em uma região específica.

Este artigo mostra como configurar um registro ou réplica de contêiner com redundância de zona usando a CLI do Azure, o portal do Azure ou o modelo do Azure Resource Manager.

A redundância de zona é um recurso da camada de serviço de registro de contêiner Premium. Para obter informações sobre camadas e limites de serviço do Registro, consulte Camadas de serviço do Registro de Contêiner do Azure.

Apoio Regional

  • As zonas de disponibilidade do ACR são suportadas nas seguintes regiões:

    Américas Europa África Ásia-Pacífico
    Sul do Brasil
    Canadá Central
    E.U.A. Central
    E.U.A. Leste
    E.U.A. Leste 2
    E.U.A. Leste 2 - EUAP
    E.U.A. Centro-Sul
    Governo dos EUA Virgínia
    E.U.A. Oeste 2
    EUA Oeste 3
    França Central
    Alemanha Centro-Oeste
    Norte da Itália
    Europa do Norte
    Leste da Noruega
    Suécia Central
    Norte da Suíça
    Sul do Reino Unido
    Europa Ocidental
    Norte da África do Sul
    Leste da Austrália
    Índia Central
    Norte da China 3
    Ásia Leste
    Leste do Japão
    Coreia do Sul Central
    Catar Central
    Sudeste Asiático
    Norte dos E.A.U.
  • Atualmente, não há suporte para conversões de região para zonas de disponibilidade.

  • Para habilitar o suporte à zona de disponibilidade em uma região, crie o registro na região desejada com o suporte à zona de disponibilidade habilitado ou adicione uma região replicada com o suporte à zona de disponibilidade habilitado.

  • Um registro com um carimbo habilitado para AZ cria uma replicação de região base com um carimbo habilitado para AZ por padrão. O carimbo AZ não pode ser desativado depois de ativado.

  • A replicação da região inicial representa o registro da região inicial. Ele ajuda a exibir e gerenciar as propriedades da zona de disponibilidade e não pode ser excluído.

  • A zona de disponibilidade é por região, uma vez que as replicações são criadas, seus estados não podem ser alterados, exceto excluindo e recriando as replicações.

  • A redundância de zona não pode ser desativada em uma região.

  • As Tarefas ACR ainda não suportam zonas de disponibilidade.

Sobre a redundância de zona

Use as zonas de disponibilidade do Azure para criar um registro de contêiner do Azure resiliente e de alta disponibilidade em uma região do Azure. Por exemplo, as organizações podem configurar um registro de contêiner do Azure com redundância de zona com outros recursos do Azure suportados para atender à residência de dados ou outros requisitos de conformidade, ao mesmo tempo em que fornecem alta disponibilidade em uma região.

O Registro de Contêiner do Azure também dá suporte à replicação geográfica, que replica o serviço em várias regiões, permitindo redundância e localidade para computar recursos em outros locais. A combinação de zonas de disponibilidade para redundância dentro de uma região e replicação geográfica em várias regiões melhora a confiabilidade e o desempenho de um registro.

As zonas de disponibilidade são locais físicos exclusivos dentro de uma região do Azure. Para garantir a resiliência, há um mínimo de três zonas separadas em todas as regiões ativadas. Cada zona tem um ou mais datacenters equipados com alimentação, refrigeração e rede independentes. Quando configurado para redundância de zona, um registro (ou uma réplica de registro em uma região diferente) é replicado em todas as zonas de disponibilidade na região, mantendo-o disponível se houver falhas no datacenter.

Criar um registro com redundância de zona - CLI

Para usar a CLI do Azure para habilitar a redundância de zona, você precisa da CLI do Azure versão 2.17.0 ou posterior ou do Azure Cloud Shell. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Criar um grupo de recursos

Se necessário, execute o comando az group create para criar um grupo de recursos para o registro.

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

Criar registro habilitado para zona

Execute o comando az acr create para criar um registro com redundância de zona na camada de serviço Premium. Escolha uma região que ofereça suporte a zonas de disponibilidade para o Registro de Contêiner do Azure. No exemplo a seguir, a redundância de zona é habilitada na região eastus . Consulte a ajuda do comando para obter mais opções do az acr create Registro.

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

Na saída do comando, anote a zoneRedundancy propriedade para o registro. Quando habilitado, o registro é zona redundante:

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

Criar replicação com redundância de zona

Execute o comando az acr replication create para criar uma réplica de registro com redundância de zona em uma região que ofereça suporte a zonas de disponibilidade para o Registro de Contêiner do Azure, como westus2.

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

Na saída do comando, anote a zoneRedundancy propriedade da réplica. Quando ativada, a réplica é redundante de zona:

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

Criar um registro com redundância de zona - portal

  1. Inicie sessão no portal do Azure.

  2. Selecione Criar um recurso>Contentores>Container Registry.

  3. Na guia Noções básicas, selecione ou crie um grupo de recursos e insira um nome de registro exclusivo.

  4. Em Local, selecione uma região que ofereça suporte à redundância de zona para o Registro de Contêiner do Azure, como East US.

  5. Em SKU, selecione Premium.

  6. Em Zonas de disponibilidade, selecione Habilitado.

  7. Opcionalmente, defina mais configurações do Registro e selecione Revisar + criar.

  8. Selecione Criar para implantar a instância do Registro.

    Habilitar redundância de zona no portal do Azure

Para criar uma replicação com redundância de zona:

  1. Navegue até o registro de contêiner da camada Premium e selecione Replicações.

  2. No mapa exibido, selecione um hexágono verde em uma região que ofereça suporte à redundância de zona para o Registro de Contêiner do Azure, como West US 2. Ou selecione + Adicionar.

  3. Na janela Criar replicação, confirme o Local. Em Zonas de disponibilidade, selecione Habilitado e, em seguida, selecione Criar.

    Habilitar a replicação com redundância de zona no portal do Azure

Criar um registro com redundância de zona - modelo

Criar um grupo de recursos

Se necessário, execute o comando az group create para criar um grupo de recursos para o Registro em uma região que ofereça suporte a zonas de disponibilidade para o Registro de Contêiner do Azure, como eastus. Essa região é usada pelo modelo para definir o local do Registro.

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

Implementar o modelo

Você pode usar o seguinte modelo do Gerenciador de Recursos para criar um registro com redundância de zona e replicado geograficamente. O modelo por padrão habilita a redundância de zona no registro e uma réplica regional.

Copie o conteúdo a seguir para um novo arquivo e salve-o usando um nome de arquivo como 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"
      }
    }
  }

Execute o seguinte comando az deployment group create para criar o registro usando o arquivo de modelo anterior. Se indicado, fornecer:

  • um nome de registro exclusivo ou implante o modelo sem parâmetros e ele criará um nome exclusivo para você
  • Um local para a réplica que suporta zonas de disponibilidade, como o Westus2
az deployment group create \
  --resource-group <resource-group-name> \
  --template-file registryZone.json \
  --parameters acrName=<registry-name> acrReplicaLocation=<replica-location>

Na saída do comando, anote a zoneRedundancy propriedade do registro e da réplica. Quando ativado, cada recurso é redundante de zona:

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

Próximos passos