aws

【B-14】 CloudWatch

[学習フェーズ]

CloudWatchとは?

Amazon CloudWatch は、AWS上で動作するリソースやアプリケーションのモニタリング、可視化、通知、ログ管理などを担うフルマネージドサービスです。

主な機能

機能カテゴリ具体例
メトリクス収集EC2 CPU使用率、RDSのディスクI/O、Lambdaの呼び出し回数など
ログ収集アプリケーションログ、システムログ(例:nginx, application.log)
ダッシュボード任意のメトリクスをまとめて可視化
アラーム通知閾値超過時にSNS等でアラートを通知
イベント定期実行や条件トリガーでLambda等を起動(≒ EventBridge)

よく使われる用途

  • EC2インスタンスの死活監視・CPU使用率の可視化
  • ECS / Lambda の実行回数やエラー数のモニタリング
  • アプリケーションのログ集約と検索
  • アラートメールによる早期障害検知

[実践フェーズ]

ここでは「EC2のCPU使用率を監視し、閾値を超えたらSNSでメール通知」してみましょう。

  1. EC2をt2.microにて起動:ログインできること
  2. CloudWatchのメトリクス確認:起動したEC2のCPUを確認
  3. アラームを作成(メトリクスと条件の指定)
    以下のように設定:
    平均:CPU使用率が5分間で70%以上
    統計:平均
    閾値タイプ:静的
  4. アラームを作成(アクションの設定)
    「新しいSNSトピックを作成」
    名前例:cpu-alert-topic
    メールアドレスを入力(確認メールが届く)
    ※ トピック作成後、必ずメール本文の「Confirm subscription」リンクをクリックしてください。
  5. アラームを作成:最終確認後、「アラーム作成」をクリック
  6. テスト(手動でCPU負荷をかける)
    EC2にSSH接続
    以下のコマンドで負荷を発生:
    yes > /dev/null &
    数分後、CPU使用率が上昇し、CloudWatchアラームが発報 → SNS経由でメール通知されます

yes > /dev/null & について
コマンドの意味を学習してみましょう。

②CloudWatch Dashboardsでグラフをまとめてみましょう。(CPU・Memoryなど)