Il est possible de modifier un enregistrement DNS en ligne de commande ( cli ) et un fichier json :
Pour cela il faut connaître l'identifiant de la zone ou se trouve l'enregistrement DNS à modifier
la commande pour connaître cet identifiant :
aws route53 list-hosted-zones --profile <nom_de_votre_profile> |
L'option --profile correspond au nom que vous avez donné dans votre fichier de configuration, il peut être optionnel si vous n'avez qu'un seul compte AWS (qui correspond à un seul profile)
la commande vous renvoie la liste de vos zone
l'identifiant correspond a la ligne :
"Id": "/hostedzone/<identifiant_de_la_zone>", |
Construction du fichier json
UPSERT correspond à l'action à faire , soit ici modifier, si l'enregistrement n'existe pas il sera créé.
les actions possible sont :
- CREATE pour créer un enregistrement
- UPSERT pour modifier un enregistrement
- DELETE pour supprimer un enregistrement
Contenu du fichier json :
{ "Comment": "glf res newsletter change ssl using cloudflare", "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "<nom_de_l_enregistrement_du_TXT>.", "Type": "TXT", "TTL": 300, "ResourceRecords": [ { "Value": "valeur_du_TXT" } ] } } ] } |
Commande pour envoyer le fichier à route 53 :
aws route53 change-resource-record-sets --hosted-zone-id <id-de-la-zone> --change-batch file://<glf-dns-res-cli.json-fichier> --profile <nom_de_votre_profile> |
<id-de-la-zone> correspond au résultat renvoyé de la commande précédente (aws route53 list-hosted-zones --profile <nom_de_votre_profile>)
L'option --profile correspond au nom que vous avez donné dans votre fichier de configuration, il peut être optionnel si vous n'avez qu'un seul compte AWS (qui correspond à un seul profile)
Pour vérifier l'état d'avancement :
aws route53 get-change --id <id_donné_dans_le_retour_renvoyé_par_aws_de_la_commande_passée> --profile <nom_de_votre_profile> |
L'option --profile correspond au nom que vous avez donné dans votre fichier de configuration, il peut être optionnel si vous n'avez qu'un seul compte AWS (qui correspond à un seul profile)