Partager via


Importer et exporter un fichier de zone DNS privée pour un Azure Private DNS

Cet article vous guide dans l’importation et l’exportation de fichiers de zone DNS pour Azure DNS à l’aide d’Azure CLI.

Introduction à la migration de zone DNS

Un fichier de zone DNS est un fichier texte qui contient les détails de tous les enregistrements DNS contenus dans la zone. Il suit un format standard, ce qui permet le transfert d’enregistrements DNS entre différents systèmes DNS. L’utilisation d’un fichier de zone offre un moyen rapide, fiable et pratique de transférer une zone DNS vers ou depuis Azure DNS.

Un DNS privé Azure prend en charge l’importation et l’exportation de fichiers de zone via l’interface de ligne de commande Azure. L’importation de fichiers de zone via Azure PowerShell ou le portail Azure n’est actuellement pas prise en charge.

La CLI Azure est un outil de ligne de commande multiplateforme permettant de gérer des services Azure. Elles est disponible pour les plateformes Windows, Mac et Linux sur la page des téléchargements d’Azure. La prise en charge multiplateforme est importante pour l’importation et l’exportation de fichiers de zone car le logiciel serveur de noms le plus courant, BIND, s’exécute en général sur Linux.

Comment obtenir votre fichier de zone DNS existant

Avant d’importer un fichier de zone DNS dans Azure DNS, vous devez obtenir une copie du fichier de zone. La source de ce fichier dépend de l’emplacement où la zone DNS est actuellement hébergée.

  • Si votre zone DNS est hébergée par un service tiers (comme un bureau d’enregistrement de domaines, un hébergeur DNS dédié ou un autre fournisseur de cloud), ce service doit fournir la possibilité de télécharger le fichier de zone DNS.
  • Si votre zone DNS est hébergée sur le DNS Windows, le dossier par défaut pour les fichiers de zone est %systemroot%\system32\dns. Le chemin complet vers chaque fichier de zone s’affiche également sous l’onglet Général de la console DNS.
  • Si votre zone DNS est hébergée via BIND, l’emplacement du fichier de zone pour chaque zone est spécifié dans le fichier de configuration BIND, named.conf.

Importer un fichier de zone DNS dans Azure Private DNS

L’importation d’un fichier de zone crée une zone dans Azure Private DNS si celle-ci n’existe pas. Si la zone existe déjà, les jeux d’enregistrements du fichier de zone doivent être fusionnés avec les jeux d’enregistrements existants.

Comportement de la fusion

  • Par défaut, les nouveaux jeux d’enregistrements sont fusionnés avec les jeux d’enregistrements existants. Les enregistrements identiques dans un jeu d’enregistrements fusionné sont dédupliqués.
  • Lorsque les jeux d’enregistrements sont fusionnés, la TTL des jeux d’enregistrements existants est utilisée.
  • Les paramètres SOA (Start of Authority) (excepté host) sont toujours pris dans le fichier de zone importé. De même, pour le jeu d’enregistrements du serveur de noms à l’extrémité de la zone, la TTL est toujours dérivée du fichier de zone importé.
  • Un enregistrement CNAME importé ne remplace pas un enregistrement CNAME existant portant le même nom.
  • En cas de conflit entre un enregistrement CNAME et un autre enregistrement du même nom ayant un type différent (qu’il soit nouveau ou existant), l’enregistrement existant est conservé.

Informations supplémentaires sur l’importation

Les remarques suivantes fournissent des informations techniques supplémentaires concernant le processus d’importation de zones.

  • La directive $TTL est facultative et prise en charge. Quand aucune directive $TTL n’est spécifiée, les enregistrements sans durée de vie explicite sont importés avec une durée de vie de 3 600 secondes par défaut. Lorsque deux enregistrements du même jeu d’enregistrements spécifient des TTL différentes, la moindre valeur est utilisée.
  • La directive $ORIGIN est facultative et prise en charge. Quand aucune directive $ORIGIN n’est définie, la valeur utilisée par défaut est le nom de zone tel qu’il est spécifié sur la ligne de commande (avec le point final).
  • Les directives $INCLUDE et $GENERATE ne sont pas prises en charge.
  • Les types d’enregistrements A, AAAA, CAA, CNAME, MX, NS, SOA, SRV et TXT sont pris en charge.
  • L’enregistrement SOA est créé automatiquement par Azure DNS lors de la création d’une zone. Quand vous importez un fichier de zone, tous les paramètres SOA sont pris dans le fichier de zone, sauf le paramètre host. Ce paramètre utilise la valeur fournie par Azure DNS. Ce paramètre doit en effet faire référence au serveur de noms principal fourni par Azure DNS.
  • Le jeu d’enregistrements du serveur de noms, à l’extrémité de la zone, est créé automatiquement par Azure DNS au moment de la création de la zone. Seule la durée de vie de ce jeu d’enregistrements est importée. Ces enregistrements contiennent les noms de serveurs de nom fournis par Azure DNS. Les données d’enregistrement ne sont pas remplacées par les valeurs contenues dans le fichier de zone importé.
  • Azure DNS prend uniquement en charge les enregistrements à chaîne unique. Les enregistrements TXT MultiString seront concaténés et tronqués à 255 caractères.

Format et valeurs de l’interface CLI

Le format de la commande de l’interface CLI Azure pour importer une zone DNS est :

az network private-dns zone import -g <resource group> -n <zone name> -f <zone file name>

Valeurs :

  • <resource group> est le nom du groupe de ressources correspondant à la zone dans Azure DNS.
  • <zone name> est le nom de la zone.
  • <zone file name> est le chemin/nom du fichier de zone à importer.

S’il n’existe aucune zone de ce nom dans le groupe de ressources, cette zone est automatiquement créée. Si la zone existe déjà, les jeux d’enregistrements importés sont fusionnés avec les jeux d’enregistrements existants.

Importer un fichier de zone

Pour importer un fichier de zone pour la zone contoso.com.

  1. Si ce n’est déjà fait, vous devez créer un groupe de ressources Azure Resource Manager.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Pour importer la zone contoso.com à partir du fichier contoso.com.txt dans une nouvelle zone DNS du groupe de ressources myresourcegroup, vous exécuterez la commande az network private-dns zone import.
    Cette commande charge le fichier de zone et l’analyse. Cette commande exécute une série de commandes sur le service Azure DNS, afin de créer la zone et tous les jeux d’enregistrements associés. Elle rend compte de la progression dans la fenêtre de console et signale les éventuels avertissements ou erreurs. Étant donné que les jeux d’enregistrements sont créés en série, l’importation d’un fichier de zone volumineux peut prendre quelques minutes.

    az network private-dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
    

Vérifier la zone

Pour vérifier la zone DNS après avoir importé le fichier, vous pouvez utiliser une des méthodes suivantes :

  • Vous pouvez répertorier les enregistrements à l’aide de la commande Azure CLI suivante :

    az network private-dns record-set list -g myresourcegroup -z contoso.com
    
  • Vous pouvez également utiliser nslookup pour vérifier la résolution des noms pour les enregistrements. Puisque la zone n’est pas encore déléguée, vous devez spécifier explicitement les serveurs de noms DNS Azure appropriés. L’exemple suivant montre comment récupérer les noms du serveur de noms assignés à la zone. Il montre également comment interroger l’enregistrement « www » à l’aide de nslookup.

Exportation d’un fichier de zone DNS à partir d’Azure DNS

Le format de la commande de l’interface de ligne de commande Azure pour exporter une zone DNS est :

az network private-dns zone export -g <resource group> -n <zone name> -f <zone file name>

Valeurs :

  • <resource group> est le nom du groupe de ressources correspondant à la zone dans Azure DNS.
  • <zone name> est le nom de la zone.
  • <zone file name> est le chemin d’accès/nom du fichier de zone à exporter.

Pour importer une zone, vous devez d’abord vous connecter, sélectionner votre abonnement, puis configurer l’interface de ligne de commande Azure pour utiliser le mode Azure Resource Manager.

Pour exporter un fichier de zone

Pour exporter la zone Azure DNS existante contoso.com du groupe de ressources myresourcegroup vers le fichier contoso.com.txt (dans le dossier actuel), exécutez azure network private-dns zone export. Cette commande appelle le service Azure DNS pour énumérer les jeux d’enregistrements dans la zone et exporter les résultats dans un fichier de zone compatible BIND.

az network private-dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt

Étapes suivantes