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.
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
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 denslookup
.
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
- Découvrez comment gérer des jeux d’enregistrements et des enregistrements dans votre zone DNS.