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 DNS des enregistrements en masse vers une zone hébergée privée Amazon Route 53
Créée par Ram Kandaswamy () AWS
Environnement : Production | Technologies : mise en réseau DevOps ; infrastructure | AWSservices : Amazon Route 53 ; Amazon S3 |
Récapitulatif
Les ingénieurs réseau et les administrateurs cloud ont besoin d'un moyen simple et efficace d'ajouter des enregistrements Domain Name System (DNS) aux zones hébergées privées dans 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 JSON format en raison de sa simplicité et de sa capacité à prendre en charge un dictionnaire Python (type de dict
données).
Remarque : Si vous pouvez générer un fichier de zone à partir de votre système, pensez plutôt à utiliser la fonctionnalité d'importation de 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'DNSenregistrements tels que l'enregistrement A, l'enregistrement Name Authority Pointer (NAPTR) et l'SRVenregistrement (voir Types d'DNSenregistrements 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 du. 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 AWS SDK for Python (Boto3) pour appeler directement le service Route 53. Vous pouvez améliorer le code pour utiliser un AWS CloudFormation wrapper pour les
update_stack
commandescreate_stack
et et utiliser les JSON valeurs 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 JSON fichier de sortie
Le flux de travail comprend les étapes suivantes, comme illustré dans le schéma précédent et discuté 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 JSON format.
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 DNS Web hautement disponible et évolutif qui gère l'enregistrement, le DNS routage et la vérification de l'état des domaines.
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, la durée de vie (TTL) et la valeur. Pour les SRV enregistrements NAPTR et les enregistrements, 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 votreIDE, créez un fichier Python pour convertir la feuille de calcul d'entrée Excel au JSON format. (Au lieu d'unIDE, 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.
| Général AWS | ||||||||
Convertissez les données de la feuille de calcul Excel en. JSON | Créez un fichier Python contenant le code suivant pour le convertir d'Excel enJSON.
où | Ingénieur de données, compétences en Python | ||||||||
Téléchargez le JSON fichier 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 le create_hosted_zone
Vous pouvez également utiliser un outil d'infrastructure en tant que code (IaC) AWS CloudFormation pour remplacer ces étapes par un modèle qui crée une pile avec les ressources et les 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 JSON valeurs 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) DNSconception à l'aide d'Amazon Route 53
(YouTube vidéo, conférences techniques AWS en ligne)