Route53のDNSクエリログ設定

CloudWatchでロググループを作成してから、Route53リゾルバーで設定します。VPC単位でDNSクエリをログ記録するため、パブリックホストゾーン/プライべートホストゾーン、双方のクエリログを取得できます。Route53で「独自ドメイン」がパブリックホストゾーン、独自ドメインのサブドメインがプライベートホストゾーンとなり、両方ともに同じVPCという環境における設定です。独自ドメイン単位のクエリログと言うよりも、VPC単位のDNSクエリログが取得されます。

CloudWatchのログ監視設計はロググループの命名規則が非常に重要です。

CloudWatchでロググループを作成

  1. CloudWatchにすすむ
  2. 左サイドバーで「ロググループ」へ
  3. 「ロググループを作成」をクリック
  4. ロググループ名を入力 「/aws/rt53/vpc名/query-log」 など。
  5. 「作成」をクリック

CloudWatchのロググループ画面で保持設定の期間を編集する

以下、オプションです。

  1. 該当ロググループにチェックを入れる
  2. 「アクション」
  3. 「保持設定を編集」
  4. 「次の期間経過後にイベントを失効」で期間を選ぶ。EX)1ヶ月 など
  5. 「保存」

Route53リゾルバーでDNSクエリログ記録の設定

  1. Route53へ
  2. 「リゾルバー」の「クエリのログ記録」へ
  3. 「クエリログ記録の設定」をクリック
  4. 名前を付ける EX)Rt53-vpc名‐querylogs など
  5. 「クエリログ送信先」を選ぶ。ここでは「CloudWatch Logsのロググループ」を選択
  6. 先ほどCloudWatchロググループで作った、「/aws/rt53/vpc名/query-log」を「CloudWatch Logsのロググループ」のプルダウン選択肢から選ぶ
  7. 「クエリを記録するVPC」で該当するVPCを追加
  8. Tagsについては任意で設定してください

CloudWatchでDNSクエリログの確認

少し時間をおいてから、CloudWatchで該当ロググループに進み、クエリ送信元毎に異なるログストリームでLog eventsのタイムスタンプとメッセージを確認できれば成功です。ブラウザやdigコマンドを試してみるのもいいと思います。

メッセージの中身は以下の様なjsonになっています。”query_name”はリクエストの独自ドメインやサブドメインやIPアドレスです。

{
    "version": "1.000000",
    "account_id": "×××××××××××",
    "region": "ap-northeast-1",
    "vpc_id": "vpc-××××××××××××",
    "query_timestamp": "2020-09-××T××:××:××Z",
    "query_name": "sub.example.com.",
    "query_type": "A",
    "query_class": "IN",
    "rcode": "NOERROR",
    "answers": [
        {
            "Rdata": "10.0.××.×××",
            "Type": "A",
            "Class": "IN"
        },
        {
            "Rdata": "10.0.××.×××",
            "Type": "A",
            "Class": "IN"
        },
        {
            "Rdata": "10.0.××.×",
            "Type": "A",
            "Class": "IN"
        }
    ],
    "srcaddr": "10.0.××.××",
    "srcport": "××××××",
    "transport": "UDP",
    "srcids": {
        "instance": "i-×××××××××"
    }
}

S3に保存してローテーションまで設定したいです。そのうちやります。

「クエリログ記録の設定」削除について

「クエリログ記録の設定」削除の手順です。

  1. クエリログ記録を停止
  2. 「クエリログ記録の設定」の削除で半角英数小文字の英語「delete」入力し削除する

漢字で「削除」を入力すると削除出来ない。ハマった・・・。かなり悩み、3~4時間、別の事をして再度チャレンジして、inputタグのplaceholderは英語の「delete」だけど、指示文章は漢字の「削除」である矛盾を疑ったらビンゴ。「クエリログ記録の設定」の削除について、「delete」のテキスト打ち込みは半角英数小文字の英語「delete」で

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください