導入
サーバーのCPUが張り付いていないか、エラーが増えていないか——動いているシステムの「健康状態」を目で見えるようにするのが Amazon CloudWatch です。
説明
Amazon CloudWatchは、AWSのリソースやアプリケーションを監視(モニタリング)するサービスです。主に次の4つの機能を持ちます。
- メトリクス … CPU使用率・ネットワーク転送量・リクエスト数などの数値データを時系列で収集する。
- ログ(CloudWatch Logs) … アプリケーションやサーバーが出力するログを集約して保存・検索する。
- アラーム … メトリクスがしきい値を超えたら発火する。例えば「CPUが80%を超えたら通知する」「台数を増やす」。
- ダッシュボード … 複数のメトリクスをグラフにまとめて一目で見られるようにする。
CloudWatchの真価は、アラームをアクションにつなげられる点にあります。しきい値を超えたら、SNSでメール通知したり、Auto Scaling を起動してサーバーを自動的に増やしたりできます。「監視して終わり」ではなく「監視して自動で手を打つ」までがセットです。
flowchart LR
R["EC2 / RDS など"] -->|メトリクス送信| CW["CloudWatch"]
CW --> AL["アラーム しきい値超過"]
AL --> N["SNSで通知"]
AL --> AS["Auto Scaling 台数を増やす"]
具体例
動画変換サービスの運用担当が、CloudWatchで「監視して自動で手を打つ」仕組みを組んだ例です。
- 変換処理用のEC2群のCPU使用率を、CloudWatchのメトリクスで常時収集
- 「平均CPUが70%を5分間超えたら」というアラームを設定
- アラームが発火したら2つのアクションを同時に実行
- SNSで担当者にメール通知(人が状況を把握できる)
- Auto Scalingを起動してEC2を増設(人の操作を待たずに自動で台数を増やす)
- さらにアプリのエラーログをCloudWatch Logsに集約し、「ERRORが1分に10件超えたら通知」も設定
深夜に投稿が殺到しても、担当者が寝ている間にCloudWatchが自動でサーバーを増やし、朝には落ち着いて台数も戻っている——「見える化」だけでなく「自動対応」までつながるのがCloudWatchの真価です。
読んでみよう
CloudWatch は「今どうなっているか(性能・状態)」を見るサービス、と覚えましょう。次のレッスンの CloudTrail(誰が操作したか)とは役割がはっきり違います。