このドキュメントはバージョン 1 の AWS CLI のみを対象としています。AWS CLI のバージョン 2 に関連するドキュメントについては、バージョン 2 用ユーザーガイドを参照してください。
AWS CLI を使用した Route 53 の例
次のコード例は、Route 53 で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。
トピック
アクション
次の例は、change-resource-record-sets
を使用する方法を説明しています。
- AWS CLI
-
リソースレコードセットを作成、更新、または削除するには
次の
change-resource-record-sets
コマンドは、ファイルC:\awscli\route53\change-resource-record-sets.json
のhosted-zone-id
Z1R8UBAEXAMPLE
と JSON 形式の設定を使用してリソースレコードセットを作成します。aws route53 change-resource-record-sets --hosted-zone-id
Z1R8UBAEXAMPLE
--change-batch file://C:\awscli\route53\change-resource-record-sets.json詳細については、Amazon Route 53 API リファレンスの「POST ChangeResourceRecordSets」を参照してください。
JSON ファイルの設定は、作成するリソースレコードセットの種類によって異なります。
BasicWeightedAliasWeighted AliasLatencyLatency AliasFailoverFailover 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", "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ] } }, {...} ] }
加重構文:
{ "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" } }, {...} ] }
エイリアス構文:
{ "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" } }, {...} ] }
加重エイリアス構文:
{ "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" } }, {...} ] }
レイテンシー構文:
{ "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" } }, {...} ] }
レイテンシーエイリアス構文:
{ "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" } }, {...} ] }
フェイルオーバー構文:
{ "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" } }, {...} ] }
フェイルオーバーエイリアス構文:
{ "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" } }, {...} ] }
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ChangeResourceRecordSets
」を参照してください。
-
次のコード例は、change-tags-for-resource
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、ID で指定されたヘルスチェックリソースに
owner
というタグを追加します。aws route53 change-tags-for-resource --resource-type
healthcheck
--resource-id6233434j-18c1-34433-ba8e-3443434
--add-tagsKey=owner,Value=myboss
次のコマンドは、ID で指定されたホストゾーンリソースから
owner
というタグを削除します。aws route53 change-tags-for-resource --resource-type
hostedzone
--resource-idZ1523434445
--remove-tag-keysowner
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ChangeTagsForResource
」を参照してください。
-
次のコード例は、create-health-check
を使用する方法を示しています。
- AWS CLI
-
ヘルスチェックを作成するには
次の
create-health-check
コマンドは、C:\awscli\route53\create-health-check.json
ファイルで発信者リファレンス2014-04-01-18:47
と JSON 形式の設定を使用してヘルスチェックを作成します。aws route53 create-health-check --caller-reference
2014-04-01-18:47
--health-check-config file://C:\awscli\route53\create-health-check.jsonJSON 構文:
{ "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 }
Route 53 リソースレコードセットにヘルスチェックを追加するには、
change-resource-record-sets
コマンドを使用します。詳細については、「Amazon Route 53 デベロッパーガイド」の「Amazon Route 53 ヘルスチェックと DNS フェイルオーバー」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「CreateHealthCheck
」を参照してください。
-
次の例は、create-hosted-zone
を使用する方法を説明しています。
- AWS CLI
-
ホストゾーンを作成するには
次の
create-hosted-zone
コマンドは、発信者リファレンス2014-04-01-18:47
を使用してexample.com
という名前のホストゾーンを追加します。オプションのコメントは、スペースを含むため、引用符で囲む必要があります。aws route53 create-hosted-zone --name
example.com
--caller-reference2014-04-01-18:47
--hosted-zone-config Comment="command-line version"詳細については、「Amazon Route 53 デベロッパーガイド」の「ホストゾーンの使用」を参照してください。
-
API の詳細については、「AWS CLI コマンドレットリファレンス」の「CreateHostedZone
」を参照してください。
-
次のコード例は、delete-health-check
を使用する方法を示しています。
- AWS CLI
-
ヘルスチェックを削除するには
次の
delete-health-check
コマンドは、e75b48d9-547a-4c3d-88a5-ae4002397608
のhealth-check-id
を使用してヘルスチェックを削除します。aws route53 delete-health-check --health-check-id
e75b48d9-547a-4c3d-88a5-ae4002397608
-
API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteHealthCheck
」を参照してください。
-
次の例は、delete-hosted-zone
を使用する方法を説明しています。
- AWS CLI
-
ホストゾーンを削除するには
次の
delete-hosted-zone
コマンドは、Z36KTIQEXAMPLE
のid
を使用してホストゾーンを削除します。aws route53 delete-hosted-zone --id
Z36KTIQEXAMPLE
-
API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteHostedZone
」を参照してください。
-
次のコード例は、get-change
を使用する方法を示しています。
- AWS CLI
-
リソースレコードセットの変更のステータスを取得するには
次の
get-change
コマンドは、/change/CWPIK4URU2I5S
のId
を持つchange-resource-record-sets
リクエストのステータスとその他の情報を取得します。aws route53 get-change --id
/change/CWPIK4URU2I5S
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetChange
」を参照してください。
-
次のコード例は、get-health-check
を使用する方法を示しています。
- AWS CLI
-
ヘルスチェックに関する情報を取得するには
次の
get-health-check
コマンドは、02ec8401-9879-4259-91fa-04e66d094674
のhealth-check-id
を持つヘルスチェックに関する情報を取得します。aws route53 get-health-check --health-check-id
02ec8401-9879-4259-91fa-04e66d094674
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetHealthCheck
」を参照してください。
-
次の例は、get-hosted-zone
を使用する方法を説明しています。
- AWS CLI
-
ホストゾーンに関する情報を取得するには
次の
get-hosted-zone
コマンドは、Z1R8UBAEXAMPLE
のid
を使用してホストゾーンに関する情報を取得します。aws route53 get-hosted-zone --id
Z1R8UBAEXAMPLE
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetHostedZone
」を参照してください。
-
次のコード例は、list-health-checks
を使用する方法を示しています。
- AWS CLI
-
現在の AWS アカウントに関連付けられたヘルスチェックを一覧表示するには
次の
list-health-checks
コマンドは、現在の AWS アカウントに関連付けられている最初の 100 個のヘルスチェックに関する詳細情報を一覧表示します。aws route53 list-health-checks
ヘルスチェックが 100 個を超える場合や、100 個未満のグループでヘルスチェックを一覧表示する場合は、
--maxitems
パラメータを含めます。例えば、ヘルスチェックを一度に一覧表示するには、次のコマンドを使用します。aws route53 list-health-checks --max-items
1
次のヘルスチェックに関する情報を表示するには、前のコマンドに対する応答から
NextToken
の値を取得し、その値を--starting-token
パラメーターに含めます。次に例を示します。aws route53 list-health-checks --max-items
1
--starting-tokenZ3M3LMPEXAMPLE
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListHealthChecks
」を参照してください。
-
次のコード例は、list-hosted-zones-by-name
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、最大 100 個のホストゾーンをドメイン名順に一覧表示します。
aws route53 list-hosted-zones-by-name
出力:
{ "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" }
次のコマンドは、
www.example.com
で始まる名前順にホストゾーンを一覧表示します。aws route53 list-hosted-zones-by-name --dns-name
www.example.com
出力:
{ "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" }
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListHostedZonesByName
」を参照してください。
-
次の例は、list-hosted-zones
を使用する方法を説明しています。
- AWS CLI
-
現在の AWS アカウントに関連付けられたホストゾーンを一覧表示するには
次の
list-hosted-zones
コマンドを使用して、現在の AWS アカウントに関連付けられている最初の 100 個のホスト ゾーンに関する概要情報を一覧表示します。aws route53 list-hosted-zones
ホストゾーンが 100 個を超える場合や、100 個未満のグループにホストゾーンを一覧表示する場合は、
--max-items
パラメータを含めてください。例えば、タイムゾーンを一度に一覧表示するには、次のコマンドを使用します。aws route53 list-hosted-zones --max-items
1
次のホストゾーンに関する情報を表示するには、前のコマンドに対する応答から
NextToken
の値を取得し、その値を--starting-token
パラメーターに含めます。次に例を示します。aws route53 list-hosted-zones --max-items
1
--starting-tokenZ3M3LMPEXAMPLE
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListHostedZones
」を参照してください。
-
次のコード例は、list-query-logging-configs
を使用する方法を示しています。
- AWS CLI
-
クエリログ記録の設定を一覧表示するには
次の
list-query-logging-configs
の例は、ホストゾーンZ1OX3WQEXAMPLE
の AWS アカウント内の最初の 100 件のクエリログ記録の設定に関する情報を一覧表示しています。aws route53 list-query-logging-configs \ --hosted-zone-id
Z1OX3WQEXAMPLE
出力:
{ "QueryLoggingConfigs": [ { "Id": "964ff34e-ae03-4f06-80a2-9683cexample", "HostedZoneId": "Z1OX3WQEXAMPLE", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/route53/example.com:*" } ] }
詳細については、「Amazon Route 53 デベロッパーガイド」の「DNS クエリのログ」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListQueryLoggingConfigs
」を参照してください。
-
次の例は、list-resource-record-sets
を使用する方法を説明しています。
- AWS CLI
-
ホストゾーンのリソースレコードセットを一覧表示するには
次の
list-resource-record-sets
コマンドは、指定されたホストゾーンの最初の 100 個のリソースレコードセットに関する概要情報を一覧表示します。aws route53 list-resource-record-sets --hosted-zone-id
Z2LD58HEXAMPLE
ホストゾーンが 100 個を超えるリソースレコードセットを含む場合や、100 個未満のグループでリソースレコードセットを一覧表示する場合は、
--maxitems
パラメータを含めてください。例えば、リソースレコードセットを一度に一覧表示するには、次のコマンドを使用します。aws route53 list-resource-record-sets --hosted-zone-id
Z2LD58HEXAMPLE
--max-items1
ホストゾーンの次のリソースレコードセットに関する情報を表示するには、前のコマンドに対する応答から
NextToken
の値を取得し、その値を--starting-token
パラメーターに含めます。次に例を示します。aws route53 list-resource-record-sets --hosted-zone-id
Z2LD58HEXAMPLE
--max-items1
--starting-tokenZ3M3LMPEXAMPLE
特定の名前のすべてのリソースレコードセットを表示するには、
--query
パラメータを使用してフィルタリングします。例:aws route53 list-resource-record-sets --hosted-zone-id
Z2LD58HEXAMPLE
--query"ResourceRecordSets[?Name == 'example.domain.']"
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListResourceRecordSets
」を参照してください。
-