Amazon CloudWatchとは

Amazon CloudWatchは、AWSリソースおよびAWS上で実行されるアプリケーションをリアルタイムで監視・管理するためのモニタリングサービスです。サーバーのCPU使用率、ネットワークの通信量、データベースの読み書き回数といった様々なパフォーマンスデータ(メトリクス)を自動的に収集・可視化します。さらに、アプリケーションが出力するシステムログやエラーログを一元的に集約して保存する機能も備えています。単にシステムの健康状態を人間が確認するためのツールではなく、収集したデータに基づいて「CPU使用率が80%を超えたら管理者にメールで通知する」「アクセスが増えたら自動的にサーバーの台数を増やす」といった自動的なアクションを引き起こす起点(トリガー)としても機能する、AWS環境の運用管理において最も中心的な役割を担うサービスです。
具体例
CloudWatchは、病院における「心電図や血圧モニター」のような存在です。患者(AWSリソース)のバイタルサイン(メトリクス)を常に監視し、異常な数値が出た瞬間にナースコール(アラーム)を鳴らして医師(管理者)に知らせたり、自動的に酸素吸入器の出力を上げたり(自動スケーリング)する役割を果たします。
具体的なシステム運用での利用シーンは以下の通りです。
- 障害の早期検知と通知: Webサーバーの応答時間が一定値を超えたり、エラーコード(500番台など)が多発した場合に、Amazon SNSと連携してSlackやメールに緊急アラートを送信し、エンジニアが迅速にトラブル対応できるようにします。
- リソースの自動調整(Auto Scaling): キャンペーンなどでEC2インスタンスの平均CPU使用率が70%を上回ったことをCloudWatchが検知し、自動的に新しいインスタンスを追加して負荷を分散させます。逆に深夜などアクセスが減ってCPU使用率が下がれば、インスタンスを減らしてコストを削減します。
- ログの集中管理: 複数台のサーバーに分散しているアプリケーションのログをCloudWatch Logsに集約し、後から特定のIPアドレスからのアクセス履歴やエラーメッセージをキーワードで横断的に検索・解析します。
もう少し詳しく
CloudWatchは大きく分けて「メトリクス」「アラーム」「ログ」「イベント」という主要な機能で構成されています(※イベント機能は現在Amazon EventBridgeという独立したサービスに進化・統合されていますが、歴史的経緯から関連が深いです)。
AWSの主要なサービス(EC2、RDS、S3など)は、デフォルトで基本的なメトリクスを自動的にCloudWatchに送信します。これを標準メトリクスと呼びます。EC2の場合、ハイパーバイザー(仮想化基盤)から取得できるCPU使用率やネットワーク転送量は自動で取得できますが、OS内部の情報である「メモリ使用率」や「ディスクの空き容量」などは標準では取得できません。これらを取得するには、OS内に「CloudWatch Agent」という専用のプログラムをインストールし、カスタムメトリクスとしてCloudWatchにデータを送信する設定を行う必要があります。
「CloudWatch Logs」は、アプリケーションやOSのログを保存する機能です。保存されたログデータに対して「Metric Filters(メトリクスフィルター)」を設定することで、例えばログ内に「ERROR」という文字列が何回出現したかをカウントし、それを新たなメトリクスとしてグラフ化し、アラームの対象にすることも可能です。これにより、インフラのパフォーマンスだけでなく、アプリケーションレベルのエラーもシームレスに監視できます。
試験でのポイント
CLF-C02試験においてCloudWatchは非常に重要です。「リソースの監視」「パフォーマンスメトリクスの収集」「CPU使用率に応じた通知やアクション」といった要件が出たら、CloudWatchが正解になります。特に、Auto Scaling(自動拡張)をトリガーするための監視役として動作する点は頻出事項です。
また、極めてよく出題される引っかけポイントとして「AWS CloudTrailとの違い」があります。CloudWatchは「システムのリソース状態やパフォーマンス(CPU使用率、エラーログなど)を監視する」サービスです。一方のCloudTrailは「誰がいつAWSのリソースに対してどんなAPI操作(作成、変更、削除など)を行ったかを記録する」監査・コンプライアンス用のサービスです。「パフォーマンス監視=CloudWatch」「API操作の履歴・監査=CloudTrail」という決定的な違いを絶対に間違えないように整理しておいてください。
関連する用語
CloudWatchのアラームをトリガーにしてシステムのサーバー台数を自動的に増減させる「Amazon EC2 Auto Scaling」、通知をメールやSMSなどに配信するフルマネージド型メッセージングサービスの「Amazon SNS」、そしてよく対比して出題される、AWSアカウント内で行われたAPI操作の履歴を記録しセキュリティ監査に利用される「AWS CloudTrail」などが重要な関連用語です。