変更要約: in-scopeサービス網羅(軸B): s1(CloudWatch)にAthena/OpenSearch Serviceによる大規模ログ分析の定義・役割・選択基準を追記。
5.1CloudWatch による可観測性
CloudWatch のログ(Logs / Logs Insights)、メトリクスとアラーム、カスタムメトリクスといった可観測性の基礎を理解します。DVA-C02 の「トラブルシューティングと最適化」の出発点です。
問題を素早く見つけて直すには、アプリのログ・メトリクス・トレースを見られることが不可欠です。AWS の中核が Amazon CloudWatch です。
5.1.1ログ・メトリクス・トレース
- ログ:CloudWatch Logs にアプリや Lambda の出力を集約。Logs Insights でクエリ・分析する。
- メトリクス/アラーム:数値の時系列を収集し、しきい値超過でアラームを発報(通知やオートスケール)。
- カスタムメトリクス:アプリ独自の指標(注文数など)を送信して監視できる。
「ログの集約・クエリ=CloudWatch Logs / Logs Insights」「しきい値で通知/自動対応=CloudWatch アラーム」「独自指標=カスタムメトリクス」 は DVA で頻出です。Lambda のログは自動的に CloudWatch Logs に出力されます。
可観測性は「ログ・メトリクス・トレース」の三本柱で考えます。CloudWatch Logs はログをロググループ/ログストリームに集約し、保持期間を設定できます(無期限だと課金が増えるので適切に設定)。Logs Insights は専用のクエリ言語で大量ログを対話的に集計・絞り込みできます。メトリクス は数値の時系列で、CPU 使用率のような標準メトリクスのほか、アプリ独自の カスタムメトリクス(注文数など)を PutMetricData で送れます。アラーム はメトリクスがしきい値を超えた状態が一定期間続くと発報し、SNS 通知・Auto Scaling・自動アクションを起動します。複合条件を扱うコンポジットアラームもあります。これらを1画面で見せる ダッシュボード や、リアルタイムにログを処理する サブスクリプションフィルター(Lambda/Kinesis へ転送)も実務で多用します。
| 知りたいこと | 使うもの |
|---|---|
| 何が起きたか(イベント/エラー) | CloudWatch Logs / Logs Insights |
| どれだけ(数値の推移) | メトリクス |
| しきい値超過で通知/自動対応 | アラーム(→SNS/Auto Scaling) |
| どこで時間がかかったか | X-Ray トレース |
シナリオ:Lambda のエラー急増に気づきたい。 Lambda のログは自動で CloudWatch Logs に出力されるので、メトリクスフィルターで「ERROR」行を数値メトリクス化し、アラームでしきい値超過時に SNS 通知。原因調査は Logs Insights で該当時間帯のログを絞り込み、相関 ID でリクエスト単位に追跡します。
Q. Lambda のログはどこ? 自動で CloudWatch Logs。Q. 独自の指標を監視するには? カスタムメトリクス(PutMetricData)。Q. しきい値で自動対応するには? アラーム→SNS/Auto Scaling。Q. 大量ログの分析は? Logs Insights。
混同に注意:
①ログ=「何が起きたか」、メトリクス=「数値の推移」、トレース=「どこで時間がかかったか」——役割を取り違えない。
②ログ保持期間を無期限にすると課金が膨らむ。
③標準メトリクスに無い指標はカスタムメトリクスで送る必要がある。
5.1.2ログを大規模に分析する(Athena・OpenSearch Service)
CloudWatch Logs Insights は便利ですが、S3 に集約した大量のログやアクセスログを SQL でアドホックに分析したい、あるいは全文検索とリッチなダッシュボードで可視化したい、という場面では別の選択肢が登場します。Amazon Athena は S3 上のデータを標準 SQL で直接クエリするサーバーレスのクエリサービスで、事前のロード不要・スキャンしたデータ量に応じた従量課金です。CloudTrail ログや ALB/CloudFront のアクセスログ、エクスポートしたアプリログを、必要なときだけ SQL で集計するのに向きます。Amazon OpenSearch Service は 全文検索・ログ分析の基盤で、ログを取り込んでインデックス化し、OpenSearch Dashboards で対話的に検索・可視化・アラートできます。判断の勘所は「S3 のデータを都度 SQL でアドホック分析=Athena」「全文検索や継続的なログ可視化ダッシュボード=OpenSearch Service」「運用ログの即時クエリ=CloudWatch Logs Insights」です。
| やりたいこと | 選択 |
|---|---|
| S3 のログを標準 SQL でアドホック分析 | Amazon Athena |
| 全文検索とダッシュボードでログ可視化 | Amazon OpenSearch Service |
| 運用ログを即時にクエリ | CloudWatch Logs Insights |
5.1.3この節のまとめ
- ログ(Logs/Insights)/メトリクス・アラーム/カスタムメトリクス
- Lambda のログは自動で CloudWatch Logs へ
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Lambda 関数のログ出力は既定でどこに集約されますか?
Q2. メトリクスがしきい値を超えたら通知やオートスケールを起動したい。何を使いますか?
Q3. 集約した大量のログを対話的にクエリ・分析できる CloudWatch の機能はどれですか?

