Amazon CloudWatchとは?
Amazon CloudWatchとは、AWSが提供する「フルマネージド運用監視サービス」です。具体的には、AWSのリソースやAWSで実行されているアプリケーションの利用状況を監視できるサービスです。
Amazon CloudWatchでは、ログやメトリクス、イベントデータといったデータを取得し、ダッシュボードを用いて表やグラフなどを表示できます。Amazon CloudWatchでは他にも、監視対象の変数や特定の条件に応じて予め設定しておいた動作を実行でき、監視サービスの運用や保守全般を担えます。
Amazon CloudWatchの仕組み
Amazon CloudWatchの仕組みは、AWS リソースと AWSで実行されるアプリケーションのモニタリングを行うために、「メトリクス」と呼ばれるAWSの利用状況に関するデータを収集します。
Amazon CloudWatchでは、収集したメトリクスをリポジトリに保存します。ただし、リポジトリに保存できるメトリクスは、Amazon EC2やAmazon RDSといった利用するサービスによって異なります。
そのため、Amazon CloudWatchを通じて監視対象となるサービスや、どのようなメトリクスを収集するかをダッシュボードの管理画面で設定しておきましょう。
Amazon CloudWatchでできること
Amazon CloudWatchは、「ログ」「アラーム」「メトリクス」「ダッシュボード」といった主たる4つの機能が利用できます。ここでは、各項目について詳しく解説します。
- AWSのサービスやリソースの監視
- 条件に応じたアラームの通知
- イベント実行の自動化
- ダッシュボードによる可視化
AWSのサービスやリソースの監視
Amazon CloudWatchでは、AWSで提供されている様々なサービスやリソースの監視が可能です。例えば、Amazon EC2のインスタンスの稼働状態やCPU使用率、ネットワークの状態などを監視できます。監視対象は、CPUやメモリ、ディスクといった性能ごとに設定できます。
また、Amazon CloudWatchはさらに、保管場所となるリポジトリにOSやアプリケーションが出力したテキスト情報をログとして収集できます。サービスやリソースを監視することで、エラーメッセージの発生時刻やエラー内容を確認でき、問題発生時の原因特定やトラブルの解決に役立ちます。
条件に応じたアラームの通知
Amazon CloudWatchは、指定した条件に応じてアラーム設定や通知機能を使用できます。
具体的には、Amazon CloudWatchで取得したログやメトリクスが一定の条件を満たした際にリアルタイムで通知設定ができます。アラーム設定の条件としては、CPU使用率、ディスクの読み取り、書き込みなどが挙げられます。
アラームの通知では、AWSのサービス利用状況に応じて変化が生じた際に、自動検知してくれるため、トラブルの早期発見や、必要に応じたリソースの増強といった対処に役立ちます。
イベント実行の自動化
Amazon CloudWatchでは、メトリクスに対して条件設定を満たした時にAWS上での操作を自動的に行えます。さらに、イベント実行の自動化は、AWSのサービスと組み合わせることも可能です。
例えば、プログラムコードを実行するサービス「AWS Lambda」と組み合わせることで関数を呼び出せます。他にも、AWS クラウドで実行されるアプリケーションとインフラストラクチャの管理する「AWS Systems Manager」と組み合わせて、Amazon CloudWatchでのRunコマンドを自動的に実行させてサーバーの設定変更もできます。
ダッシュボードによる可視化
ダッシュボードとは、Amazon CloudWatchで収集したメトリクスを表やグラフとして表示させる機能のことです。Amazon CloudWatchでは、取得したメトリクスをダッシュボードで可視化し、AWS上のサービス利用状況の分析や運用改善に役立てられます。
さらに、ダッシュボードでは、画面上に表示させたいメトリクスをカスタマイズできます。例えば、監視対象としてCPU使用率とリクエスト数がある場合は、相関性があるメトリクスとして組み合わせてダッシュボードに表示することでサービスの利用状況を詳しく分析できます。
Amazon CloudWatchのメリット
Amazon CloudWatchは、これまでのシステム監視ツールと比べて便利な機能があります。ここからは、Amazon CloudWatchを導入するメリットについて解説します。
サーバーが増えた場合も自動で監視できる
これまでの監視ツールでは、あらかじめ設定した対象を順番にチェックするPolling型の監視方法が採用されています。Polling型の監視ツールは、サーバー増設といった監視対象が増えるためにデータの設定が必要となります。
さらに、AWSが提供するサービスには、リソースの利用状況に応じてサーバーが自動的に増減する「オートスケーリング」機能があります。Polling型の監視ツールでは、自動的に増減するたびに監視ツールを再設定する必要があります。
Amazon CloudWatchでは、監視対象が自動的に追加されるPush型が採用されています。そのため、サーバー増設にあたっては、Amazon CloudWatchが自動的に検知して監視対象と設定するため、監視運用を効率的に行います。
AWSのマネージドサービスも監視できる
Amazon CloudWatchは、AWSが提供するマネージドサービスに対応しています。さらに、AWSのサービスによってサーバーがないマネージドサービスについても監視できます。
一般的な監視ツールでは、サーバーがあることを前提としてストレージといった機器の監視モニタリングを行います。そのため、AWSが提供するマネージドサービスによっては、サーバーを介さないため監視できません。
Amazon CloudWatchは、こうしたサーバの有無にかかわらず、マネージドサービスからメトリクスやログを取得し、監視対象を設定できます。
AWSの他のサービスと連携しやすい
Amazon CloudWatchは、AWSが提供する数多くのサービスと連携して使えることもメリットです。例えば、大容量のストレージサービス「Amazon S3」と組み合わせて、Amazon CloudWatchで監視して取得したメトリクスやログデータをAmazon S3に格納できます。
さらに、Amazon S3に移行したメトリクスは、サーバーがなくても分析するサービス「Amazon Athena」とも連携が可能です。
Amazon CloudWatchのデメリット
Amazon CloudWatchを初めて導入する際は、メリットとデメリット、それぞれ照らしあわせて比較検証するのがおすすめです。Amazon CloudWatchのデメリットとして挙げられるのは、次の通りです。
AWS以外のシステムの監視が難しい
プロジェクトやサービスによっては、AWS以外の外部システムが導入されているケースがあります。Amazon CloudWatchは、AWS上の監視において重要な役割を果たします。しかし、標準機能では、オンプレミス環境で稼働するアプリなどを監視できません。
そのため、Amazon CloudWatchで監視したい場合には、外部システムを監視できるソフトウェア「Amazon CloudWatchエージェント」を利用します。
さらに、独自のメトリクスをカスタムする必要があり、設定までの手間や作業コストが増えます。必要に応じて、Amazon CloudWatch単独でなく、他の監視ツールとの使い分けを検討しましょう。
メトリクスの保存期間が限られる
Amazon CloudWatchは、監視で取得できるメトリクスの保存期間が定められています。保存期間は、データポイントの間隔によって異なるため、それぞれの期間を紹介します。
保存期間が1時間ごとのデータポイントの場合は、約15ヶ月間と設定されています。保存期間は、データポイントの間隔が短くなるほど期間が短くなり、5分ごとのデータポイントは63日間、1分ごとでは15日間、60秒未満のデータポイントは3時間と保存期間が短くなります。
また、Amazon CloudWatchでは15 ヶ月以上の保存は有償となり、長期間のメトリクスも分析できません。Amazon CloudWatchにおいては、メトリクスの長期的な保存とデータ活用したい場合は、Amazon S3といったストレージサービスを併用しましょう。
出典:AWS「CloudWatch Metrics の保存期間延長と新ユーザーインターフェイス」
※2024年5月時点での情報を基に作成しております。
Amazon CloudWatchの料金設定
Amazon CloudWatchは、無料と有料によって利用できる機能が異なります。まず、無料版で利用できる機能は次の通りです。
- 標準でAWSサービスから送信されるメトリクス
- 10メトリクスまでのカスタムメトリクスと詳細モニタリングメトリクス
- 100万件までのAPIリクエスト(GetMetricData、GetInsightRuleReport、GetMetricWidgetImageを除く)
- 全ての自動ダッシュボード
- 1か月あたり最大50メトリクスを参照する3つのカスタムダッシュボード
- 10アラームメトリクス(Metrics Insightsクエリを使用しないアラームのみ)
- 5GBまでのログデータ
- カスタムイベントを除く全てのイベント
Amazon CloudWatchの無料版では、機能によって回数制限が設けられています。Amazon CloudWatchでリアルタイムにデータ分析できる「Contributor Insights」は、1か月ごとに1回、スクリプトを自動実行する「Canary」は1か月ごとに100回まで使用できます。
Amazon CloudWatchの有料版では、定額制ではなく、機能を使用した分量に応じて金額が決まる従量課金方式を採用しています。また、有料版は利用する機能の種類やリージョンによって料金が変わります。例えば、日本で利用する場合に該当する「アジアパシフィック(東京)」のリージョンでは、カスタムダッシュボードの利用時に、1つのダッシュボードにつき1か月で3ドルがかかります。
Amazon CloudWatchの料金は時期によって変動するため、最新の情報を確認しましょう。
Amazon CloudWatchを使う際の流れ
Amazon CloudWatchでは、多くの機能を有しているため、順序立てながら設定を行っていきます。ここでは、Amazon CloudWatchの初期導入時や使う際の流れを解説します。
1. 監視の対象や目的、頻度などを整理する
まずは、Amazon CloudWatchを通して何を監視するのか、監視する目的や頻度、アラートの有無などを整理しましょう。
例えば、次のようなケースが考えられます。また、複数の監視対象がある場合には、優先順位も整理しておくことも必要です。
Amazon EC2のCPU使用率を監視したい場合:
Amazon CloudWatchを通して、AWS上で開発したシステムの負荷を計測し、CPU使用率に対してインスタンスの拡張を行います。
「AWS CloudTrail」のログを監視したい場合:
AWS CloudTrail ログをモニタリングできるように、Amazon CloudWatchでログが記録されるたびにイベント送信するような追跡設定を行います。
2. CloudWatchコンソールから設定を行う
Amazon CloudWatchでは、管理画面のCloudWatchコンソールから初期設定ができます。
CloudWatchコンソールへのログインは、AWS登録時のアカウントでのサインインで利用できます。
Amazon CloudWatchコンソールでは、監視したいAWSのサービスのインスタンスを指定でき、メトリクスの種類や自動的にアクションさせる条件も設定できます。
3. 必要に応じてダッシュボードを作成する
ダッシュボードは、初期設定として作成をおすすめします。とくに、Amazon CloudWatchでの監視頻度が多い場合やAWSサービスの運用状況を定期的にレポーティングしたり、AWSサービスの運用状況を定期的にレポーティングするケース、特定のメトリクスの状態を確認したい場合にはおすすめです。
また、ダッシュボードに表示する項目については、CloudWatchコンソールから設定できます。監視対象のリソースやメトリクスを指定し、ダッシュボード上でドロップアンドドラッグすることで監視しやすいレイアウト作成ができます。作成したダッシュボードは、アクセス権限を指定した上で他のユーザーと共有することも可能です。
Amazon CloudWatchを活用しよう
Amazon CloudWatchは、AWSを利用したサービスやリソースを監視し、条件に応じた操作を自動的に実行できるツールです。また、アラーム通知を出したり、ダッシュボードでAWSの利用状況を可視化したりすることもできます。
AWSの運用や管理に携わる方は、Amazon CloudWatchをぜひ活用してください。
- AWS運用管理・自動化ツール「クラウドポータル」
-
「はじめてでも運用できる」 「もっと使いこなせる」 独自開発ツール
- マネージドクラウド with AWS
-
はじめてのAWSから 一歩進んだ活用までトータルサポート
お役立ち資料をダウンロード
「AWS運用管理・自動化ツール「クラウドポータル」」のダウンロードをご希望のお客様は、
以下必要事項をご入力ください。