Comment importer des fichiers de zone DNS vers Route 53 et résoudre les erreurs reçues lors de leur importation ?

Dernière mise à jour : 02/04/2021

Je migre mon système de noms de domaine (DNS) à partir d'un autre fournisseur de services. Il me faut déplacer tous les enregistrements dans une zone hébergée Amazon Route 53 en important un fichier de zone DNS. Comment dois-je procéder ?

Brève description

Avant d'importer un fichier de zone DNS, tenez compte des éléments suivants :

  • Le fichier de zone doit être dans un format compatible RFC.
  • Le nom de domaine des enregistrements du fichier de zone doit correspondre à celui de la zone hébergée.
  • Route 53 prend en charge les mots-clés $ORIGIN et $TTL. Si le fichier de zone comprend des mots-clés $GENERATE ou $INCLUDE, l'importation échoue et Route 53 renvoie une erreur.
  • Lorsque vous importez le fichier de zone, Route 53 ignore l'enregistrement de déclaration d'autorité (SOA, statement of authority). Tous les enregistrements du serveur de noms (NS, name server) du fichier de zone portant le même nom que la zone hébergée sont également ignorés.
  • Vous pouvez importer 1 000 enregistrements maximum. Pour importer plus de 1 000 enregistrements, utilisez l'outil de conversion BIND vers Amazon Route 53.
  • Si la zone hébergée contient déjà des enregistrements qui apparaissent dans le fichier de zone, le processus d'importation échoue et aucun enregistrement n'est créé.
  • Examinez le contenu du fichier de zone pour vérifier que les noms d'enregistrement comportent ou non un point final, selon le cas.
    • Lorsque le nom d'un enregistrement du fichier de zone comprend un point final (exemple.com.), le processus d'importation interprète le nom comme un nom de domaine complet (FQDN, fully qualified domain name). Dans ce cas, un enregistrement Route 53 portant ce nom est créé.
    • Lorsque le nom d'un enregistrement du fichier de zone ne comporte pas de point final (www), le processus d'importation concatène ce nom avec le nom de domaine dans le fichier de zone (exemple.com). Dans ce cas, un enregistrement Route 53 avec le nom concaténé (www.exemple.com) est créé.

Remarque : pour les enregistrements de nom canonique (CNAME), mail exchanger (MX), de pointeur (PTR) et de service (SRV), ce comportement s'applique également au nom de domaine inclus dans la valeur RDATA. Par exemple, supposons que vous disposez d'un fichier de zone pour exemple.com. Si un enregistrement CNAME du fichier de zone (support, sans point final) a une valeur RDATA www.exemple.com (également sans point final), le processus d'importation crée un enregistrement Route 53 portant le nom support.exemple.com. Cet enregistrement achemine le trafic vers www.exemple.com.exemple.com. Avant d'importer votre fichier de zone, vérifiez les valeurs RDATA et mettez-les à jour, le cas échéant.

Solution

Importer un fichier de zone DNS

Pour créer des enregistrements en important un fichier de zone :

  1. Ouvrez la console Route 53.
  2. Dans le panneau de navigation, sélectionnez Hosted zones (Zones hébergées).
  3. Sur la page Hosted zones, choisissez Create hosted zone (Créer une zone hébergée).
  4. Saisissez le nom de votre domaine. (Facultatif) Vous pouvez également écrire un commentaire.
  5. Sélectionnez Create (Créer).
  6. Choisissez Import zone file (Importer le fichier de zone).
  7. Dans le panneau Import zone file (Importer un fichier de zone), collez le contenu de votre fichier de zone dans la zone de texte Zone file.
  8. Sélectionnez Import (Importer).

Remarque : selon la quantité d'enregistrements de votre fichier de zone, la création des enregistrements peut prendre quelques minutes.

Une fois les enregistrements DNS créés dans la zone hébergée Route 53, vous pouvez poursuivre le processus de migration. Pour terminer le processus de migration, suivez les étapes décrites dans Faire d'Amazon Route 53 le service DNS pour un domaine existant.

Résoudre les erreurs reçues lors de l'importation d'un fichier de zone DNS

Les exemples suivants décrivent les étapes de dépannage pour résoudre les messages d'erreur courants que vous pouvez recevoir lors de l'importation de fichiers de zone DNS.

"Expected exactly one of [AliasTarget, all of [TTL, and ResourceRecords], or TrafficPolicyInstanceId], but found none in Change with {DNS_Record}"

Cause : un enregistrement DNS du fichier de zone ne comporte aucune valeur de durée de vie TTL (Time to live).

Exemple de fichier de zone :

$ORIGIN testdomain.com
@ A 1.1.1.1
www CNAME example.com

Exemple de message d'erreur :

Invalid request: Expected exactly one of [AliasTarget, all of [TTL, and ResourceRecords], or TrafficPolicyInstanceId], but 
found none in Change with [Action=CREATE, Name=testdomain.com, Type=A, SetIdentifier=null]

Solution : utilisez le mot-clé $TTL pour affecter la TTL à tous les enregistrements DNS ou spécifiez une valeur TTL aux enregistrements, selon votre cas d'utilisation.

$ORIGIN testdomain.com
$TTL 60
@ A 1.1.1.1
www CNAME example.com

-ou-

$ORIGIN testdomain.com
@ 60 A 1.1.1.1
www 60 CNAME example.com

"The zone file contains too many values for a record with a type of {Record_Type}. 1 values were expected, but {n} values are specified. On line {m}."

Cause : plusieurs valeurs ont été spécifiées pour un enregistrement DNS particulier à la ligne « m. »

Exemple 1 de fichier de zone :

$ORIGIN testdomain.com
$TTL 60
@ TXT  "abc" "xyz"

Exemple 1 de message d'erreur :

The zone file contains too many values for a record with a type of TXT. 1 
values were expected, but 2 values are specified. On line 3. '@ TXT  
"abc" "xyz"'

Solution : spécifiez plusieurs valeurs d'enregistrement TXT sur des lignes distinctes. Assurez-vous d'utiliser des guillemets doubles ("valeur d'exemple") autour de chaque valeur.

$ORIGIN testdomain.com
$TTL 60
@ TXT "abc" 
@ TXT "xyz"

Exemple 2 de fichier de zone :

$ORIGIN testdomain.com
$TTL 60
@ A 1.1.1.1 2.2.2.2 3.3.3.3

Exemple 2 de message d'erreur :

The zone file contains too many values for a record with a type of A. 1 
values were expected, but 3 values are specified. On line 3. '@ A 
1.1.1.1 2.2.2.2 3.3.3.3'

Solution :

$ORIGIN testdomain.com
$TTL 60
@ A 1.1.1.1 
@ A 2.2.2.2
@ A 3.3.3.3

"CharacterStringTooLong (Value is too long) encountered with {Value}"

Cause : la chaîne de valeur TXT contient plus de 255 caractères.

Exemple de fichier de zone :

$ORIGIN testdomain.com
$TTL 60
www TXT "spf1 +a +mx ip4:1.1.1.1 ip4:2.2.2.2 ip4:3.3.3.3 ip4:4.4.4.4 ip4:5.5.5.5.5 ip4:6.6.6.6 ip4:7.7.7.7 ip4:8.8.8.8 ip4:9.9.9.9 ip4:10.10.10.10 ipv4:11.11.11.11 ip4:12.12.12.12 ip4:13.13.13.13 ip4:14.14.14.14 ip4:15.15.15.15.15 include:spf.abc.com include:_spf.xyz.com ~all"

Exemple de message d'erreur :

[Invalid Resource Record: 'FATAL problem: 
CharacterStringTooLong (Value is too long) encountered with '"spf1 +a 
+mx ip4:1.1.1.1 ip4:2.2.2.2 ip4:3.3.3.3 ip4:4.4.4.4 ip4:5.5.5.5.5 
ip4:6.6.6.6 ip4:7.7.7.7 ip4:8.8.8.8 ip4:9.9.9.9 ip4:10.10.10.10 
ipv4:11.11.11.11 ip4:12.12.12.12 ip4:13.13.13.13 ip4:14.14.14.14 
ip4:15.15.15.15.15 include:spf.abc.com include:_spf.xyz.com ~all"'']

Solution : fractionnez les chaînes d'enregistrement TXT supérieures à 255 caractères en plusieurs chaînes de texte au sein du même enregistrement. Assurez-vous d'utiliser des guillemets doubles ("valeur d'exemple") autour de chaque valeur.

$ORIGIN testdomain.com
$TTL 60
www TXT "spf1 +a +mx ip4:1.1.1.1 ip4:2.2.2.2 ip4:3.3.3.3 ip4:4.4.4.4 ip4:5.5.5.5.5 ip4:6.6.6.6 ip4:7.7.7.7 ip4:8.8.8.8 ip4:9.9.9.9 ip4:10.10.10.10 ipv4:11.11.11.11""ip4:12.12.12.12 ip4:13.13.13.13 ip4:14.14.14.14 ip4:15.15.15.15.15 include:spf.abc.com include:_spf.xyz.com ~all"

Remarque : la longueur maximale d'une valeur dans un enregistrement TXT est de 4 000 caractères.

"RRSet of type CNAME with DNS name example.com does not contain exactly one resource record"

Cause : plusieurs enregistrements CNAME ont été créés pour le même nom de domaine.

Remarque : les enregistrements importés dans une zone hébergée à l'aide de cette méthode sont créés avec la stratégie de routage simple. Par conséquent, plusieurs enregistrements CNAME ne peuvent pas être spécifiés dans un seul enregistrement DNS.

Exemple de fichier de zone :

$ORIGIN testdomain.com
$TTL 60
www CNAME abc.com
www CNAME xyz.com

Exemple de message d'erreur :

Error occurred [RRSet of type CNAME with DNS name www.testdomain.com. is not permitted as it 
conflicts with other records with the same DNS name in zone 
testdomain.com., RRSet of type CNAME with DNS name www.testdomain.com. 
does not contain exactly one resource record.]

Solution : au lieu d'utiliser l'option Importer, créez des enregistrements séparément avec les stratégies de routage pondérée, de latence, de basculement ou de géolocalisation, selon votre cas d'utilisation.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?