Compartilhar via


Replicação geográfica no Registro de Contêiner do Azure

Habilitar a replicação geográfica para um Registro de Contêiner do Azure (ACR) cria recursos de réplica geográfica em regiões do Azure de sua escolha. Quando você envia imagens por push para um registro replicado geograficamente, o conteúdo é sincronizado automaticamente com todas as réplicas geográficas.

Com replicação geográfica:

  • Gerenciar um registro: manter um único conjunto de credenciais, atribuições de função, regras de rede e configuração de registro em todas as réplicas geográficas.
  • Use um ponto de extremidade global: Referencie myregistry.azurecr.io/myimage:tag em todos os seus builds e deployments. O Azure encaminha solicitações para a réplica geográfica com o melhor perfil de desempenho de rede para o cliente, que geralmente é a réplica geográfica mais próxima. No entanto, se o cliente for equidistante de várias réplicas geográficas ou a réplica geográfica mais próxima não estiver disponível, as solicitações poderão ser roteadas para outro lugar.
  • Sincronização automática: realize o push de tags e resumos uma única vez; ACR replica o conteúdo e os metadados para todas as réplicas geográficas.

A replicação geográfica requer o SKU Premium.

Observação

Considerações principais

Modelo de replicação

A replicação geográfica do ACR usa um modelo ativo-ativo .

  • Todas as réplicas geográficas são ativas e graváveis—você pode efetuar push e pull de imagens de qualquer réplica geográfica, não apenas da réplica geográfica da região de origem.
  • Isso difere dos modelos de replicação primária-secundária em que apenas uma região aceita gravações e regiões secundárias são passivas.

Modelo de consistência

O ACR usa consistência eventual.

  • Depois de enviar por push uma imagem, o ACR replica automaticamente o conteúdo e os metadados enviados para todas as réplicas geográficas em segundo plano.
  • O tempo de replicação é uma função do tamanho da imagem.
  • Até que a replicação seja concluída em segundo plano, uma réplica geográfica pode não ter o conteúdo ou os metadados mais recentes enviados por push. Você pode usar webhooks para receber notificações quando a replicação de uma imagem enviada por push específica for concluída em cada réplica geográfica.

Considerações sobre alta disponibilidade

A replicação geográfica melhora a disponibilidade mantendo imagens em várias regiões. Se uma região tiver uma interrupção, as imagens permanecerão acessíveis de outras geo-replicações — push e pull continuarão funcionando nas geo-replicações restantes.

Para obter resiliência máxima:

Considerações sobre o SLA e a camada de serviço

Os SLAs do Registro de Contêiner do Azure se aplicam a cada réplica geográfica de forma independente.

Determinados limites de camada de serviço têm a seguinte consideração especial:

  • Armazenamento: os limites de armazenamento são compartilhados em todas as réplicas geográficas. Quando você envia uma imagem de 1 GiB, ela ocupa 1 GiB em todas as réplicas geográficas após a conclusão da replicação eventual.
  • Limites de taxa de API: os limites de operações de API, como o número de leituras e gravações por minuto, são específicos para cada réplica geográfica.

Para obter mais informações sobre as camadas de serviço e os limites, consulte as camadas de serviço do ACR.

Considerações de preço

A replicação geográfica pode reduzir os custos ao habilitar pushes e pulls de imagem na região, evitando encargos de transferência de dados entre regiões durante operações de push ou pull.

No entanto, os encargos entre regiões ainda se aplicam à replicação de dados em réplicas geográficas quando você envia imagens por push. Cada réplica geográfica também incorre em seus próprios custos de armazenamento.

Para obter mais informações, consulte os preços do ACR.

Configurar a replicação geográfica

Permissões necessárias

Para gerenciar réplicas geográficas, sua identidade precisa dessas permissões:

Permissão DESCRIÇÃO
Microsoft.ContainerRegistry/registries/read Obter propriedades do Registro
Microsoft.ContainerRegistry/registries/write Criar ou atualizar propriedades do Registro
Microsoft.ContainerRegistry/registries/replications/read Listar réplicas geográficas
Microsoft.ContainerRegistry/registries/replications/write Criar ou atualizar uma réplica geográfica
Microsoft.ContainerRegistry/registries/replications/delete Excluir uma réplica geográfica
Microsoft.ContainerRegistry/registries/replications/operationStatuses/read Obter o status da operação de réplica geográfica

portal do Azure

  1. Vá para o registro no portal do Azure.
  2. Em Serviços, selecione Replicações geográficas.
  3. No mapa:
    • Hexágono azul: região inicial (onde você criou o registro)
    • Hexágonos verdes: regiões disponíveis
    • Hexágonos cinzas: regiões indisponíveis
  4. Selecione um hexágono verde e, em seguida, selecione Criar.

Captura de tela do mapa de replicação geográfica no portal do Azure.

CLI do Azure

# Create a replica
az acr replication create --registry myregistry --location eastus

# List replicas
az acr replication list --registry myregistry --output table

# Delete a replica
az acr replication delete --registry myregistry --name eastus

Para obter mais comandos, consulte az acr replication.

Fazer push ou pull de imagens pelo endpoint global

Depois de configurar a replicação geográfica, você pode realizar push ou pull de conteúdo para o registro por meio do ponto de extremidade global do registro (myregistry.azurecr.io).

  • Quando você realiza push ou pull através do ponto de extremidade global, o ACR direciona a solicitação para a réplica geográfica com o melhor perfil de desempenho de rede para o cliente.
  • Geralmente, essa é a réplica geográfica mais próxima.
  • No entanto, se o cliente for equidistante de várias réplicas geográficas ou a réplica geográfica mais próxima não estiver disponível, as solicitações poderão ser roteadas para outro lugar.
  • Esse roteamento é gerenciado pelo ACR— você não controla qual réplica geográfica lida com uma solicitação específica.

Remover temporariamente uma réplica geográfica do roteamento do endpoint global

Você pode excluir uma réplica geográfica do roteamento de ponto de extremidade global desabilitando a --region-endpoint-enabled configuração de uma réplica geográfica específica. Isso é útil para manutenção ou solução de problemas.

  • Quando a --region-endpoint-enabled configuração de uma réplica geográfica específica é definida como false, o ACR interrompe o roteamento de solicitações para essa réplica geográfica específica para solicitações que vão para o ponto de extremidade global.
  • Os dados continuam sincronizando com uma réplica geográfica mesmo se o roteamento de ponto de extremidade global estiver desabilitado para essa réplica geográfica específica.
  • Dessa forma, a cota de armazenamento e os custos continuam sendo acumulados pela réplica geográfica.
# Prevent the global endpoint from routing to a specific geo-replica.
# This excludes only the specific geo-replica from global endpoint routing.
az acr replication update --registry myregistry --name eastus \
  --region-endpoint-enabled false

# Re-enable the geo-replica in global endpoint routing.
# This allows the global endpoint to route certain requests to the geo-replica
# depending on the client's network performance profile with the geo-replica.
az acr replication update --registry myregistry --name eastus \
  --region-endpoint-enabled true

Realizar push ou pull de imagens por meio de endpoints regionais de réplica geográfica

Os endpoints regionais fornecem URLs dedicadas para cada réplica, permitindo que você especifique exatamente qual réplica regional manipula sua solicitação de push ou pull.

  • myregistry. eastus.geo.azurecr.io
  • myregistry.westeurope.geo.azurecr.io

Use pontos de extremidade regionais quando precisar:

  • Roteamento previsível: garantir que uma tarefa sempre utilize uma réplica específica para afinidade regional.
  • Failover do lado do cliente: implemente sua própria lógica de failover entre réplicas geográficas regionais em caso de interrupções.
  • Consistência de push-pull: realize push e pull da mesma réplica para evitar o atraso de replicação.

Observação

Os pontos de extremidade regionais estão atualmente em versão prévia privada. Para inscrição e documentação, consulte pontos de extremidade regionais para registros replicados geograficamente.

Resolução de problemas

Falha no envio com erros de manifesto

Alguns resolvedores DNS do Linux não armazenam respostas em cache consistentemente. Se houver várias réplicas geográficas em regiões próximas, o DNS poderá resolver para réplicas diferentes durante um único push (flutuação do DNS), fazendo com que o manifesto enviado faça referência a camadas que foram enviadas para uma réplica geográfica diferente.

Soluções:

Criação de réplica geográfica bloqueada para registros com endpoint privado habilitado

Isso geralmente ocorre quando a identidade que cria uma réplica geográfica para um registro habilitado para ponto de extremidade privado não tem permissões suficientes para criar recursos de rede para pontos de extremidade privados.

Solução:

  • Para resolver, exclua manualmente a réplica geográfica que ficou presa no estado de provisionamento.
  • Posteriormente, verifique se a identidade tem a permissão Microsoft.Network/privateEndpoints/privateLinkServiceProxies/write antes de criar uma réplica geográfica.

Próximas etapas