パブリック DNS クエリのログ記録 - Amazon Route 53

パブリック DNS クエリのログ記録

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

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

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

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

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

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

クエリのログ記録を設定すると、Route 53 により CloudWatch Logs に対しログが送信されるようになります。クエリログにアクセスするには CloudWatch Logs ツールを使用します。

注記

クエリのログ記録は、プライベートホストゾーンでも使用可能です。詳細については、「リゾルバーでのクエリのログ記録」を参照してください

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

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

詳細なログ情報が必要ない場合は、Amazon CloudWatch メトリクスを使用すると、ホストゾーンのために Route 53 が応答している DNS クエリの総数を確認できます。詳細については、「パブリックホストゾーンの DNS クエリメトリクスの表示」を参照してください

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

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

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

    注記

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

  • [Create (作成) ] を選択して終了します。

注記

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

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

  1. AWS Management Console にサインインし、Route 53 コンソール (https://console.aws.amazon.com/route53/) を開きます。

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

  3. クエリのログ記録を設定するホストゾーンを選択します。

  4. [Hosted zone details] ペインで、[クエリログ記録の設定] を選択します。

  5. 既存のロググループを選択するか、もしくは新しいロググループを作成します。

  6. 許可に関するアラートを受け取った場合 (これは、新しいコンソールでのクエリログ記録の設定が完了していない場合に発生します)、次のいずれかの操作を行います。

    • 既に 10 個のリソースポリシーがある場合、それ以上ポリシーを作成することはできません。リソースポリシーのいずれかを選択し、[Edit (編集)] を選択します。編集することで、ロググループにログを書き込む許可が Route 53 に与えられます。[Save] を選択します。アラートが消え、次のステップに進むことが可能になります。

    • 以前にクエリのログ記録を設定したことがない場合 (または、リソースポリシーをまだ 10 個まで作成していない場合) は、CloudWatch Logs グループにログを書き込むためのアクセス許可を、Route 53 に付与する必要があります。[Grant permissions (アクセス許可の付与)] を選択します。アラートが消え、次のステップに進むことが可能になります。

  7. [アクセス許可 – オプション] を選択してテーブルを表示し、リソースポリシーが CloudWatch ロググループに一致しているか、CloudWatch にログを発行するためのアクセス許可が Route 53 に付与されているかを確認します。

  8. [Create] を選択します。

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

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

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

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

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

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

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

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

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

注記

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

クエリログ記録の停止

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

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

  1. AWS Management Console にサインインし、Route 53 コンソール (https://console.aws.amazon.com/route53/) を開きます。

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

  3. クエリログ記録の設定を削除するホストゾーンの名前を選択します。

  4. [Hosted zone details (ホストゾーンの詳細)] ペインで、[Delete query logging configuration (クエリログ記録の設定を削除)] を選択します。

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

DNS クエリログに表示される値

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

ログ形式バージョン

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

クエリのタイムスタンプ

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

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

ホストゾーン ID

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

クエリ名

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

クエリタイプ

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

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

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

レイヤー 4 プロトコル

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

Route 53 エッジロケーション

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

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

リゾルバー IP アドレス

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

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

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

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

クエリログの例

クエリログの例を示します。

1.0 2017-12-13T08:16:02.130Z Z123412341234 example.com A NOERROR UDP FRA6 192.168.1.1 - 1.0 2017-12-13T08:15:50.235Z Z123412341234 example.com AAAA NOERROR TCP IAD12 192.168.3.1 192.168.222.0/24 1.0 2017-12-13T08:16:03.983Z Z123412341234 example.com ANY NOERROR UDP FRA6 2001:db8::1234 2001:db8:abcd::/48 1.0 2017-12-13T08:15:50.342Z Z123412341234 bad.example.com A NXDOMAIN UDP IAD12 192.168.3.1 192.168.111.0/24 1.0 2017-12-13T08:16:05.744Z Z123412341234 txt.example.com TXT NOERROR UDP JFK5 192.168.1.2 -