Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Migrer des enregistrements DNS en masse vers une zone hébergée privée Amazon Route 53
Créée par Ram Kandaswamy (AWS)
Récapitulatif
Les ingénieurs réseau et les administrateurs cloud ont besoin d'un moyen simple et efficace d'ajouter des enregistrements DNS (Domain Name System) aux zones hébergées privées sur Amazon Route 53. L'utilisation d'une approche manuelle pour copier les entrées d'une feuille de calcul Microsoft Excel vers les emplacements appropriés de la console Route 53 est fastidieuse et source d'erreurs. Ce modèle décrit une approche automatisée qui réduit le temps et les efforts nécessaires pour ajouter plusieurs enregistrements. Il fournit également un ensemble d'étapes répétables pour la création de plusieurs zones hébergées.
Ce modèle utilise Amazon Simple Storage Service (Amazon S3) pour stocker les enregistrements. Pour travailler efficacement avec les données, le modèle utilise le format JSON en raison de sa simplicité et de sa capacité à prendre en charge un dictionnaire Python (type de dict
données).
Note
Si vous pouvez générer un fichier de zone à partir de votre système, pensez plutôt à utiliser la fonctionnalité d'importation Route 53.
Conditions préalables et limitations
Prérequis
Feuille de calcul Excel contenant des enregistrements de zones hébergées privées
Connaissance des différents types d'enregistrements DNS tels que l'enregistrement A, l'enregistrement NAPTR (Name Authority Pointer) et l'enregistrement SRV (voir Types d'enregistrements DNS pris en charge)
Connaissance du langage Python et de ses bibliothèques
Limites
Le modèle ne fournit pas une couverture étendue pour tous les scénarios d'utilisation. Par exemple, l'appel change_resource_record_sets
n'utilise pas toutes les propriétés disponibles de l'API. Dans la feuille de calcul Excel, la valeur de chaque ligne est supposée être unique. Plusieurs valeurs pour chaque nom de domaine complet (FQDN) devraient apparaître dans la même ligne. Si ce n'est pas le cas, vous devez modifier le code fourni dans ce modèle pour effectuer la concaténation nécessaire.
Le modèle utilise le SDK AWS pour Python (Boto3) pour appeler directement le service Route 53. Vous pouvez améliorer le code pour utiliser un CloudFormation wrapper AWS pour les
update_stack
commandescreate_stack
and, et utiliser les valeurs JSON pour renseigner les ressources du modèle.
Architecture
Pile technologique
Route 53 zones hébergées privées pour acheminer le trafic
Amazon S3 pour le stockage du fichier JSON de sortie

Le flux de travail comprend les étapes suivantes, comme illustré dans le schéma précédent et décrit dans la section Epics :
Téléchargez une feuille de calcul Excel contenant les informations du jeu d'enregistrements dans un compartiment S3.
Créez et exécutez un script Python qui convertit les données Excel au format JSON.
Lisez les enregistrements du compartiment S3 et nettoyez les données.
Créez des ensembles de records dans votre zone hébergée privée.
Outils
Route 53 — Amazon Route 53 est un service Web DNS hautement disponible et évolutif qui gère l'enregistrement des domaines, le routage DNS et la vérification de l'état de santé.
Amazon S3 — Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets. Vous pouvez utiliser Amazon S3 pour stocker et récupérer n'importe quelle quantité de données, n'importe quand et depuis n'importe quel emplacement sur le Web.
Épopées
Tâche | Description | Compétences requises | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Créez un fichier Excel pour vos dossiers. | Utilisez les enregistrements que vous avez exportés depuis votre système actuel pour créer une feuille de calcul Excel contenant les colonnes requises pour un enregistrement, telles que le nom de domaine complet (FQDN), le type d'enregistrement, le temps de vie (TTL) et la valeur. Pour les enregistrements NAPTR et SRV, la valeur est une combinaison de plusieurs propriétés. Utilisez donc la
| Ingénieur de données, compétences Excel | ||||||||
Vérifiez l'environnement de travail. | Dans votre IDE, créez un fichier Python pour convertir la feuille de calcul d'entrée Excel au format JSON. (Au lieu d'un IDE, vous pouvez également utiliser un SageMaker bloc-notes Amazon pour travailler avec du code Python.) Vérifiez que la version de Python que vous utilisez est la version 3.7 ou ultérieure.
Installez le package pandas.
| AWS général | ||||||||
Convertissez les données de la feuille de calcul Excel en JSON. | Créez un fichier Python contenant le code suivant pour convertir Excel en JSON.
où | Ingénieur de données, compétences en Python | ||||||||
Téléchargez le fichier JSON dans un compartiment S3. | Chargez le fichier | Développeur d’applications |
Tâche | Description | Compétences requises |
---|---|---|
Créez une zone hébergée privée. | Utilisez l'API create_hosted_zone et l'
Vous pouvez également utiliser un outil d'infrastructure en tant que code (IaC) tel qu'AWS CloudFormation pour remplacer ces étapes par un modèle qui crée une pile dotée des ressources et propriétés appropriées. | Architecte cloud, administrateur réseau, compétences en Python |
Récupérez les détails sous forme de dictionnaire depuis Amazon S3. | Utilisez le code suivant pour lire le contenu du compartiment S3 et obtenir les valeurs JSON sous forme de dictionnaire Python.
où | Développeur d'applications, compétences en Python |
Nettoyez les valeurs de données pour les espaces et les caractères Unicode. | Par mesure de sécurité afin de garantir l'exactitude des données, utilisez le code suivant pour effectuer une opération de découpage sur les valeurs saisies.
| Développeur d'applications, compétences en Python |
Insérez des enregistrements. | Utilisez le code suivant dans le cadre de la
Où se | Développeur d'applications, compétences en Python |
Ressources connexes
Références
Création d'enregistrements en important un fichier de zone (documentation Amazon Route 53)
méthode create_hosted_zone
(documentation Boto3) méthode change_resource_record_sets
(documentation Boto3)
Tutoriels et vidéos
Le didacticiel Python
(documentation Python) Conception du DNS à l'aide d'Amazon Route 53
(YouTube vidéo, AWS Online Tech Talks)