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-setssuivante crée un jeu d’enregistrements de ressources à l’aide de l’hosted-zone-idZ1R8UBAEXAMPLEet de la configuration au format JSON du fichierC:\awscli\route53\change-resource-record-sets.json:aws route53 change-resource-record-sets --hosted-zone-idZ1R8UBAEXAMPLE--change-batch file://C:\awscli\route53\change-resource-record-sets.jsonPour 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-typehealthcheck--resource-id6233434j-18c1-34433-ba8e-3443434--add-tagsKey=owner,Value=mybossLa 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-typehostedzone--resource-idZ1523434445--remove-tag-keysowner-
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-checksuivante crée une surveillance de l’état à l’aide de la référence appelant2014-04-01-18:47et de la configuration au format JSON du fichierC:\awscli\route53\create-health-check.json:aws route53 create-health-check --caller-reference2014-04-01-18:47--health-check-config file://C:\awscli\route53\create-health-check.jsonSyntaxe 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-zonesuivante ajoute une zone hébergée nomméeexample.comà l’aide de la référence appelant2014-04-01-18:47. Le commentaire facultatif inclut un espace, il doit donc être placé entre guillemets :aws route53 create-hosted-zone --nameexample.com--caller-reference2014-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-checksuivante supprime la surveillance de l’état avec l’health-check-ide75b48d9-547a-4c3d-88a5-ae4002397608:aws route53 delete-health-check --health-check-ide75b48d9-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-zonesuivante supprime la zone hébergée avec l’idZ36KTIQEXAMPLE:aws route53 delete-hosted-zone --idZ36KTIQEXAMPLE-
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-changesuivante obtient le statut et d’autres informations relatives à la demandechange-resource-record-setsqui 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-checksuivante obtient des informations sur la surveillance de l’état qui a l’health-check-id02ec8401-9879-4259-91fa-04e66d094674:aws route53 get-health-check --health-check-id02ec8401-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-zonesuivante obtient des informations sur la zone hébergée qui a l’idZ1R8UBAEXAMPLE:aws route53 get-hosted-zone --idZ1R8UBAEXAMPLE-
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-checkssuivante 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-checksSi 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-items1Pour afficher la surveillance de l’état suivante, prenez la valeur
NextTokende 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-items1--starting-tokenZ3M3LMPEXAMPLE-
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-nameSortie :
{ "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-namewww.example.comSortie :
{ "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-zonessuivante 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-zonesSi 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-items1Pour afficher les informations relatives à la zone hébergée suivante, prenez la valeur
NextTokende 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-items1--starting-tokenZ3M3LMPEXAMPLE-
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-configssuivant 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éeZ1OX3WQEXAMPLE.aws route53 list-query-logging-configs \ --hosted-zone-idZ1OX3WQEXAMPLESortie :
{ "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-setssuivante 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-idZ2LD58HEXAMPLESi 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-idZ2LD58HEXAMPLE--max-items1Pour afficher les informations relatives au jeu d’enregistrements de ressources suivant de la zone hébergée, prenez la valeur
NextTokende 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-idZ2LD58HEXAMPLE--max-items1--starting-tokenZ3M3LMPEXAMPLEPour afficher tous les jeux d’enregistrements de ressources portant un nom particulier, utilisez le paramètre
--queryafin de les filtrer. Par exemple :aws route53 list-resource-record-sets --hosted-zone-idZ2LD58HEXAMPLE--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.
-