AWSのAmazon CloudWatchとは?代表的な機能と設定方法

この記事でわかること
- Amazon CloudWatchは、AWSがマネジメントサービスとして提供しているシステム監視の仕組みのこと。
- Amazon CloudWatchでは、監視用のダッシュボード、ログ管理、アラーム通知、ログの分析といった機能が提供される。
- Amazon CloudWatchは、構築作業が不要で利用のハードルが低い一方で、追加費用が掛かるケースがあるため注意が必要。
アマゾン ウェブ サービス(AWS)を始めとしたクラウドサービスでシステムを運用する際には、システムが安定稼働しているかを監視するための仕組みが欠かせません。そこで、AWSにおいては、利用者がシステムを監視するためのマネージドサービスとしてAmazon CloudWatchが提供されています。Amazon CloudWatchは、監視用のダッシュボード、ログの管理、アラーム通知といった、システム監視で必要とされる機能が備わった便利なサービスです。
本記事では、Amazon CloudWatchの基本的な概要や機能を始めとして、利用する際のメリットやデメリット、具体的な設定方法についても解説します。
「AWSの概要を詳しく知りたい方はこちら」
※当記事は2024年12月に書かれたものであり、以後に展開された最新情報が含まれていない可能性がございます
●Amazon CloudWatchとは?
Amazon CloudWatchは、AWSが提供するモニタリングサービスです。AWSにおいては、仮想サーバ、ストレージ、データベースといったさまざまなリソースやアプリケーションが稼働していますが、Amazon CloudWatchを活用することで、これらのパフォーマンスを効率的に監視することができます。Amazon CloudWatchは、システムの監視に必要な機能の集合体であり、いくつかの代表的な機能を組み合わせて使うケースが一般的です。
また、Amazon CloudWatchは無料枠が設定されていることも大きな特徴です。利用する機能やデータ量に応じて、従量課金でコストが発生する仕組みとなっています。
●Amazon CloudWatchの代表的な機能
Amazon CloudWatchには、システム全体の監視をサポートする機能が実装されています。ここでは、Amazon CloudWatchの代表的な機能について解説しましょう。
・Amazon CloudWatch Metrics(メトリクス)
CloudWatch Metricsは、AWS上のリソースにおける定量的なパフォーマンスデータを指します。メトリクスにはCPUやメモリの使用率、データベースへの書き込み回数などが該当します。
例えば、ある仮想サーバ(Amazon EC2)のCPU使用率が80%を超えた場合に、システムの安全性に懸念があるとみなし、Amazon CloudWatchから警報を発するといったユースケースが一般的です。
・Amazon CloudWatch Logs (ログ)
Amazon CloudWatch Logsは、AWS上のリソースがどのような状態にあるかを記録したログを扱う仕組みです。例えば、仮想サーバ(Amazon EC2)におけるアクセスログやエラーログなどを取得してストレージ(Amazon S3)に保管する、ログの内容に基づいてSNSなどの通知サービスに転送するといったことが可能になります。
・Amazon CloudWatch ダッシュボード(ダッシュボード)
Amazon CloudWatch ダッシュボードを利用することで、AWSで多数のリソースを監視している場合でも、各リソースの状態を一覧化できます。ダッシュボード上では、各リソースの稼働状況を一覧化する、リソース別の詳細を確認するといったことが可能です。また、監視したいリソースが複数のアカウントやリージョンに分散していたとしても、一元的に管理することができます。
・Amazon CloudWatch Alarms(アラーム)
Amazon CloudWatch Alarmsは、AWS上のリソースで何らかの変化や異常があった際に、設定されたメトリクスに沿ってシステム管理者に通知を行うための仕組みです。特定の条件を満たした際に、自動的に警報を発する仕組みを構築できることから、システム監視の省人化につなげることが可能です。
例えば、仮想サーバ(Amazon EC2)のCPUやメモリ、ディスクの使用率が一定の値を超えた際に警報メールを発信する、他のマネジメントサービスと連携して自動スケーリングを行うなどの対応が可能になります。
・Amazon EventBridge(Amazon CloudWatch Events(イベント))
Amazon CloudWatch Eventsは、AWSリソースの状態変化を契機にAWS Lambdaを始めとしたプログラムを起動させるなどのアクションを起こすことができる仕組みです。現在は、Amazon EventBridgeというサービスに置き換わっており、新機能の追加やサービス改善は、Amazon EventBridgeに対して実施されています。
・Amazon CloudWatch Logs Insights(分析)
システムの継続的な改善のためには、運用の中で得られた情報を分析することが重要です。Amazon CloudWatch Logs Insightsを活用することで、Amazon CloudWatch Logsで収集したシステムログを特定条件に基づいて抽出し、効率的に分析することができます。一方、分析対象のデータ量によって従量課金でコストがかかることに注意が必要です。
●Amazon CloudWatchのメリット・デメリット
Amazon CloudWatchにはシステム監視に利用できるさまざまな機能が実施されている一方で、利用に際して注意すべき点もあります。ここでは、Amazon CloudWatchのメリットとデメリットについて解説します。
・メリット
Amazon CloudWatchはAWSから提供されるサービスであることから、ユーザー側での構築作業が不要で、手軽に導入できることが大きなメリットです。AWS上に仮想サーバを追加した際にも自動的に監視対象と追加されることから、システム運用環境の変化に適応できる仕組みといえるでしょう。
また、Amazon CloudWatchは他のAWSサービスと円滑に連携できることも嬉しいポイントです。例えば、Amazon EventBridge(旧Amazon CloudWatch Events)といったサービスを用いることで、AWSリソースの変化をきっかけとして、他のAWSサービスを起動させるといった複合的な対応が可能になります。さらに、Amazon CloudWatch Logsで取得したログをAmazon S3などのストレージに自動的に格納するといった連携も可能です。
さらに、Amazon CloudWatchではAmazon EC2といった仮想サーバを始めとして、Amazon RDS、Amazon DynamoDBなどのデータベースも監視対象にできますので、AWSで扱うリソースを横断的に監視することができます。
・デメリット
先述のように数多くのメリットがあるAmazon CloudWatchですが、注意すべきデメリットもあります。
まず、Amazon CloudWatchは基本的にはAWS内部のリソースを監視する仕組みであり、そのままではオンプレミスのシステムを監視対象に含められないことに注意が必要です。オンプレミスで構築されたシステムも併せて監視したい場合は、オンプレミス側にAmazon CloudWatchのエージェントをインストールする必要があります。
また、システム監視の要となるメトリクスには保存期限があることにも注意しましょう。現在はAmazon CloudWatchに集積したメトリクスデータは15ヵ月保存されることになっています。CloudWatch Metric Streamsという仕組みを使うことで、長期保管も可能となりますが、Amazon Data Firehoseといった配信用のサービス等を併用する必要があるため、AWSのノウハウがある場合に利用されるケースが多いでしょう。
さらに、Amazon CloudWatchは利用すること自体は無料であるものの、ログの保管や分析を行う際にコストがかかることに注意が必要です。
●Amazon CloudWatchの設定方法
ここでは、実際にシステムを監視するにあたってAmazon CloudWatchの設定方法について解説します。
・監視計画を立てる
Amazon CloudWatchの設定にあたっては、どのような形でシステム監視を行うかの監視計画の立案が必要です。具体的には、AWS上のどのリソースを監視したいのか、監視の目的やログを取得する頻度、警報を発する際の基準などを検討します。ここで検討した内容が、メトリクスやアラームの設定を考える際の材料になるため、監視対象システムの目的、用途、ユーザーの意向などを踏まえて慎重に決定することが重要です。
・CloudWatchコンソールから初期設定を行う
監視計画を立てた後は、Amazon CloudWatchのコンソールから初期設定を行います。ここでは、監視対象リソースの指定、リソースの監視するためのメトリクス等の設定が中心となります。
Amazon CloudWatchのコンソールを使用する際には、適切な権限が割り当てられたユーザーアカウントが必要になりますので、事前に準備しておきましょう。
・ダッシュボードを作成する
初期設定と併せて、コンソール上からダッシュボードを作成しておくとシステム監視の業務に役立ちます。ダッシュボードを作成することで、AWS内部のリソースを横断的に把握し、定期的にレポートを作成するなどの対応が可能です。
また、ダッシュボードは視覚的でわかりやすい画面構成となっており、GUIでの直感的な操作ができますので、コマンド操作が求められる監視ツールに比べて使いやすくなっています。
●Amazon CloudWatchによって容易な監視設計が可能に
本記事では、AWSにおける監視サービスであるAmazon CloudWatchの仕組みについて解説しました。Amazon CloudWatchはAWSのマネージドサービスであることから、初期のシステム構築が不要であり、システム監視の仕組みを手軽に組み立てることが可能です。また、他のAWSサービスとの連携も容易であり、ログの収集も可能であることからシステム監視の業務を効率化することにもつながります。
一方で、ログの保管やメトリクスのカスタマイズ等にはコストがかかることには注意しましょう。
AWSの監視設計に関して、自社で対応することに課題を感じている場合は、AWSパートナーに依頼することをおすすめします。
サーバーワークスではAWS環境のリソース監視やインシデント対応を包括的にサポートし、システム障害の早期発見と迅速な対応を実現しています。これにより、ビジネスの継続性を確保し、サービス品質を向上させることができます。AWSの運用・監視にお困りの際は、ぜひご相談ください。