Partager via


Impossible d’obtenir l’adresse IP privée d’un nom de domaine complet Azure Container Registry

Cet article fournit des conseils pour résoudre les problèmes les plus courants qui peuvent vous empêcher de résoudre le nom de domaine complet (FQDN) d’un registre de conteneurs Microsoft Azure en son adresse IP privée.

Vue d’ensemble

Dans Azure Container Registry, vous pouvez utiliser Azure Private Link avec un point de terminaison privé et une zone DNS privée pour affecter une adresse IP privée de réseau virtuel au nom de domaine complet du registre (également appelé serveur de connexion ou point de terminaison d’API REST).

Étant donné que le service Azure Container Registry est multilocataire, il a toujours une adresse IP publique. Si vous définissez votre registre de conteneurs pour utiliser la technologie Private Link pour le nom de domaine complet du registre, votre registre de conteneurs se fait délivrer une adresse IP publique et une adresse IP privée.

Après avoir configuré cette configuration, il existe des situations dans lesquelles la résolution DNS de votre nom de domaine complet de registre de conteneurs retourne l’adresse IP publique, même si vous vous attendez à ce que la résolution DNS retourne l’adresse IP privée. Ce scénario peut entraîner de nombreux problèmes, tels que l’échec de l’extraction, si l’accès public à votre registre de conteneurs est désactivé et que vous vous appuyez uniquement sur la connectivité privée.

Remarque

Pour vérifier que votre registre de conteneurs est configuré pour une utilisation privée, procédez comme suit :

  1. Dans le portail Azure, recherchez et sélectionnez Registres de conteneurs.

  2. Dans la liste des registres de conteneurs, sélectionnez le nom de votre registre de conteneurs.

  3. Dans le volet de menu de votre registre de conteneurs, sélectionnez Paramètres>Mise en réseau.

  4. Sous l’onglet Accès public , vérifiez que le champ Accès réseau public est défini sur Désactivé.

  5. Sélectionnez l’onglet Accès privé et vérifiez qu’une connexion de point de terminaison privé est configurée.

Symptômes

Vous utilisez un outil utilitaire DNS (Domain Name System) pour effectuer une requête DNS et obtenir l’adresse IP publique du registre de conteneurs dans les résultats de la requête. Toutefois, le registre de conteneurs est en fait configuré pour une utilisation privée, et le résultat de la requête DNS indique que le registre de conteneurs est configuré pour une utilisation privée.

Remarque

Un registre de conteneurs est configuré pour une utilisation privée si le nom canonique est au format . <container-registry-name>.privatelink.azurecr.io

Par exemple, la commande nslookup suivante effectue une requête DNS sur le nom de domaine complet du acrpe332.azurecr.io registre de conteneurs :

nslookup acrpe332.azurecr.io

La sortie nslookup retourne un nom canonique de acrpe332.privatelink.azurecr.io, de sorte que vous savez que le registre de acrpe332 conteneurs est configuré pour une utilisation privée. Toutefois, la sortie retourne également une adresse IP publique de pour le nom de 20.62.128.38 domaine complet du acrpe332 registre de conteneurs :

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

Remarque

Cet exemple utilise le service Azure DNS (168.63.129.16) comme serveur DNS. Si vous utilisez un serveur DNS personnalisé, le serveur affiche son adresse IP avec les Server champs et Address .

Cause 1 : le point de terminaison privé du registre de conteneurs et l’appareil se trouvent sur des réseaux virtuels différents

L’interface réseau du point de terminaison privé du registre de conteneurs se trouve sur un réseau virtuel différent de celui de l’appareil qui tente de résoudre le nom de domaine complet du registre de conteneurs.

Pour rechercher des enregistrements DNS dans la zone DNS privée, ajoutez une liaison de réseau virtuel au niveau de la zone DNS privée du registre de conteneurs pour le réseau virtuel sur lequel existe l’appareil qui lance la requête DNS. Cet appareil peut être l’un des éléments suivants :

  • Nœuds Azure Kubernetes Service (AKS)
  • Ordinateurs virtuels Azure
  • Azure Web App pour conteneurs
  • Autre type d’appareil

Pour ajouter la liaison de réseau virtuel au réseau virtuel de l’appareil à partir du niveau de zone DNS privée du registre de conteneurs, utilisez l’une des méthodes suivantes :

  • Via le portail Azure

    1. Dans le portail Azure, recherchez et sélectionnez Zones DNS privées.

    2. Dans la liste des zones DNS privées, sélectionnez <container-registry-name.privatelink.azurecr.io>.

    3. Dans le volet de menu de votre zone DNS privée, sélectionnez Paramètres>Lien réseau virtuel.

    4. Dans la page Liens de réseau virtuel de votre zone DNS privée, sélectionnez Ajouter.

    5. Dans la page Ajouter un lien de réseau virtuel , entrez un nom de lien, puis sélectionnez le réseau virtuel de l’appareil qui doit résoudre le nom de domaine complet du registre de conteneurs en privé. (L’option Activer l’inscription automatique est facultative.)

    6. Cliquez sur le bouton OK.

  • Via Azure CLI

    Dans Azure CLI, exécutez la commande az network private-dns link vnet create .

Cause 2 : Votre serveur DNS personnalisé ne transfère pas au service Azure DNS

Par défaut, les réseaux virtuels Azure utilisent le service Azure DNS (168.63.129.16) comme serveur DNS, mais vous pouvez également utiliser votre propre serveur DNS personnalisé. Toutefois, lorsque vous avez essayé de configurer votre propre serveur DNS personnalisé, vous avez oublié de définir un redirecteur au niveau du serveur sur le service Azure DNS au niveau du serveur DNS personnalisé.

Solution 2 : Configurer un redirecteur au niveau du serveur vers le service Azure DNS

Si l’appareil que vous prévoyez de résoudre le nom de domaine complet du registre de conteneurs via une adresse IP privée fait partie d’un réseau virtuel Azure qui utilise un serveur DNS personnalisé, vous devez configurer un redirecteur de niveau serveur vers le service Azure DNS sur le serveur DNS personnalisé. Les options et étapes de configuration exactes dépendent de vos réseaux et DNS existants (par exemple, Windows Server, CoreDNS, etc.).

Par défaut, les réseaux virtuels Azure utilisent le service Azure DNS (168.63.129.16) comme serveur DNS, mais vous pouvez également utiliser votre propre serveur DNS personnalisé. Lorsque vous avez essayé de configurer votre propre serveur DNS personnalisé, vous définissez correctement un redirecteur au niveau du serveur vers le service Azure DNS au niveau du serveur DNS personnalisé. Toutefois, vous avez oublié d’ajouter une liaison de réseau virtuel au niveau de la zone DNS privée du registre de conteneurs pour le réseau virtuel sur lequel se trouve le serveur DNS personnalisé.

Pour ajouter la liaison de réseau virtuel au serveur DNS personnalisé à partir du niveau de zone DNS privée du registre de conteneurs, utilisez l’une des méthodes suivantes :

  • Via le portail Azure

    1. Dans le portail Azure, recherchez et sélectionnez Zones DNS privées.

    2. Dans la liste des zones DNS privées, sélectionnez <container-registry-name.privatelink.azurecr.io>.

    3. Dans le volet de menu de votre zone DNS privée, sélectionnez Paramètres>Lien réseau virtuel.

    4. Dans la page Liens de réseau virtuel de votre zone DNS privée, sélectionnez Ajouter.

    5. Dans la page Ajouter un lien de réseau virtuel , entrez une valeur Nom de lien, puis sélectionnez la valeur de réseau virtuel appropriée pour le serveur DNS personnalisé. (L’option Activer l’inscription automatique est facultative.)

    6. Cliquez sur le bouton OK.

  • Via Azure CLI

    Dans Azure CLI, exécutez la commande az network private-dns link vnet create .

Ressources

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.