Exemples d’utilisation de l’AWS CLI avec Route 53 - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Route 53

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Route 53.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser change-resource-record-sets.

AWS CLI

Pour créer, mettre à jour ou supprimer un jeu d’enregistrements de ressources

La commande change-resource-record-sets suivante crée un jeu d’enregistrements de ressources à l’aide de l’hosted-zone-id Z1R8UBAEXAMPLE et de la configuration au format JSON du fichier C:\awscli\route53\change-resource-record-sets.json :

aws route53 change-resource-record-sets --hosted-zone-id Z1R8UBAEXAMPLE --change-batch file://C:\awscli\route53\change-resource-record-sets.json

Pour plus d’informations, consultez POST ChangeResourceRecordSets dans la Référence des API d’Amazon Route 53.

La configuration du fichier JSON dépend du type de jeu d’enregistrements de ressources que vous souhaitez créer :

BasicWeightedAliasWeighted AliasLatencyLatency AliasFailoverFailover Alias

Syntaxe de base :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ] } }, {...} ] }

Syntaxe pondérée :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Weight": value between 0 and 255, "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ], "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

Syntaxe d’alias :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

Syntaxe d’alias pondérée :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Weight": value between 0 and 255, "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

Syntaxe de latence :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Region": "Amazon EC2 region name", "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ], "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

Syntaxe d’alias de latence :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Region": "Amazon EC2 region name", "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

Syntaxe de basculement :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Failover": "PRIMARY" | "SECONDARY", "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ], "HealthCheckId": "ID of an Amazon Route 53 health check" } }, {...} ] }

Syntaxe d’alias de basculement :

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Failover": "PRIMARY" | "SECONDARY", "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }
  • Pour plus de détails sur l’API, consultez ChangeResourceRecordSets dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser change-tags-for-resource.

AWS CLI

La commande suivante ajoute une balise nommée owner à une ressource de surveillance de l’état spécifiée par ID :

aws route53 change-tags-for-resource --resource-type healthcheck --resource-id 6233434j-18c1-34433-ba8e-3443434 --add-tags Key=owner,Value=myboss

La commande suivante supprime une balise nommée owner à partir d’une ressource de zone hébergée spécifiée par ID :

aws route53 change-tags-for-resource --resource-type hostedzone --resource-id Z1523434445 --remove-tag-keys owner
  • Pour plus de détails sur l’API, consultez ChangeTagsForResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-health-check.

AWS CLI

Pour créer une surveillance de l’état

La commande create-health-check suivante crée une surveillance de l’état à l’aide de la référence appelant 2014-04-01-18:47 et de la configuration au format JSON du fichier C:\awscli\route53\create-health-check.json :

aws route53 create-health-check --caller-reference 2014-04-01-18:47 --health-check-config file://C:\awscli\route53\create-health-check.json

Syntaxe JSON :

{ "IPAddress": "IP address of the endpoint to check", "Port": port on the endpoint to check--required when Type is "TCP", "Type": "HTTP"|"HTTPS"|"HTTP_STR_MATCH"|"HTTPS_STR_MATCH"|"TCP", "ResourcePath": "path of the file that you want Amazon Route 53 to request--all Types except TCP", "FullyQualifiedDomainName": "domain name of the endpoint to check--all Types except TCP", "SearchString": "if Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string to search for in the response body from the specified resource", "RequestInterval": 10 | 30, "FailureThreshold": integer between 1 and 10 }

Pour ajouter la surveillance de l’état à un jeu d’enregistrements de ressources Route 53, utilisez la commande change-resource-record-sets.

Pour plus d’informations, consultez Surveillance de l’état et basculements DNS Amazon Route 53 dans le Manuel du développeur Amazon Route 53.

  • Pour plus de détails sur l’API, consultez CreateHealthCheck dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-hosted-zone.

AWS CLI

Pour créer une zone hébergée

La commande create-hosted-zone suivante ajoute une zone hébergée nommée example.com à l’aide de la référence appelant 2014-04-01-18:47. Le commentaire facultatif inclut un espace, il doit donc être placé entre guillemets :

aws route53 create-hosted-zone --name example.com --caller-reference 2014-04-01-18:47 --hosted-zone-config Comment="command-line version"

Pour plus d’informations, consultez Utilisation de zones hébergées dans le Manuel du développeur Amazon Route 53.

  • Pour plus de détails sur l’API, consultez CreateHostedZone dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-health-check.

AWS CLI

Pour supprimer une surveillance de l’état

La commande delete-health-check suivante supprime la surveillance de l’état avec l’health-check-id e75b48d9-547a-4c3d-88a5-ae4002397608 :

aws route53 delete-health-check --health-check-id e75b48d9-547a-4c3d-88a5-ae4002397608
  • Pour plus de détails sur l’API, consultez DeleteHealthCheck dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-hosted-zone.

AWS CLI

Pour supprimer une zone hébergée

La commande delete-hosted-zone suivante supprime la zone hébergée avec l’id Z36KTIQEXAMPLE :

aws route53 delete-hosted-zone --id Z36KTIQEXAMPLE
  • Pour plus de détails sur l’API, consultez DeleteHostedZone dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-change.

AWS CLI

Pour obtenir le statut d’une modification apportée aux jeux d’enregistrements de ressources

La commande get-change suivante obtient le statut et d’autres informations relatives à la demande change-resource-record-sets qui a l’Id /change/CWPIK4URU2I5S :

aws route53 get-change --id /change/CWPIK4URU2I5S
  • Pour plus de détails sur l’API, consultez GetChange dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-health-check.

AWS CLI

Pour obtenir les informations sur une surveillance de l’état

La commande get-health-check suivante obtient des informations sur la surveillance de l’état qui a l’health-check-id 02ec8401-9879-4259-91fa-04e66d094674 :

aws route53 get-health-check --health-check-id 02ec8401-9879-4259-91fa-04e66d094674
  • Pour plus de détails sur l’API, consultez GetHealthCheck dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-hosted-zone.

AWS CLI

Pour obtenir les informations sur une zone hébergée

La commande get-hosted-zone suivante obtient des informations sur la zone hébergée qui a l’id Z1R8UBAEXAMPLE :

aws route53 get-hosted-zone --id Z1R8UBAEXAMPLE
  • Pour plus de détails sur l’API, consultez GetHostedZone dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-health-checks.

AWS CLI

Pour créer une liste des surveillances de l’état associées au compte AWS actuel

La commande list-health-checks suivante crée une liste des informations détaillées sur les 100 premières surveillances de l’état associées au compte AWS actuel :

aws route53 list-health-checks

Si vous avez plus de 100 surveillances de l’état ou si vous souhaitez les répertorier dans des groupes inférieurs à 100 éléments, incluez le paramètre --maxitems. Par exemple, pour répertorier les surveillances de l’état une par une, utilisez la commande suivante :

aws route53 list-health-checks --max-items 1

Pour afficher la surveillance de l’état suivante, prenez la valeur NextToken de la réponse à la commande précédente et incluez-la dans le paramètre --starting-token, par exemple :

aws route53 list-health-checks --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • Pour plus de détails sur l’API, consultez ListHealthChecks dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-hosted-zones-by-name.

AWS CLI

La commande suivante crée une liste de 100 zones hébergées maximum, classées par nom de domaine :

aws route53 list-hosted-zones-by-name

Sortie :

{ "HostedZones": [ { "ResourceRecordSetCount": 2, "CallerReference": "test20150527-2", "Config": { "Comment": "test2", "PrivateZone": false }, "Id": "/hostedzone/Z119WBBTVP5WFX", "Name": "2.example.com." }, { "ResourceRecordSetCount": 2, "CallerReference": "test20150527-1", "Config": { "Comment": "test", "PrivateZone": false }, "Id": "/hostedzone/Z3P5QSUBK4POTI", "Name": "www.example.com." } ], "IsTruncated": false, "MaxItems": "100" }

La commande suivante crée une liste des zones hébergées classées par nom, commençant par www.example.com :

aws route53 list-hosted-zones-by-name --dns-name www.example.com

Sortie :

{ "HostedZones": [ { "ResourceRecordSetCount": 2, "CallerReference": "mwunderl20150527-1", "Config": { "Comment": "test", "PrivateZone": false }, "Id": "/hostedzone/Z3P5QSUBK4POTI", "Name": "www.example.com." } ], "DNSName": "www.example.com", "IsTruncated": false, "MaxItems": "100" }
  • Pour plus de détails sur l’API, consultez ListHostedZonesByName dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-hosted-zones.

AWS CLI

Pour créer une liste des zones hébergées associées au compte AWS actuel

La commande list-hosted-zones suivante répertorie des informations récapitulatives sur les 100 premières zones hébergées associées au compte AWS actuel. :

aws route53 list-hosted-zones

Si vous avez plus de 100 zones hébergées ou si vous souhaitez les répertorier dans des groupes inférieurs à 100, incluez le paramètre --max-items. Par exemple, pour répertorier les zones hébergées une par une, utilisez la commande suivante :

aws route53 list-hosted-zones --max-items 1

Pour afficher les informations relatives à la zone hébergée suivante, prenez la valeur NextToken de la réponse à la commande précédente et incluez-la dans le paramètre --starting-token, par exemple :

aws route53 list-hosted-zones --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • Pour plus de détails sur l’API, consultez ListHostedZones dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-query-logging-configs.

AWS CLI

Pour créer une liste des configurations de journalisation de requêtes

L’exemple list-query-logging-configs suivant crée une liste des informations relatives aux 100 premières configurations de journalisation des requêtes de votre compte AWS, pour la zone hébergée Z1OX3WQEXAMPLE.

aws route53 list-query-logging-configs \ --hosted-zone-id Z1OX3WQEXAMPLE

Sortie :

{ "QueryLoggingConfigs": [ { "Id": "964ff34e-ae03-4f06-80a2-9683cexample", "HostedZoneId": "Z1OX3WQEXAMPLE", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/route53/example.com:*" } ] }

Pour plus d’informations, consultez Journalisation des requêtes DNS dans le Manuel du développeur Amazon Route 53.

  • Pour plus de détails sur l’API, consultez ListQueryLoggingConfigs dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-resource-record-sets.

AWS CLI

Pour créer une liste des jeux d’enregistrements de ressources d’une zone hébergée

La commande list-resource-record-sets suivante crée une liste des informations récapitulatives sur les 100 premiers jeux d’enregistrements de ressources dans une zone hébergée spécifiée :

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE

Si la zone hébergée contient plus de 100 jeux d’enregistrements de ressources ou si vous souhaitez les répertorier dans des groupes inférieurs à 100 éléments, incluez le paramètre --maxitems. Par exemple, pour répertorier les jeux d’enregistrements de ressources un par un, utilisez la commande suivante :

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --max-items 1

Pour afficher les informations relatives au jeu d’enregistrements de ressources suivant de la zone hébergée, prenez la valeur NextToken de la réponse à la commande précédente et incluez-la dans le paramètre --starting-token, par exemple :

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --max-items 1 --starting-token Z3M3LMPEXAMPLE

Pour afficher tous les jeux d’enregistrements de ressources portant un nom particulier, utilisez le paramètre --query afin de les filtrer. Par exemple :

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --query "ResourceRecordSets[?Name == 'example.domain.']"
  • Pour plus de détails sur l’API, consultez ListResourceRecordSets dans la Référence des commandes de l’AWS CLI.