Solucionar problemas de rede com o Registro

Este artigo ajuda você a solucionar problemas que você pode encontrar ao acessar um registro de contêiner do Azure em uma rede virtual ou atrás de um firewall ou servidor proxy.

Sintomas

Pode incluir um ou mais dos seguintes elementos:

  • Não é possível empurrar ou puxar imagens e você recebe erro dial tcp: lookup myregistry.azurecr.io
  • Não é possível empurrar ou puxar imagens e você recebe erro Client.Timeout exceeded while awaiting headers
  • Não é possível enviar ou extrair imagens e você recebe o erro da CLI do Azure Could not connect to the registry login server
  • Não é possível extrair imagens do Registro para o Serviço Kubernetes do Azure ou outro serviço do Azure
  • Não é possível acessar um registro atrás de um proxy HTTPS e você recebe erro Error response from daemon: login attempt failed with status: 403 Forbidden ou Error response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
  • Não é possível definir as configurações de rede virtual e você recebe erro Failed to save firewall and virtual network settings for container registry
  • Não é possível acessar ou exibir configurações do Registro no portal do Azure ou gerenciar o Registro usando a CLI do Azure
  • Não é possível adicionar ou modificar configurações de rede virtual ou regras de acesso público
  • As Tarefas ACR não conseguem enviar ou extrair imagens
  • O Microsoft Defender for Cloud não pode digitalizar imagens no registro ou os resultados da verificação não aparecem no Microsoft Defender for Cloud
  • Você recebe um erro ao tentar acessar um registro configurado com um host is not reachable ponto de extremidade privado.

Causas

  • Um firewall ou proxy cliente impede o acesso - solução
  • As regras de acesso à rede pública no registo impedem o acesso - solução
  • A configuração de rede virtual ou ponto final privado impede o acesso - solução
  • Você tenta integrar o Microsoft Defender for Cloud ou determinados outros serviços do Azure com um registro que tenha um ponto de extremidade privado, ponto de extremidade de serviço ou regras de acesso IP público - solução

Diagnóstico adicional

Execute o comando az acr check-health para obter mais informações sobre a integridade do ambiente do Registro e, opcionalmente, acessar um Registro de destino. Por exemplo, diagnostique determinados problemas de conectividade ou configuração de rede.

Consulte Verificar a integridade de um registro de contêiner do Azure para obter exemplos de comando. Se forem reportados erros, reveja a referência de erro e as secções seguintes para obter as soluções recomendadas.

Se você estiver tendo problemas ao usar um Serviço Kubernetes do Azure com um registro integrado, execute o comando az aks check-acr para validar que o cluster AKS pode acessar o registro.

Nota

Alguns sintomas de conectividade de rede também podem ocorrer quando há problemas com autenticação ou autorização do Registro. Consulte Solucionar problemas de login do Registro.

Soluções potenciais

Configurar o acesso ao firewall do cliente

Para acessar um registro por trás de um firewall cliente ou servidor proxy, configure regras de firewall para acessar o REST público do registro e os pontos de extremidade de dados. Se os pontos de extremidade de dados dedicados estiverem habilitados, você precisará de regras para acessar:

  • Ponto de avaliação REST: <registryname>.azurecr.io
  • Parâmetro(s) de dados: <registry-name>.<region>.data.azurecr.io

Para um registro replicado geograficamente, configure o acesso ao ponto de extremidade de dados para cada réplica regional.

Por trás de um proxy HTTPS, certifique-se de que o cliente Docker e o daemon do Docker estejam configurados para comportamento de proxy. Se você alterar as configurações de proxy para o daemon do Docker, certifique-se de reiniciar o daemon.

Os logs de recursos do Registro na tabela ContainerRegistryLoginEvents podem ajudar a diagnosticar uma tentativa de conexão bloqueada.

Ligações úteis:

Configurar o acesso público ao registo

Se aceder a um registo através da Internet, confirme se o registo permite o acesso à rede pública a partir do seu cliente. Por padrão, um registro de contêiner do Azure permite o acesso aos pontos de extremidade do registro público de todas as redes. Um registro pode limitar o acesso a redes selecionadas ou endereços IP selecionados.

Se o registro estiver configurado para uma rede virtual com um ponto de extremidade de serviço, desabilitar o acesso à rede pública também desabilitará o acesso pelo ponto de extremidade de serviço. Se o seu registo estiver configurado para uma rede virtual com Private Link, as regras de rede IP não se aplicam aos pontos finais privados do registo.

Ligações úteis:

Configurar o acesso à rede virtual

Confirme se a rede virtual está configurada com um ponto de extremidade privado para Link privado ou um ponto de extremidade de serviço (visualização). Atualmente, não há suporte para um ponto de extremidade do Azure Bastion.

Se um ponto de extremidade privado estiver configurado, confirme se o DNS resolve o FQDN público do Registro, como myregistry.azurecr.io para o endereço IP privado do Registro.

Analise as regras NSG e as tags de serviço usadas para limitar o tráfego de outros recursos na rede para o Registro.

Se um ponto de extremidade de serviço para o Registro estiver configurado, confirme se uma regra de rede foi adicionada ao Registro que permite o acesso a partir dessa sub-rede de rede. O ponto de extremidade de serviço suporta apenas o acesso de máquinas virtuais e clusters AKS na rede.

Se você quiser restringir o acesso ao Registro usando uma rede virtual em uma assinatura diferente do Azure, certifique-se de registrar o Microsoft.ContainerRegistry provedor de recursos nessa assinatura. Registre o provedor de recursos para o Registro de Contêiner do Azure usando o portal do Azure, a CLI do Azure ou outras ferramentas do Azure.

Se o Firewall do Azure ou uma solução semelhante estiver configurada na rede, verifique se o tráfego de saída de outros recursos, como um cluster AKS, está habilitado para alcançar os pontos de extremidade do Registro.

Ligações úteis:

Configurar o acesso ao serviço

Atualmente, o acesso a um registo de contentor com restrições de rede não é permitido a partir de vários serviços do Azure:

Se o acesso ou a integração desses serviços do Azure com seu registro de contêiner for necessário, remova a restrição de rede. Por exemplo, remova os pontos de extremidade privados do Registro ou remova ou modifique as regras de acesso público do Registro.

A partir de janeiro de 2021, você pode configurar um registro restrito à rede para permitir o acesso de serviços confiáveis selecionados.

Ligações úteis:

Resolução de problemas avançados

Se a coleção de logs de recursos estiver habilitada no Registro, revise o log ContainterRegistryLoginEvents. Esse log armazena eventos e status de autenticação, incluindo a identidade de entrada e o endereço IP. Consulte o log em busca de falhas de autenticação do Registro.

Ligações úteis:

Próximos passos

Se não resolver o problema aqui, consulte as seguintes opções.