Q12 — AWS SAA-C03 第17章

第 12/89 問 | ← 第17章

Q1312. ある企業がAWS上でインターネットに公開されたWebアプリケーションを運用しています。DNS管理にはAmazon Route 53を使用しており、パブリックホステッドゾーンを設定して、インターネットからのトラフィックをアプリケーションへルーティングしています。この企業は、将来的なシステム管理者による根本原因分析(RCA)を支援するために、DNS応答コードをログ記録したいと考えています。これらの要件を満たす解決策はどれですか?

正解: A. Route 53でクエリログ記録を設定します。

解説

Route 53のDNS応答コードをログ記録するための正しい解決策は、以下の通りです: A. Route 53でクエリログ記録を設定します。 ■ オプションAが正しい理由: Route 53クエリログ記録(Query Logging)では、NOERROR、NXDOMAIN、SERVFAILなどのすべてのDNSクエリおよび応答コードが、Amazon CloudWatch LogsまたはAmazon S3へログ出力されます。これにより、システム管理者はクエリのパターンやエラー応答を分析し、DNS解決障害のトラブルシューティングを支援できます。また、クエリタイプ、ドメイン名、応答コードなどによるフィルタリングも可能です。さらに、CloudWatch Logs Insightsとの統合により、高度な分析が可能になります。例えば、失敗したDNS解決を検索するCloudWatch Logs Insightsのクエリ例: sql FILTER @message LIKE /NXDOMAIN/ | STATS COUNT() BY bin(1h) ■ 他の選択肢が不適切な理由: B. AWS CloudTrailを使用して、すべてのRoute 53クエリを記録する: CloudTrailは、CreateHostedZoneやUpdateRecordSetsなどのAPI呼び出しを記録するものであり、DNSクエリやその応答コードは記録しません。Route 53構成変更の監査には有効ですが、DNS解決のデバッグには利用できません。 C. Amazon CloudWatchを使用して、Route 53のメトリクスを収集・処理する: CloudWatchはHealthCheckStatusやQueryCountなどのメトリクスを提供しますが、個別の応答コード(例:NXDOMAIN)といった詳細な情報は含まれません。メトリクスは集計値(例:1分あたりのクエリ総数)であり、エラーの粒度が粗く、RCAには不十分です。 D. AWS Trusted Advisorを使用して、オンデマンドの根本原因分析を実行する: Trusted Advisorはコスト最適化、セキュリティ、パフォーマンスに関するベストプラクティスのチェックを提供しますが、DNSクエリや応答コードのログ記録機能はありません。リアルタイムまたは履歴ベースのDNSトラブルシューティングには不向きです。 ■ Route 53クエリログ記録の実装手順: 1. Route 53コンソールから「ホステッドゾーン」→ 対象のパブリックホステッドゾーンを選択 → 「クエリログ記録」を有効化します。 2. ログの保存先として、CloudWatch LogsのロググループまたはS3バケットを指定します。 3. CloudWatch Logsの場合、ストレージコストを抑えるため、ログ保持期間(例:30日)を設定します。 4. CloudWatch Logs Insights(CloudWatch Logsの場合)またはAthena(S3の場合)を用いてログを分析・可視化します。例(AthenaでのS3ログ分析): sql SELECT * FROM route53_logs WHERE response_code = 'NXDOMAIN' LIMIT 100; ■ 主な考慮事項: ・コスト:CloudWatch Logsへのクエリログ記録には、ストレージおよび取り込みコスト(約0.5米ドル/GB)が発生します。 ・データ機密性:DNSクエリには内部ホスト名など機密情報が含まれる可能性があるため、IAMポリシーおよび暗号化によるログ保護が必要です。 ・リアルタイム監視:ライブデバッグには、クエリログ記録とCloudWatchアラーム(エラー率に基づく)を組み合わせることを推奨します。 ■ 結論: オプションA(Route 53クエリログ記録)のみが、DNS応答コードを詳細に記録できる唯一のソリューションであり、DNS解決障害の根本原因分析に不可欠です。