Comment puis-je créer un ensemble d'enregistrements de ressources simple dans Amazon Route 53 à l'aide de l'interface de ligne de commande AWS (AWS CLI) ?
Brève description
Vous pouvez créer, supprimer ou modifier (upsert) un ensemble d'enregistrements de ressources à l'aide d'une demande ChangeResourceRecordsets vers l' API Route 53.
Solution
Remarque : Si vous recevez des erreurs lors de l'exécution des commandes dans AWS CLI, assurez-vous d'utiliser la version la plus récente d'AWS CLI.
Créer une demande ChangeResourceRecordsets
Vous pouvez effectuer les actions suivantes à l'aide d'une demande ChangeResourceRecordsets :
- CREATE crée un ensemble d'enregistrements avec une valeur spécifiée dans la zone hébergée.
- DELETE supprime un ensemble d'enregistrements avec une valeur spécifiée dans la zone hébergée.
- UPSERT crée un nouvel ensemble d'enregistrements avec une valeur spécifiée ou met à jour un ensemble d'enregistrements avec une valeur spécifiée si ce ensemble d'enregistrements existe déjà.
Modifiez l'exemple de fichier JSON suivant (sample.json) pour créer, supprimer ou modifier un ensemble d'enregistrements A simple. Le corps de la demande comprend une liste d'éléments de modification, appelé lot de modifications :
{
"Comment": "CREATE/DELETE/UPSERT a record ",
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "a.example.com",
"Type": "A",
"TTL": 300,
"ResourceRecords": [{ "Value": "4.4.4.4"}]
}}]
}
Créez un ensemble d'enregistrements de ressources pour votre domaine dans la zone hébergée à l'aide de l'API Route 53 avec la commande change-resource-record-sets. Le fichier sample.json spécifie les valeurs pour la création d'enregistrements.
$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXX --change-batch file://sample.json
Un statut PENDING doit être renvoyé avec l'ID unique, sauf s'il y a une erreur dans le fichier JSON :
$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXXX --change-batch file://sample.json
{
"ChangeInfo": {
"Status": "PENDING",
"Comment": "optional comment about the changes in this change batch request",
"SubmittedAt": "2018-07-10T19:39:37.757Z",
"Id": "/change/C3QYC83OA0KX5K"
}
}
Utilisez l'appel d'API get-change avec la valeur Id de votre réponse change-resource-record-sets pour vérifier le statut des modifications :
- PENDING indique que les modifications apportées à cette demande ne se sont pas encore propagées sur tous les serveurs DNS Route 53. Il s'agit du statut initial de toutes les demandes par lot de modifications.
- INSYNC indique que les modifications se sont propagées sur tous les serveurs DNS Route 53.
Avant la propagation :
aws route53 get-change --id /change/C3QYC83OA0KX5K
{
"ChangeInfo": {
"Status": "PENDING",
"Comment": "optional comment about the changes in this change batch request",
"SubmittedAt": "2018-07-10T19:39:37.757Z",
"Id": "/change/C3QYC83OA0KX5K"
}
}
Après la propagation :
$ aws route53 get-change --id /change/C3QYC83OA0KX5K
{
"ChangeInfo": {
"Status": "INSYNC",
"Comment": "optional comment about the changes in this change batch request",
"SubmittedAt": "2018-07-10T19:39:37.757Z",
"Id": "/change/C3QYC83OA0KX5K"
}
Créer des demandes simultanées
Vous devez utiliser des clés Action distinctes pour chaque demande simultanée. Par exemple, vous ne pouvez pas créer un enregistrement A et un enregistrement MX dans une même demande. Au lieu de cela, vous devez créer deux ensembles d'enregistrements pour le même nom de domaine en utilisant le format suivant :
{
"Comment": "CREATE/DELETE/UPDATE",
"Changes": [ {
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "a.example.com",
"Type": "A",
"TTL": 300,
"ResourceRecords": [{"Value": "5.5.5.5"}]
}},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "a.example.com",
"Type": "MX",
"TTL": 300,
"ResourceRecords": [{"Value": "10 example.com"}]
}}
]
}
Informations connexes
Comment résoudre les erreurs lors de la création d'ensembles d'enregistrements de ressources Amazon Route 53 à l'aide d'AWS CLI ?