変更要約: SCS-C02 第2章を深掘り(比較表・シナリオ・FAQ・ひっかけ・深掘り段落を各節に追加、図を日本語版に対応)
2.3ログの分析と集中管理
ログ活用——CloudWatch Logs Insights、Athena(S3 ログ)、OpenSearch、集中ログ(クロスアカウント)、保持/ライフサイクル——を理解します。大量のログから洞察を得ます。
集めたログは分析してこそ価値になります。用途に応じて Logs Insights・Athena・OpenSearch を使い分けます。
2.3.1ログ分析の手段
- Logs Insights:CloudWatch Logs を SQL ライクなクエリで分析する。
- Athena:S3 上の大量ログ(CloudTrail/VPC フローログ)をサーバーレスで SQL クエリ。
- OpenSearch:リアルタイムの全文検索/可視化(ダッシュボード)。
- 集中ログ:サブスクリプションフィルター→Firehoseで集中ログアカウントへ転送。保持はライフサイクルで管理。
「CloudWatch Logs のクエリ=Logs Insights」「S3 上の CloudTrail/フローログを SQL 分析=Athena」「全文検索/可視化=OpenSearch」「組織横断の集中ログ=サブスクリプションフィルター→Firehose→集中アカウント」 は SCS-C02 で頻出です。S3 に出力した監査ログの分析は Athena が定番です。
SCS-C02 のログ活用は「保管先と目的に応じた分析ツールの選択」を問います。CloudWatch Logs Insights は CloudWatch Logs に対する SQL ライクなクエリで、アプリ/OS ログのアドホック調査に向きます。Athena は S3 に蓄積した大量の監査ログ(CloudTrail/VPC フローログ/ELB/CloudFront 等)を、サーバーレスで SQL クエリでき(Glue データカタログでテーブル定義、Parquet 変換やパーティション分割でコスト/性能を最適化)、セキュリティ調査やコンプライアンスレポートの定番です。OpenSearch Service はリアルタイムの全文検索とダッシュボード可視化に向き、SIEM 的な用途で使われます(OCU/インデックス管理が必要)。組織横断の集中ログは、各アカウントの CloudWatch Logs からサブスクリプションフィルターで Amazon Data Firehose(または Data Streams)へストリーミングし、集中ログアカウントの S3/OpenSearch へ集約します。CloudTrail は最初から組織証跡で集中 S3 に集約できます。保持はライフサイクルポリシーで管理し、長期は Glacier へ移行、分析頻度の低い古いログのコストを抑えます。外部 SIEM(Splunk 等)連携も Firehose/Event Hubs 相当で可能です。設計の要は、「CW Logs はLogs Insights、S3 はAthena、全文検索/可視化はOpenSearch」を使い分け、サブスクリプションフィルター+Firehose で集中アカウントへ集約することです。
| ログの所在/目的 | ツール | 要点 |
|---|---|---|
| CloudWatch Logs のアドホック | Logs Insights | SQL ライク・アプリ/OS ログ |
| S3 上の大量監査ログ | Athena | サーバーレス SQL・CloudTrail/フローログ・Parquet/パーティション |
| 全文検索/可視化 | OpenSearch | リアルタイム・SIEM 的・ダッシュボード |
| 組織横断の集中 | サブスクリプションフィルター→Firehose | 集中ログアカウントへ・ライフサイクル保持 |
シナリオ:インシデント調査で「過去 6 か月の CloudTrail から、特定 IAM ロールが行った AccessDenied を全部洗い出す」必要がある。ログは S3 に集約済み。→ Athena で S3 上の CloudTrail ログにテーブルを定義し(Glue カタログ)、errorCode が AccessDenied かつ userIdentity の arn が対象ロールに一致、といった条件の SQL クエリで抽出。日付パーティションと Parquet 変換でコスト/速度を最適化します。リアルタイムのダッシュボードが要れば OpenSearch、CloudWatch Logs 側のアドホックは Logs Insights を使います。
FAQ:S3 上の CloudTrail ログ分析に Logs Insights は使える? いいえ。Logs Insights は CloudWatch Logs 専用です。S3 に出力した CloudTrail/VPC フローログを SQL 分析するなら Athena(サーバーレス、Glue カタログでスキーマ定義)が正解。リアルタイムの全文検索/ダッシュボードが要るなら OpenSearch。「ログがどこにあるか(CW Logs か S3 か)」で分析ツールが決まります。
ひっかけ:S3 に蓄積した CloudTrail ログの分析に Logs Insights を選ぶのは誤り(Logs Insights は CloudWatch Logs 専用)。S3 上のログは Athena。また「全アカウントのログを集約」を手動コピーで行うのは脆弱で、サブスクリプションフィルター→Firehose→集中アカウント(CloudTrail は組織証跡)で自動集約します。コスト最適化のため、古いログはライフサイクルで Glacier へ。
2.3.2この節のまとめ
- 分析=Logs Insights(CW)/Athena(S3)/OpenSearch(検索)
- 集中=サブスクリプションフィルター→Firehose→集中アカウント
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. S3 に蓄積した大量の CloudTrail ログを、サーバーレスで SQL クエリして調査したい。何を使いますか?
Q2. CloudWatch Logs に集約したログを SQL ライクなクエリで高速分析したい。何を使いますか?
Q3. 複数アカウントのログをリアルタイムに集中ログアカウントへ転送したい。何を使いますか?

