Solucionar problemas de rede com o registro
Este artigo ajuda 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 inclui um ou mais dos seguintes:
- Não é possível efetuar push ou pull de imagens, e você recebe um erro
dial tcp: lookup myregistry.azurecr.io
- Não é possível efetuar push ou pull de imagens, e você recebe um erro
Client.Timeout exceeded while awaiting headers
- Não é possível efetuar push ou pull de imagens, e você recebe o erro do CLI do Azure
Could not connect to the registry login server
- Não é possível fazer pull de imagens do registro para serviço de Kubernetes do Azure ou outro serviço do Azure
- Não é possível acessar um registro por trás de um proxy HTTPS e você recebe um erro
Error response from daemon: login attempt failed with status: 403 Forbidden
ouError response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
- Não é possível definir as configurações de rede virtual e você recebe um erro
Failed to save firewall and virtual network settings for container registry
- Não é possível acessar ou exibir as 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
- Tarefas do ACR não consegue fazer push ou pull de imagens
- O Microsoft Defender para Nuvem não pode examinar imagens no Registro ou os resultados do exame não aparecem no Microsoft Defender para Nuvem
- Você recebe um erro
host is not reachable
ao tentar acessar um registro configurado com um ponto de extremidade privado.
Causas
- Um firewall ou proxy do cliente impede o acesso – solução
- Regras de acesso à rede pública no registro impedem o acesso – solução
- A rede virtual ou a configuração de ponto de extremidade privado impede o acesso – solução
- Você tenta integrar o Microsoft Defender para Nuvem ou determinados outros serviços do Azure com um registro que tenha um ponto de extremidade privado, um ponto de extremidade de serviço ou regras de acesso a IP Público – solução
Diagnóstico adicional
Execute o comando az acr check-health para obter informações sobre a integridade do ambiente e, opcionalmente, o acesso a um registro de destino. Por exemplo, diagnosticar determinados problemas de conectividade de rede ou configuração.
Consulte Verificar a integridade de um registro de contêiner do Azure para obter exemplos de comando. Se forem relatados erros, examine a referência de erro e as seções a seguir para obter as soluções recomendadas.
Se você estiver tendo problemas ao usar um registro integrado com o serviço de Kubernetes do Azure, execute o comando az aks check-acr para validar se o registro está acessível no cluster AKS.
Observação
Alguns sintomas de conectividade de rede também podem ocorrer quando há problemas com autenticação ou autorização do Registro. Solucionar problemas de logon de registro.
Possíveis soluções
Configurar o acesso ao firewall do cliente
Para acessar um registro por trás de um firewall do cliente ou servidor proxy, configure regras de firewall para acessar os pontos de extremidade de dados e REST públicos do registro. Se os pontos de extremidade de dados dedicados estão habilitados, você precisará de regras para acessar:
- Ponto de extremidade REST:
<registryname>.azurecr.io
- Ponto(s) de extremidade de dados:
<registry-name>.<region>.data.azurecr.io
Para um registro com replicação geográfica, configure o acesso ao ponto de extremidade de dados para cada réplica regional.
Por trás de um proxy HTTPS, verifique se o cliente e o daemon do Docker estão configurados para comportamento de proxy. Se você alterar as configurações de proxy para o daemon do Docker, reinicie o daemon.
Os logs de recursos do registro na tabela ContainerRegistryLoginEvents podem ajudar a diagnosticar uma tentativa de conexão bloqueada.
Links relacionados:
- Configurar regras para acessar um registro de contêiner do Azure atrás de um firewall
- Configuração de proxy HTTP/HTTPS
- Replicação geográfica no Registro de Contêiner do Azure
- Monitoramento do registro de contêiner do Azure
Configurar acesso público ao registro
Se estiver acessando um registro pela Internet, confirme se o registro permite o acesso à rede pública 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 desabilita o acesso ao longo do ponto de extremidade de serviço. Se o registro estiver configurado para uma rede virtual com link privado, as regras de rede IP não se aplicarão aos pontos de extremidade particulares do registro.
Links relacionados:
- Configurar regras de rede IP pública
- Conectar-se de forma privada a um registro de contêiner do Azure usando o Link Privado do Azure
- Restringir o acesso a um registro de contêiner usando um ponto de extremidade de serviço em uma rede virtual do Azure
Configurar o acesso à VNet
Confirme se a rede virtual está configurada com um ponto de extremidade privado para o link privado ou um ponto de extremidade de serviço (versão prévia). 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.
- Execute o comando az acr check-health com o parâmetro
--vnet
para confirmar o roteamento de DNS para o ponto de extremidade privado na rede virtual. - Use um utilitário de rede como
dig
ounslookup
para pesquisa de DNS. - Verifique se os registros DNS estão configurados para o FQDN do registro e para cada um dos FQDNs do ponto de extremidade dos dados.
Examine as regras de NSG e as marcas 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 dessa sub-rede de rede. O ponto de extremidade de serviço só dá suporte ao acesso de máquinas virtuais e clusters AKS na rede.
Se você deseja restringir o acesso ao registro usando uma rede virtual em uma assinatura diferente do Azure, registre o provedor de recursos Microsoft.ContainerRegistry
nessa assinatura. Registre o provedor de recursos para o registro de contêiner do Azure usando o portal do Azure, 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 do AKS, está habilitado para alcançar os pontos de extremidade do registro.
Links relacionados:
- Conectar-se de forma privada a um registro de contêiner do Azure usando o Link Privado do Azure
- Solucionar problemas de conectividade do ponto de extremidade privado do Azure
- Restringir o acesso a um registro de contêiner usando um ponto de extremidade de serviço em uma rede virtual do Azure
- Regras de rede de saída e FQDNs necessários para clusters do AKS
- Kubernetes: Depurando a resolução do DNS
- Marcas de serviço de rede virtual
Configurar o acesso ao serviço
Atualmente, o acesso a um registro de contêiner com restrições de rede não é permitido em vários serviços do Azure:
- O Microsoft Defender para Nuvem não pode executar o Exame de vulnerabilidade de imagens em um registro que restringe o acesso a pontos de extremidade privados, sub-redes selecionadas ou endereços IP.
- Recursos de determinados serviços do Azure não podem acessar um registro de contêiner com restrições de rede, incluindo Serviço de Aplicativo do Azure e Instâncias de Contêiner do Azure.
Se o acesso ou a integração desses serviços do Azure com o 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.
Links relacionados:
- Exame de imagem do Registro de Contêiner do Azure pelo Microsoft Defender para Registros de Contêiner
- Fornecer comentários
- Permitir que os serviços confiáveis acessem com segurança um registro de contêiner restrito à rede
Solução de problemas avançada
Se a coleção de logs de recursos estiver habilitada no registro, examine o log ContainterRegistryLoginEvents. Esse log armazena os eventos de autenticação e o status, incluindo a identidade de entrada e o endereço IP. Consulte o log para obter falhas de autenticação do registro.
Links relacionados:
- Logs para avaliação de diagnóstico e auditoria
- Perguntas frequentes sobre registro de contêiner
- Linha de base de segurança do Azure para registro de contêiner
- Melhores práticas para o Registro de Contêiner do Azure
Próximas etapas
Se você não resolver o problema aqui, confira as opções a seguir.
- Outros tópicos de solução de problemas de registro incluem:
- Opções de suporte da comunidade
- Microsoft Q&A
- Abra um tíquete de suporte