Não é possível obter o endereço IP privado de um FQDN do Registro de Contêiner do Azure
Este artigo fornece diretrizes para solucionar as situações mais comuns que podem impedir que você resolva o FQDN (nome de domínio totalmente qualificado) de um Registro de Contêiner do Microsoft Azure para seu endereço IP privado.
Visão geral
No Registro de Contêiner do Azure, você pode usar o Link Privado do Azure junto com um ponto de extremidade privado e uma zona DNS privada para atribuir um endereço IP privado de rede virtual ao FQDN do registro (também conhecido como servidor de logon ou ponto de extremidade da API REST).
Como o serviço Registro de Contêiner do Azure é multilocatário, ele sempre tem um endereço IP público. Se você definir o registro de contêiner para usar a tecnologia de Link Privado para o FQDN do registro, o registro de contêiner receberá um endereço IP público e um endereço IP privado.
Depois de definir essa configuração, há situações em que a resolução DNS do FQDN do registro de contêiner retorna o endereço IP público, mesmo que você espere que a resolução DNS retorne o endereço IP privado. Esse cenário pode causar muitos problemas, como falha de pull, se o acesso público ao registro de contêiner estiver desabilitado e você depender apenas da conectividade privada.
Observação
Para verificar se o registro de contêiner está configurado para uso privado, siga estas etapas:
No portal do Azure, pesquise e selecione Registros de contêiner.
Na lista de registros de contêiner, selecione o nome do registro de contêiner.
No painel de menu do registro de contêiner, selecione Configurações>Rede.
Na guia Acesso público, verifique se o campo Acesso à rede pública está definido como Desabilitado.
Selecione a guia Acesso privado e verifique se uma conexão de ponto de extremidade privado está configurada.
Sintomas
Você usa uma ferramenta de utilitário DNS (Sistema de Nomes de Domínio) para fazer uma consulta DNS e obter o endereço IP público do registro de contêiner nos resultados da consulta. No entanto, o registro de contêiner realmente está configurado para uso privado e o resultado da consulta DNS indica que o registro de contêiner está configurado para uso privado.
Observação
Um registro de contêiner será configurado para uso privado se o nome canônico estiver no formato <container-registry-name>.privatelink.azurecr.io
.
Por exemplo, o seguinte comando nslookup faz uma consulta DNS no FQDN do acrpe332.azurecr.io
registro de contêiner:
nslookup acrpe332.azurecr.io
A saída nslookup retorna um nome canônico de , para que você saiba que o acrpe332
registro de acrpe332.privatelink.azurecr.io
contêiner está configurado para uso privado. No entanto, a saída também retorna um endereço IP público para o FQDN do acrpe332
registro de 20.62.128.38
contêiner:
Server: 168.63.129.16
Address: 168.63.129.16#53
Non-authoritative answer:
acrpe332.azurecr.io canonical name = acrpe332.privatelink.azurecr.io.
acrpe332.privatelink.azurecr.io canonical name = eus1.fe.azcr.io.
eus1.fe.azcr.io canonical name = eus-acr-reg.trafficmanager.net.
eus-acr-reg.trafficmanager.net canonical name = r0318eus-az.eastus.cloudapp.azure.com.
Name: r0318eus-az.eastus.cloudapp.azure.com
Address: 20.62.128.38
Observação
Este exemplo usa o serviço DNS do Azure (168.63.129.16
) como o servidor DNS. Se você usar um servidor DNS personalizado, o servidor exibirá seu endereço IP junto com os Server
campos e Address
.
Causa 1: o ponto de extremidade privado do registro de contêiner e o dispositivo estão em redes virtuais diferentes
O adaptador de rede do ponto de extremidade privado do registro de contêiner está em uma rede virtual diferente do dispositivo que tenta resolver o FQDN do registro de contêiner.
Solução 1: Vincular à rede virtual do dispositivo a partir do nível de zona DNS privada do registro de contêiner
Para consultar com êxito os registros DNS na zona DNS privada, adicione um link de rede virtual no nível da zona DNS privada do registro de contêiner para a rede virtual na qual existe o dispositivo que inicia a consulta DNS. Este dispositivo pode ser qualquer um dos seguintes itens:
- Nós do AKS (Serviço de Kubernetes do Azure)
- Máquinas Virtuais do Azure
- Aplicativo Web para Contêineres do Azure
- Outro tipo de dispositivo
Para adicionar o link de rede virtual à rede virtual do dispositivo do nível de zona DNS privada do registro de contêiner, use um dos seguintes métodos:
através do portal do Azure
No portal do Azure, pesquise e selecione Zonas DNS privadas.
Na lista de zonas DNS privadas, selecione container-registry-name.privatelink.azurecr.io>.<
No painel de menu da zona DNS privada, selecione Configurações>Link de rede virtual.
Na página Links de rede virtual da sua zona DNS privada, selecione Adicionar.
Na página Adicionar link de rede virtual, insira um Nome de link e selecione a Rede virtual do dispositivo que precisa resolver o FQDN do registro de contêiner de forma privada. (O A opção Ativar registro automático é opcional.)
Selecione o botão OK.
Por meio da CLI do Azure
Na CLI do Azure, execute o comando az network private-dns link vnet create .
Causa 2: seu servidor DNS personalizado não encaminha para o serviço DNS do Azure
Por padrão, as redes virtuais do Azure usam o serviço DNS do Azure (168.63.129.16
) como o servidor DNS, mas você também pode usar seu próprio servidor DNS personalizado. No entanto, quando você tentou configurar seu próprio servidor DNS personalizado, esqueceu de definir um encaminhador no nível do servidor para o serviço DNS do Azure no nível do servidor DNS personalizado.
Solução 2: configurar um encaminhador no nível do servidor para o serviço DNS do Azure
Se o dispositivo que você espera que resolva o FQDN do registro de contêiner em um endereço IP privado fizer parte de uma rede virtual do Azure que usa um servidor DNS personalizado, você precisará configurar um encaminhador no nível do servidor para o serviço DNS do Azure no servidor DNS personalizado. As opções e etapas de configuração exatas dependem de suas redes e DNS existentes (por exemplo, Windows Server, CoreDNS e assim por diante).
Causa 3: seu servidor DNS personalizado não se vincula de forma privada ao registro de contêiner
Por padrão, as redes virtuais do Azure usam o serviço DNS do Azure (168.63.129.16
) como o servidor DNS, mas você também pode usar seu próprio servidor DNS personalizado. Ao tentar configurar seu próprio servidor DNS personalizado, você definiu corretamente um encaminhador no nível do servidor para o serviço DNS do Azure no nível do servidor DNS personalizado. No entanto, você esqueceu de adicionar um link de rede virtual no nível da zona DNS privada do registro de contêiner para a rede virtual na qual o servidor DNS personalizado existe.
Solução 3: Vincular ao servidor DNS personalizado a partir do nível de zona DNS privada do registro de contêiner
Para adicionar o link de rede virtual ao servidor DNS personalizado do nível de zona DNS privada do registro de contêiner, use um dos seguintes métodos:
através do portal do Azure
No portal do Azure, pesquise e selecione Zonas DNS privadas.
Na lista de zonas DNS privadas, selecione container-registry-name.privatelink.azurecr.io>.<
No painel de menu da zona DNS privada, selecione Configurações>Link de rede virtual.
Na página Links de rede virtual da sua zona DNS privada, selecione Adicionar.
Na página Adicionar link de rede virtual, insira um valor de Nome do link e selecione o valor de Rede virtual apropriado para o servidor DNS personalizado. (O A opção Ativar registro automático é opcional.)
Selecione o botão OK.
Por meio da CLI do Azure
Na CLI do Azure, execute o comando az network private-dns link vnet create .
Recursos
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.