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 3Franç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 OcidentalNorte 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
Inicie sessão no portal do Azure.
Selecione Criar um recurso>Contentores>Container Registry.
Na guia Noções básicas, selecione ou crie um grupo de recursos e insira um nome de registro exclusivo.
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.
Em SKU, selecione Premium.
Em Zonas de disponibilidade, selecione Habilitado.
Opcionalmente, defina mais configurações do Registro e selecione Revisar + criar.
Selecione Criar para implantar a instância do Registro.
Para criar uma replicação com redundância de zona:
Navegue até o registro de contêiner da camada Premium e selecione Replicações.
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.
Na janela Criar replicação, confirme o Local. Em Zonas de disponibilidade, selecione Habilitado e, em seguida, selecione Criar.
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
- Saiba mais sobre as regiões que suportam zonas de disponibilidade.
- Saiba mais sobre como criar para confiabilidade no Azure.