ウェブエンジニア問題集
第7章

監視と運用 — CloudWatch Metrics・Logs・Logs Insights・EventBridge

12
この章の目次開く
システムの監視状況を確認する人のイラスト
学習者学習者

CloudWatchはよく名前を見ますが、Metrics、Logs、Alarmなど機能が多くて整理できません。

Amazon CloudWatchは、AWSリソースの監視・ログ管理・アラーム・イベント駆動を担う中心的なサービスです。SAA-C03では、CloudWatchの各機能がどんな要件で使われるかを判断する力が問われます。


CloudWatchの全体像

CloudWatchは1つのサービスですが、役割ごとに複数の機能を持っています。

先生先生

CloudWatchは「数値を見る(Metrics)」「ログを見る(Logs)」「異常に反応する(Alarms / EventBridge)」の3つの視点で整理すると分かりやすいです。


CloudWatch Metrics

CloudWatch Metricsは、AWSリソースの数値データを時系列で収集・可視化する機能です。EC2のCPU使用率、ELBのリクエスト数、RDSの接続数など、多くのAWSサービスが自動的にメトリクスを送信します。

標準メトリクスとカスタムメトリクス

種類説明
標準メトリクスAWSが自動で収集。追加費用なしEC2: CPUUtilization、NetworkIn
カスタムメトリクスユーザーが独自に送信するメモリ使用率、アプリのキュー長

メトリクスの期間と保持

期間保持期間
1秒(高解像度)3時間
60秒(標準)15日
5分63日
1時間15ヶ月
学習者学習者

メトリクスを元に自動で何かさせたい場合はどうしますか?

それが CloudWatch Alarms の役割です。メトリクスがしきい値を超えたら、SNS通知を送ったり、Auto Scalingのスケールアウトをトリガーしたり、EC2インスタンスを停止・再起動したりできます。


CloudWatch Logs

ログを調査している人のイラスト

CloudWatch Logsは、AWSリソースやアプリケーションのログを収集・保存・検索するサービスです。

ログの階層構造

用語説明
ロググループ(Log Group)ログの保持期間やアクセス制御を共有するログストリームのまとまり。通常はサービスやアプリ単位で作成する
ログストリーム(Log Stream)時系列のログイベントの連続。通常はインスタンスやコンテナ単位で作成される
ログイベント(Log Event)タイムスタンプとメッセージで構成される1件のログ

主なログ送信元

送信元方法
EC2CloudWatch Agent をインストール
ECS / Fargateawslogs ログドライバーを指定
Lambda自動で /aws/lambda/{関数名} に送信
API Gatewayステージの設定で有効化
VPC Flow LogsVPC・Subnet・ENI単位で有効化
Route 53DNSクエリログ

サブスクリプションフィルター

ログをリアルタイムに別サービスへ転送する機能です。データ取り込みと分析の章で扱ったECS → OpenSearchの構成でも使われます。

転送先用途
Kinesis Data FirehoseS3やOpenSearchへの配信
Lambdaログのリアルタイム加工・通知
Kinesis Data Streamsストリーム処理

CloudWatch Logs Insights

学習者学習者

CloudWatch Logsに貯まったログを分析したいとき、全部目で見るのは無理ですよね?

CloudWatch Logs Insightsは、ロググループに対してSQLライクなクエリで検索・集計・可視化できる機能です。大量のログから特定のパターンを抽出したり、エラーの傾向を集計したりできます。

クエリの例

fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20

上記のクエリは「ERRORを含むログを新しい順に20件取得する」という意味です。

分析結果からインサイトを得る人のイラスト

Logs Insightsの特徴

特徴説明
スキャンベースの課金スキャンしたデータ量に応じた従量課金
複数ロググループの横断クエリ最大50のロググループを同時に検索できる
自動フィールド検出JSON形式のログは自動でフィールドをパースする
可視化クエリ結果を棒グラフや折れ線グラフで表示できる

Amazon EventBridge

学習者学習者

EventBridgeはCloudWatchの一部なんですか?別のサービスですか?

Amazon EventBridgeは、もともと CloudWatch Events という名前でした。現在は独立したサービスとして進化していますが、機能的にはAWSリソースの状態変化をイベントとして検知し、ルールに基づいてアクションを実行するサービスです。

イベント駆動の連携を設計するイラスト

EventBridgeの仕組み

構成要素説明
イベントソースAWSサービス、SaaSアプリ、カスタムアプリからイベントを発生させる
イベントバスイベントを受け取るパイプライン。デフォルトバスの他にカスタムバスも作れる
ルールイベントパターンまたはスケジュールに基づいてターゲットを呼び出す
ターゲットLambda、SQS、SNS、Step Functions、ECS Taskなど

よく使われるパターン

ユースケースイベントソースターゲット
EC2インスタンスが停止したら通知EC2 State ChangeSNS
S3にファイルがアップロードされたら処理S3 PutObjectLambda
毎日深夜にバッチ処理を実行スケジュール(cron)Lambda / ECS Task
AWS Health イベントを検知して対応AWS HealthLambda / SNS
先生先生

EventBridgeは疎結合アーキテクチャの章でも扱っています。試験では「AWSサービスの状態変化に自動対応する」要件でEventBridgeが正解になります。


監視設計の全体像

実務では、これらの機能を組み合わせて監視を設計します。

AWSリソース
  -> CloudWatch Metrics(数値を収集)
  -> CloudWatch Alarms(しきい値で検知)
  -> SNS / Auto Scaling(通知・自動対応)
 
アプリケーション / AWSサービス
  -> CloudWatch Logs(ログを収集)
  -> Logs Insights(アドホック分析)
  -> サブスクリプションフィルター -> OpenSearch(常時ダッシュボード)
 
AWSリソースの状態変化
  -> EventBridge(イベント検知)
  -> Lambda / SQS / Step Functions(自動処理)
学習者学習者

試験ではどのように問われますか?

SAA-C03では「メモリ使用率を監視したい → カスタムメトリクス + CloudWatch Agent」「ログを横断分析したい → Logs Insights or OpenSearch」「AWSリソースの変化に自動対応したい → EventBridge」のように、要件からどの機能を選ぶかが問われます。


参考リンク


まとめ

CloudWatchとEventBridgeは、AWSの運用・監視の土台です。

  • Metrics — AWSリソースの数値を収集・可視化。メモリ監視にはカスタムメトリクスが必要
  • Logs — ログの収集・保存。サブスクリプションフィルターで他サービスへ転送可能
  • Logs Insights — ログに対するSQLライクなクエリ分析。アドホックな調査に最適
  • EventBridge — AWSリソースの状態変化やスケジュールで自動アクションを実行

次の章では、疎結合アーキテクチャとしてSQS、SNS、EventBridge、Step Functionsの使い分けを扱います。

AWSクイズに挑戦するこの章で学んだAWSの知識を、4択クイズでアウトプットして定着させよう