[学習フェーズ]
CloudWatchとは?
Amazon CloudWatch は、AWS上で動作するリソースやアプリケーションのモニタリング、可視化、通知、ログ管理などを担うフルマネージドサービスです。
主な機能
機能カテゴリ | 具体例 |
---|---|
メトリクス収集 | EC2 CPU使用率、RDSのディスクI/O、Lambdaの呼び出し回数など |
ログ収集 | アプリケーションログ、システムログ(例:nginx, application.log) |
ダッシュボード | 任意のメトリクスをまとめて可視化 |
アラーム通知 | 閾値超過時にSNS等でアラートを通知 |
イベント | 定期実行や条件トリガーでLambda等を起動(≒ EventBridge) |
よく使われる用途
- EC2インスタンスの死活監視・CPU使用率の可視化
- ECS / Lambda の実行回数やエラー数のモニタリング
- アプリケーションのログ集約と検索
- アラートメールによる早期障害検知
[実践フェーズ]
ここでは「EC2のCPU使用率を監視し、閾値を超えたらSNSでメール通知」してみましょう。
- EC2をt2.microにて起動:ログインできること
- CloudWatchのメトリクス確認:起動したEC2のCPUを確認
- アラームを作成(メトリクスと条件の指定)
以下のように設定:
平均:CPU使用率が5分間で70%以上
統計:平均
閾値タイプ:静的 - アラームを作成(アクションの設定)
「新しいSNSトピックを作成」
名前例:cpu-alert-topic
メールアドレスを入力(確認メールが届く)
※ トピック作成後、必ずメール本文の「Confirm subscription」リンクをクリックしてください。 - アラームを作成:最終確認後、「アラーム作成」をクリック
- テスト(手動でCPU負荷をかける)
EC2にSSH接続
以下のコマンドで負荷を発生:
yes > /dev/null &
数分後、CPU使用率が上昇し、CloudWatchアラームが発報 → SNS経由でメール通知されます
+α
①yes > /dev/null & について
コマンドの意味を学習してみましょう。
②CloudWatch Dashboardsでグラフをまとめてみましょう。(CPU・Memoryなど)