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

DNS クエリのログ記録

Amazon Route 53 が受信するクエリに関する次のような情報をログ記録するように Amazon Route 53 を設定できます。

  • リクエストされたドメインまたはサブドメイン

  • リクエストの日付と時刻

  • DNS レコードタイプ (A や AAAA など)

  • DNS クエリに応答した Amazon Route 53 エッジロケーション

  • DNS レスポンスコード (NoErrorServFail など)

クエリログ記録を設定すると、Amazon Route 53 は CloudWatch Logs にログの送信を開始します。クエリログにアクセスするには CloudWatch Logs ツールを使用します。

クエリログには、DNS リゾルバーが Amazon Route 53 に転送したクエリのみが含まれます。DNS リゾルバーがすでにクエリへの応答 (example.com のロードバランサーの IP アドレスなど) をキャッシュしている場合は、リゾルバーは対応するレコードの TTL の有効期限が切れるまで、クエリを Amazon Route 53 に転送しないでキャッシュされたレスポンスを返し続けます。

ドメイン名 (example.com) またはサブドメイン名 (www.example.com) に送信された DNS クエリ数、ユーザーが使用しているリゾルバー、およびレコードの TTL によって、クエリログに含まれる情報は DNS リゾルバーに送信された数千件の各クエリのうち 1 つのクエリのみに関するものである場合があります。DNS の仕組みについては、「ウェブサイトやウェブアプリケーションへのインターネットトラフィックのルーティング」を参照してください。

DNS クエリのログ記録の設定

指定したホストゾーンの DNS クエリのログ記録を開始するには、Amazon Route 53 コンソールで以下のタスクを実行します。

  • Amazon Route 53 がログを発行する CloudWatch Logs ロググループを選択し、新しいロググループを作成します。

    注記

    ロググループは、米国東部(バージニア北部) リージョンにある必要があります。

  • 既存の CloudWatch Logs リソースポリシーを使用するか、新しいものを作成するかを選択します。Amazon Route 53 には、ロググループにログ記録を発行するためのアクセス権限が必要であり、リソースポリシーによって必要なアクセス権限が付与されます。

  • クエリログ記録設定を作成します。

注記

ユーザーがドメイン宛ての DNS クエリを送信すると、クエリログ記録の設定を作成してから数分以内にログ内にクエリが表示されます。

DNS クエリのログ記録を設定するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/route53/ にある Amazon Route 53 コンソールを開きます。

  2. ナビゲーションペインで [Hosted zones] を選択します。

  3. ログ記録を設定するホストゾーンのラジオボタン (名前ではない) を選択します。

  4. [Hosted zone details] ペインで、[Configure query logging] を選択します。

  5. Amazon Route 53 がログを既存の CloudWatch Logs ロググループに発行するか、新しいロググループに発行するかを選択します。

  6. 新しいロググループの名前を入力するか、リストから既存のロググループを選択します。

    重要

    複数のホストゾーンのログ記録を設定する場合は、各ロググループに一貫したプレフィックスを使用することをお勧めします。次に例を示します。

    /aws/route53/hosted-zone-name

    ウィザードの次のページで、Amazon Route 53 がログをロググループに発行するためのアクセス権限を付与する CloudWatch Logs リソースポリシーを選択します。リソースポリシーごとに、適用するロググループを指定する必要があります。AWS アカウントで作成できるリソースポリシーの数には制限 (現在は 10) があります。ロググループの名前に一貫性のあるプレフィックスを使用すると、すべての Amazon Route 53 ホストゾーンに 1 つのリソースポリシーを使用できます。たとえば、ロググループ名がすべて /aws/route53/ で始まる場合、/aws/route53/* に適用するリソースポリシーを作成できます。こうすることで、そのリソースポリシーをすべてのホストゾーンのロググループに使用できます。

  7. [Next] を選択します。

  8. 既存の CloudWatch Logs リソースポリシーを使用するか、新しいものを作成するかを選択します。

    注記

    Amazon Route 53 は既存のリソースポリシーのアクセス権限を使用できます。既存のリソースポリシーを使用する場合、特定のリソースポリシーを選択する必要はありません。

  9. 既存のリソースポリシーを使用する場合は、以下のステップを実行します。新しいリソースポリシーを作成する場合は、ステップ 10 までスキップします。

    1. [Test] を選択して、既存のリソースポリシーのいずれかで Amazon Route 53 に前のページで選択または作成したロググループにログを発行するために必要なアクセス権限が付与されているか確認します。

    2. テストが失敗する場合は、次のいずれかを実行します。

      • 新しいリソースポリシーを作成するオプションを選択して、ステップ 10 までスキップします。

      • 既存のリソースポリシーのいずれかの [Edit] を選択し、[Log groups that the resource policy applies to] の値を変更します。ロググループの名前 ([/aws/route53/example.com] など) または現在のロググループを含む値 ([/aws/route53/*] など) のいずれかを指定します。ワイルドカード文字 (*) を使用してロググループの名前の 0 以上の文字を置換できます。

        リソースポリシーの設定を表示するには、リソースポリシー名の左側にある矢印を選択します。

    3. テスト通るまで [Log groups that the resource policy applies to] を編集して再テストを続けます。

    4. ステップ 11 に進みます。

  10. リソースポリシーを作成する場合は、以下のステップを実行します。

    1. [Resource policy name] にリソースポリシーの名前を入力します。

    2. [Log groups that the resource policy applies to] に、前のページで選択または作成したロググループを含む値を入力します。そのロググループの名前は現在のページの最上部にあります。

      ワイルドカード文字 (*) を使用してロググループの名前の 0 以上の文字を置換できます (例: /aws/route53/*)。

    3. [Create policy and test permissions] を選択して、新しいリソースポリシーまたは既存のリソースポリシーのいずれかで Amazon Route 53 に前のページで選択または作成したロググループにログを発行するために必要なアクセス権限が付与されているか確認します。

    4. テストが失敗した場合、既存のリソースポリシーのいずれかの [Edit] を選択し、[Log groups that the resource policy applies to] の値を変更します。ロググループの名前 ([/aws/route53/example.com] など) または現在のロググループを含む値 ([/aws/route53/*] など) のいずれかを指定します。ワイルドカード文字 (*) を使用してロググループの名前の 0 以上の文字を置換できます。

      リソースポリシーの設定を表示するには、リソースポリシー名の左側にある矢印を選択します。

    5. テスト通るまで [Log groups that the resource policy applies to] を編集して再テストを続けます。

    6. ステップ 11 に進みます。

  11. [Create query logging config] を選択します。

Amazon CloudWatch を使用して DNS クエリログにアクセスする

Amazon Route 53 はクエリログを直接 CloudWatch Logs に送信します。ログは Amazon Route 53 経由ではアクセスできません。代わりに CloudWatch Logs を使用して、ほぼリアルタイムでのログの表示、データの検索とフィルタ、Amazon S3 へのログのエクスポートを行います。

Amazon Route 53 は、指定されたホストゾーンで DNS クエリに応答する Amazon Route 53 エッジロケーションごとに 1 つの CloudWatch Logs ログストリームを作成し、クエリログを該当するログストリームに送信します。各ログストリームの名前の形式は hosted-zone-id/edge-location-ID (例: Z1D633PJN98FT9/DFW3) です。

各エッジロケーションは、3 文字コードと、割り当てられた任意の数字で識別されます (例: DFW3)。通常、この 3 文字コードは、エッジロケーションの近くにある空港の、国際航空運送協会の空港コードに対応します。 (これらの略語は今後変更される可能性があります。) エッジロケーションの一覧については、Amazon Route 53 製品の詳細ページの「Amazon Route 53 グローバルネットワーク」を参照してください。

詳細については、該当するドキュメントを参照してください。

ログの保持期間の変更および Amazon S3 へのログのエクスポート

デフォルトでは、CloudWatch Logs はクエリログを無期限に保存します。必要に応じて、CloudWatch Logs が保持期間よりも古いログを削除するように、保持期間を指定できます。詳細については、「CloudWatch Logs でのログデータ保管期間の変更」を Amazon CloudWatch ユーザーガイドで参照してください。

ログデータを保持するが CloudWatch Logs ツールでデータを確認したり分析する必要はない場合は、ログを Amazon S3 にエクスポートしてストレージコストを削減できます。詳細については、「Amazon S3 へのログデータのエクスポート」を参照してください。

料金表の詳細については、該当の料金表ページを参照してください。

注記

DNS クエリをログ記録するように Amazon Route 53 を設定する場合、Amazon Route 53 料金は発生しません。

クエリログ記録の停止

Amazon Route 53 でクエリログの CloudWatch Logs への送信を停止する場合は、以下の手順を実行し、クエリログ記録設定を削除します。

クエリログ記録設定を削除するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/route53/ にある Amazon Route 53 コンソールを開きます。

  2. ナビゲーションペインで [Hosted zones] を選択します。

  3. クエリログ記録設定を削除するホストゾーンのラジオボタン (名前ではない) を選択します。

  4. [Hosted zone details] ペインの [Query logging] で、[Delete] を選択します。

  5. [Delete] を選択して確定します。

DNS クエリログの形式

各ログファイルには、対応するエッジロケーションで Amazon Route 53 が DNS リゾルバーから受信した DNS クエリごとに 1 つのログエントリがあります。各ログエントリには、以下の値が含まれています。

ログ形式バージョン

クエリログのバージョン番号。ログにフィールドを追加したり既存のフィールドの形式を変更した場合、この値を増分します。

クエリのタイムスタンプ

Amazon Route 53 がリクエストに応答した日時。ISO 8601 形式の協定世界時 (UTC) (例: 2017-03-16T19:20:25.177Z) です。

ISO 8601 形式については、Wikipedia の記事「ISO 8601」を参照してください。UTC については、Wikipedia の記事「協定世界時」を参照してください。

ホストゾーン ID

このログのすべての DNS クエリに関連付けられるホストゾーンの ID。

クエリ名

リクエストで指定されたドメインまたはサブドメイン。

クエリタイプ

リクエストで指定された DNS レコードタイプ、または ANY のいずれか。Amazon Route 53 がサポートするタイプについては、「サポートされる DNS レコードタイプ」を参照してください。

Response Code (レスポンスコード)

DNS クエリに応答して Amazon Route 53 が返す DNS レスポンスコード。

レイヤー 4 プロトコル

クエリの送信に使用されたプロトコル (TCP または UDP)。

Amazon Route 53 エッジロケーション

クエリに応答した Amazon Route 53 エッジロケーション。各エッジロケーションは、3 文字コードと、任意の数字で識別されます (例: DFW3)。通常、この 3 文字コードは、エッジロケーションの近くにある空港の、国際航空運送協会の空港コードに対応します。 (これらの略語は今後変更される可能性があります。)

エッジロケーションの一覧については、Amazon Route 53 製品の詳細ページの「Amazon Route 53 グローバルネットワーク」を参照してください。

リゾルバー IP アドレス

Amazon Route 53 にリクエストを送信した DNS リゾルバーの IP アドレス。

EDNS クライアントサブネット

リクエストを発信したクライアントの IP アドレスの一部 (DNS リゾルバーから取得できる場合)。

詳細については、IETF ドラフトの「Client Subnet in DNS Requests」を参照してください。