メニュー
Amazon Route 53
開発者ガイド (API Version 2013-04-01)

AWS CloudTrail を使用して Amazon Route 53 API に送信されたリクエストをキャプチャする

Amazon Route 53 は、AWS アカウントによって Amazon Route 53 API に送信されるすべてのリクエスト (IAM ユーザーによって送信されるリクエストを含む) に関する情報をキャプチャするサービスである AWS CloudTrail と統合されます。CloudTrail はこのようなリクエストのログファイルを定期的に指定の Amazon S3 バケットに保存します。CloudTrail は、Amazon Route 53 コンソール、Amazon Route 53 API、AWS SDK、Amazon Route 53 CLI、別のサービス (たとえば AWS CloudFormation) など、何を利用してリクエストが作成されたかを問わず、すべてのリクエストに関する情報をキャプチャします。

CloudTrail ログファイルの情報を使用して、Amazon Route 53 に対して実行されたリクエストの種類、リクエストの実行元 IP アドレス、実行者、実行日時などを判断できます。CloudTrail を設定して有効にする方法などの詳細については、『AWS CloudTrail User Guide』を参照してください。

Amazon Route 53 向けの CloudTrail の設定

AWS アカウントによって行われた API リクエストに関する情報をキャプチャするように CloudTrail を設定するときは、まずリージョンを選択します。Amazon Route 53 の場合、リージョンとして [米国東部(バージニア北部)] を選択する必要があります。そうしないと、Amazon Route 53 API リクエストのログエントリを取得できません。

CloudTrail ログファイル内の Amazon Route 53 情報

CloudTrail を有効にすると、CloudTrail がサポートするあらゆる AWS サービスに対して実行されるあらゆるリクエストが CloudTrail によってキャプチャされます (サポートされるサービスの一覧は、『AWS CloudTrail User Guide』の「サポートされるサービス」をご覧ください)。ログファイルはサービス別に整理も並べ替えもされていません。各ログファイルは複数のサービスのレコードを含む可能性があります。新しいログファイルを作成する時期は、CloudTrail によって決定されます。

各ログファイルエントリには、リクエストの実行者に関する情報が含まれます。ログファイルのユーザー ID 情報は、ユーザーの行ったリクエストが、ルートまたは IAM ユーザーの認証情報を使用して送信されたか、ユーザーの一時的なセキュリティ認証情報を使用して送信されたか、あるいは別の AWS サービス(AWS CloudFormation など)によって送信されたかを確認するのに役立ちます。詳細については、AWS CloudTrail User Guide の「userIdentity 要素」を参照してください。

ログファイルは、任意の期間、保存できます。また、Amazon S3 ライフサイクルのルールを定義して、自動的にログファイルをアーカイブまたは削除することもできます。

デフォルトでは Amazon S3 のサーバー側の暗号化 (SSE) を使用して、ログファイルが暗号化されます。

CloudTrail がログファイルを Amazon S3 バケットに配信するとただちに内容を確認する場合は、新しいログファイルの配信時に CloudTrail に Amazon SNS 通知を公表させることができます。詳細については、AWS CloudTrail User Guide の「Amazon SNS 通知の設定」を参照してください。

また、複数の AWS リージョンと複数の AWS アカウントのログファイルを 1 つの Amazon S3 バケットに集約することもできます。詳細については、AWS CloudTrail User Guide の「CloudTrail ログファイルの単一の Amazon S3 バケットへの集約」を参照してください。

Amazon Route 53 ログファイルエントリの概要

JSON 形式の各 CloudTrail ログファイルには、1 つ以上のログエントリを含めることができます。各ログエントリは任意の送信元からの単一のリクエストを表し、パラメータやアクションの日時など、リクエストされたアクションに関する情報を含みます。ログエントリは、特定の順序で生成されるわけではなく、API 呼び出しのスタックトレース順に並んではいません。

重要

CloudTrail ログエントリを使用して、ホストゾーンを再構築したり、ホストゾーンを以前の状態に戻したりしないでください。極めてまれですが、Amazon Route 53 API リクエストが CloudTrail ログに正常に記録されないことがあります。ホストゾーンを再生しようとして実際にはログエントリが欠けている場合、作成または更新できなかったリソースレコードセットが悪影響を及ぼしてドメインが利用できなくなることがあります。

eventName 要素は、発生したアクションを示します。CloudTrail はすべての Amazon Route 53 API アクションをサポートします。以下の例は、4 つのアクションを表す CloudTrail ログエントリを示しています。

  • AWS アカウントに関連付けられたホストゾーンのリスト作成

  • ヘルスチェックの作成

  • 2 つのリソースレコードセットの作成

  • ホストゾーンの削除

Copy
{ "Records": [ { "apiVersion": "2013-04-01", "awsRegion": "us-east-1", "eventID": "1cdbea14-e162-43bb-8853-f9f86d4739ca", "eventName": "ListHostedZones", "eventSource": "route53.amazonaws.com", "eventTime": "2015-01-16T00:41:48Z", "eventType": "AwsApiCall", "eventVersion": "1.02", "recipientAccountId": "444455556666", "requestID": "741e0df7-9d18-11e4-b752-f9c6311f3510", "requestParameters": null, "responseElements": null, "sourceIPAddress": "192.0.2.92", "userAgent": "Apache-HttpClient/4.3 (java 1.5)", "userIdentity": { "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "accountId": "111122223333", "arn": "arn:aws:iam::111122223333:user/smithj", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "type": "IAMUser", "userName": "smithj" } }, { "apiVersion": "2013-04-01", "awsRegion": "us-east-1", "eventID": "45ec906a-1325-4f61-b133-3ef1012b0cbc", "eventName": "CreateHealthCheck", "eventSource": "route53.amazonaws.com", "eventTime": "2015-01-16T00:41:57Z", "eventType": "AwsApiCall", "eventVersion": "1.02", "recipientAccountId": "444455556666", "requestID": "79915168-9d18-11e4-b752-f9c6311f3510", "requestParameters": { "callerReference": "2014-05-06 64832", "healthCheckConfig": { "iPAddress": "192.0.2.249", "port": 80, "type": "TCP" } }, "responseElements": { "healthCheck": { "callerReference": "2014-05-06 64847", "healthCheckConfig": { "failureThreshold": 3, "iPAddress": "192.0.2.249", "port": 80, "requestInterval": 30, "type": "TCP" }, "healthCheckVersion": 1, "id": "b3c9cbc6-cd18-43bc-93f8-9e557example" }, "location": "https://route53.amazonaws.com/2013-04-01/healthcheck/b3c9cbc6-cd18-43bc-93f8-9e557example" }, "sourceIPAddress": "192.0.2.92", "userAgent": "Apache-HttpClient/4.3 (java 1.5)", "userIdentity": { "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "accountId": "111122223333", "arn": "arn:aws:iam::111122223333:user/smithj", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "type": "IAMUser", "userName": "smithj" } }, { "additionalEventData": { "Note": "Do not use to reconstruct hosted zone" }, "apiVersion": "2013-04-01", "awsRegion": "us-east-1", "eventID": "883b14d9-2f84-4005-8bc5-c7bf0cebc116", "eventName": "ChangeResourceRecordSets", "eventSource": "route53.amazonaws.com", "eventTime": "2015-01-16T00:41:43Z", "eventType": "AwsApiCall", "eventVersion": "1.02", "recipientAccountId": "444455556666", "requestID": "7081d4c6-9d18-11e4-b752-f9c6311f3510", "requestParameters": { "changeBatch": { "changes": [ { "action": "CREATE", "resourceRecordSet": { "name": "prod.example.com.", "resourceRecords": [ { "value": "192.0.1.1" }, { "value": "192.0.1.2" }, { "value": "192.0.1.3" }, { "value": "192.0.1.4" } ], "tTL": 300, "type": "A" } }, { "action": "CREATE", "resourceRecordSet": { "name": "test.example.com.", "resourceRecords": [ { "value": "192.0.1.1" }, { "value": "192.0.1.2" }, { "value": "192.0.1.3" }, { "value": "192.0.1.4" } ], "tTL": 300, "type": "A" } } ], "comment": "Adding subdomains" }, "hostedZoneId": "Z1PA6795UKMFR9" }, "responseElements": { "changeInfo": { "comment": "Adding subdomains", "id": "/change/C156SRE0X2ZB10", "status": "PENDING", "submittedAt": "Jan 16, 2015 12:41:43 AM" } }, "sourceIPAddress": "192.0.2.92", "userAgent": "Apache-HttpClient/4.3 (java 1.5)", "userIdentity": { "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "accountId": "111122223333", "arn": "arn:aws:iam::111122223333:user/smithj", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "type": "IAMUser", "userName": "smithj" } }, { "apiVersion": "2013-04-01", "awsRegion": "us-east-1", "eventID": "0cb87544-ebee-40a9-9812-e9dda1962cb2", "eventName": "DeleteHostedZone", "eventSource": "route53.amazonaws.com", "eventTime": "2015-01-16T00:41:37Z", "eventType": "AwsApiCall", "eventVersion": "1.02", "recipientAccountId": "444455556666", "requestID": "6d5d149f-9d18-11e4-b752-f9c6311f3510", "requestParameters": { "id": "Z1PA6795UKMFR9" }, "responseElements": { "changeInfo": { "id": "/change/C1SIJYUYIKVJWP", "status": "PENDING", "submittedAt": "Jan 16, 2015 12:41:36 AM" } }, "sourceIPAddress": "192.0.2.92", "userAgent": "Apache-HttpClient/4.3 (java 1.5)", "userIdentity": { "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "accountId": "111122223333", "arn": "arn:aws:iam::111122223333:user/smithj", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "type": "IAMUser", "userName": "smithj" } } ] }