Amazon Web Services ブログ

Route 53 Resolver クエリログを使用して、VPC DNS クエリをログに記録する

Amazon Route 53 チームが、Route 53 Resolver クエリログと呼ばれる新機能をリリースしました。これにより、Amazon Virtual Private Cloud 内のリソースが行うすべての DNS クエリをログに記録できるようになります。Amazon Elastic Compute Cloud (EC2) インスタンス、AWS Lambda 関数、またはコンテナのいずれでも、仮想プライベートクラウドに存在し、DNS クエリを実行する場合、この機能によってログが記録されます。このため、アプリケーションの動作状況の調査と把握をより深く行うことができます。

お客様によれば、DNS クエリログは重要であると言います。お客様の中には、規則に準拠できるようにログを望む方もいれば、DNS クエリの動作をモニタリングしてセキュリティの脅威を発見したいという方もいました。単に、DNS に関連するアプリケーションの問題をトラブルシューティングしたい方もいました。チームはこうしたお客様の声に耳を傾け、洗練されかつ使いやすいと確信したソリューションを開発してきました。

私の場合、Route 53 Resolver についてほとんど何も知らないところから、クエリログを設定し、ドキュメントを一目見ただけで使用できるようになりました。つまり、Route 53 または DNS クエリのログ記録で多くの経験は必要なく、その機能が直感性に優れていることを示していると言えるでしょう。

Amazon CloudWatch LogsAmazon Simple Storage Service (S3)Amazon Kinesis Data Firehose の 3 つの AWS のサービスのいずれかに、DNS クエリログを送信するように選択できます。選択するターゲットサービスは、主にデータで何をしたいかによって異なります。コンプライアンス規制(たとえば、オーストラリアの 情Information Security Registered Assessors Program など)がある場合は、Amazon Simple Storage Service (S3) にログを保存することをお勧めします。DNS クエリをリアルタイムでモニタリングおよび分析する計画がある場合、またはログを Kibana などのサードパーティのデータ分析ツールあるいは Splunk などの SEIM ツールと統合している場合、Amazon Kinesis Data Firehose が選択肢となるでしょう。簡単にメトリクスを検索、クエリ、モニタリングする、またはアラームを発生させる必要がある場合は、Amazon CloudWatch Logs が最適です。これは次のデモで説明します。

Route 53 コンソールにある [Resolver] メニューセクションの近くに、[クエリログ] と呼ばれる新しい項目が表示されます。これをクリックすると、ログを設定する画面が表示されます。

ダッシュボードには、セットアップ済みの現在の設定が表示されます。[クエリログの設定] をクリックして開始します。

わかりやすい名前など必要な情報を入力するよう、コンソールから求められます。私は demoNewsBlog という名前を付けました。

ログの送信先を選択するように求められています。[CloudWatch Logs のロググループ] の次に [ロググループを作成] オプションを選択します。ここでは、新しいロググループに /aws/route/demothebeebsnet という名前を付けました。

次に、クエリをログに記録する VPC を選択する必要があります。ここで選択した VPC 内にあるリソースはすべて、DNS クエリがログに記録します。この設定にタグを追加することもできます。私はデモの一部として使用するものすべてに、タグデモのタグを付ける習慣があります。アカウント内のデモリソースとライブリソースを簡単に区別するためです。

最後に、[クエリログを設定] ボタンをクリックすると、設定が保存されます。しばらくすると、VPC でクエリログが有効になりました。

数分後、Amazon CloudWatch Logs コンソールにログインすると、ログが表示されていることがわかります。

以下に示すように、Amazon CloudWatch Logs Insights を使用することで、ログの検索やクエリの実行をすばやく開始できました。

Amazon CloudWatch Logs サービスでは、多くのことが可能です。たとえば、CloudWatch メトリクスフィルターを使用して、メトリクスを自動的に生成したり、ダッシュボードを作成したりすることもできます。このデモをまとめていると、Amazon CloudWatch Logs の中に Contributor Insights と呼ばれる機能を発見しました。これで、ログデータを分析し、トップトーカーを表示する時系列グラフを作成できます。このグラフをとてもすばやく作成することができました。グラフは、最も一般的な DNS クエリを時系列で一覧表示しています。
Route 53 Resolver クエリログは、Route 53 Resolver エンドポイントをサポートしているすべての AWS 商用リージョンでご利用いただけます。API または AWS コンソールのいずれかを使用して開始できます。Route 53 Resolver クエリログに料金はかかりませんが、選択した宛先サービスでのログの処理には料金がかかります。たとえば、Amazon Kinesis Data Firehose の使用を決定した場合、Amazon Kinesis Data Firehose サービスでのログの処理には通常の料金が発生します。

今日も楽しくログ処理しましょう。

– Martin