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
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 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
host is not reachable
ao tentar acessar um registro configurado com um 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 regras para acessar um registro de contêiner do Azure atrás de um firewall
- Configuração de proxy HTTP/HTTPS
- Georreplicação no Azure Container Registry
- Monitorar o Registro de Contêiner do Azure
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 regras de rede IP pública
- Conectar-se de forma privada a um registro de contêiner do Azure usando o Azure Private Link
- 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 à 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.
- Execute o comando az acr check-health com o
--vnet
parâmetro para confirmar o roteamento 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 de dados.
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:
- Conectar-se de forma privada a um registro de contêiner do Azure usando o Azure Private Link
- Resolver problemas de conectividade do Ponto Final 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 AKS
- Kubernetes: Depurando resolução DNS
- Etiquetas de serviço da rede virtual
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:
- O Microsoft Defender for Cloud não pode executar a verificação de vulnerabilidades de imagem em um registro que restrinja o acesso a pontos de extremidade privados, sub-redes selecionadas ou endereços IP.
- Os recursos de determinados serviços do Azure não conseguem aceder a um registo de contentor com restrições de rede, incluindo o Serviço de Aplicações do Azure e as Instâncias de Contentor 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:
- Análise de imagens do Registo de Contentores do Azure pelo Microsoft Defender para registos de contentores
- Enviar comentários
- Permitir que serviços confiáveis acessem com segurança um registro de contêiner restrito à rede
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:
- Logs para avaliação diagnóstica e auditoria
- Perguntas frequentes sobre o registro de contêiner
- Linha de base de segurança do Azure para o Registro de Contêiner do Azure
- Práticas recomendadas para o Registro de Contêiner do Azure
Próximos passos
Se não resolver o problema aqui, consulte as seguintes opções.
- Outros tópicos de solução de problemas do registro incluem:
- Opções de suporte da comunidade
- Microsoft Q&A
- Abrir um pedido de suporte