Ativar a redundância entre zonas no Azure Container Registry para resiliência e elevada disponibilidade
Além da georreplicação, que replica dados de registo em uma ou mais regiões do Azure para fornecer disponibilidade e reduzir a latência para operações regionais, Azure Container Registry suporta redundância de zona opcional. A redundância entre zonas proporciona resiliência e elevada disponibilidade a um recurso de registo ou replicação (réplica) numa região específica.
Este artigo mostra como configurar um registo ou réplica de contentor com redundância entre zonas com a CLI do Azure, o portal do Azure ou o modelo de Resource Manager do Azure.
A redundância entre zonas é uma funcionalidade do escalão de serviço de registo de contentor Premium. Para obter informações sobre os escalões e limites do serviço de registo, veja Azure Container Registry escalões de serviço.
Suporte Regional
Os Zonas de Disponibilidade do ACR são suportados nas seguintes regiões:
América 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
US Government Virginia
E.U.A. Oeste 2
EUA Oeste 3França Central
Alemanha Centro-Oeste
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, as conversões de regiões em zonas de disponibilidade não são suportadas.
Para ativar o suporte da zona de disponibilidade numa região, crie o registo na região pretendida com o suporte da zona de disponibilidade ativado ou adicione uma região replicada com o suporte da zona de disponibilidade ativado.
Por predefinição, um registo com um selo ativado para AZ cria uma replicação de região raiz com um carimbo ativado para AZ. O carimbo do AZ não pode ser desativado depois de estar ativado.
A replicação da região raiz representa o registo da região de origem. Ajuda a ver e gerir as propriedades da zona de disponibilidade e não pode ser eliminada.
A zona de disponibilidade é por região, uma vez criadas as replicaçãos, os respetivos estados não podem ser alterados, exceto ao eliminar e recriar as replicaçãos.
A redundância entre zonas não pode ser desativada numa região.
O ACR Tasks ainda não suporta zonas de disponibilidade.
Acerca da redundância entre zonas
Utilize as zonas de disponibilidade do Azure para criar um registo de contentor do Azure resiliente e de elevada disponibilidade numa região do Azure. Por exemplo, as organizações podem configurar um registo de contentor do Azure com redundância entre zonas com outros recursos suportados do Azure para cumprir a residência dos dados ou outros requisitos de conformidade, ao mesmo tempo que fornecem elevada disponibilidade numa região.
Azure Container Registry também suporta a georreplicação, que replica o serviço em várias regiões, permitindo a redundância e a localidade para calcular recursos noutras localizações. A combinação de zonas de disponibilidade para redundância numa região e georreplicação em várias regiões melhora a fiabilidade e o desempenho de um registo.
As zonas de disponibilidade são localizações físicas exclusivas numa 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 energia independente, refrigeração e rede. Quando configurado para redundância entre zonas, um registo (ou uma réplica de registo numa região diferente) é replicado em todas as zonas de disponibilidade na região, mantendo-o disponível se existirem falhas do datacenter.
Criar um registo com redundância entre zonas - CLI
Para utilizar a CLI do Azure para ativar a redundância entre zonas, precisa da versão 2.17.0 ou posterior da CLI do Azure 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 registo.
az group create --name <resource-group-name> --location <location>
Criar um registo com zona ativada
Execute o comando az acr create para criar um registo com redundância entre zonas no escalão de serviço Premium. Escolha uma região que suporte zonas de disponibilidade para Azure Container Registry. No exemplo seguinte, a redundância entre zonas está ativada na região eastus . Consulte a ajuda do az acr create
comando para obter mais opções de registo.
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 do registo. Quando ativado, o registo é com redundância entre zonas:
{
[...]
"zoneRedundancy": "Enabled",
}
Criar replicação com redundância entre zonas
Execute o comando az acr replication create para criar uma réplica de registo com redundância entre zonas numa região que suporte zonas de disponibilidade para Azure Container Registry, 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 é com redundância entre zonas:
{
[...]
"zoneRedundancy": "Enabled",
}
Criar um registo com redundância entre zonas - portal
Inicie sessão no portal do Azure.
Selecione Criar um recurso>Containers>Container Registry.
No separador Informações Básicas , selecione ou crie um grupo de recursos e introduza um nome de registo exclusivo.
Em Localização, selecione uma região que suporte a redundância entre zonas para Azure Container Registry, como E.U.A. Leste.
No SKU, selecione Premium.
Em Zonas de disponibilidade, selecione Ativado.
Opcionalmente, configure mais definições de registo e, em seguida, selecione Rever + criar.
Selecione Criar para implementar a instância de registo.
Para criar uma replicação com redundância entre zonas:
Navegue para o registo de contentor do escalão Premium e selecione Replicaçãos.
No mapa apresentado, selecione um hexágono verde numa região que suporte redundância entre zonas para Azure Container Registry, como E.U.A. Oeste 2. Em alternativa, selecione + Adicionar.
Na janela Criar replicação , confirme a Localização. Em Zonas de disponibilidade, selecione Ativado e, em seguida, selecione Criar.
Criar um registo com redundância entre zonas - modelo
Criar um grupo de recursos
Se necessário, execute o comando az group create para criar um grupo de recursos para o registo numa região que suporte zonas de disponibilidade para Azure Container Registry, como eastus. Esta região é utilizada pelo modelo para definir a localização do registo.
az group create --name <resource-group-name> --location eastus
Implementar o modelo
Pode utilizar o seguinte modelo de Resource Manager para criar um registo georreplicado com redundância entre zonas. Por predefinição, o modelo ativa a redundância entre zonas no registo e numa réplica regional.
Copie o seguinte conteúdo para um novo ficheiro e guarde-o com um nome de ficheiro, 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 registo com o ficheiro de modelo anterior. Quando indicado, indique:
- um nome de registo exclusivo ou implementar o modelo sem parâmetros e irá criar um nome exclusivo para si
- uma localização para a réplica que suporta zonas de disponibilidade, como 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 registo e da réplica. Quando ativado, cada recurso é com redundância entre zonas:
{
[...]
"zoneRedundancy": "Enabled",
}
Passos seguintes
- Saiba mais sobre as regiões que suportam zonas de disponibilidade.
- Saiba mais sobre como criar para fiabilidade no Azure.