2023.09.14

【AWS入門】Amazon CloudWatchを活用してシステム監視を自動化しよう!

オンプレミスからAWSを利用してクラウド環境に移行した際、注意したいことの一つにシステム監視の問題が挙げられます。そこで知っておきたいのが、「Amazon CloudWatch」(以降CloudWatch)の存在です。CloudWatchを利用すると、AWSの安定した運用が実現できます。今回の記事では、 CloudWatchの基礎知識や利用する際のメリット、CloudWatchの活用例などを紹介します。

Amazon CloudWatchとは?

まず、Amazon CloudWatchに関する基礎知識から解説します。

Amazon CloudWatchの概要

CloudWatchは、Amazon EC2(以降EC2)やAmazon RDS(以降RDS)などをはじめとした、AWS上で動作する各種サービスを運用・監視できるAWSサービスの一つです。基本機能は無料で利用でき、導入やインストールは不要で、すぐに使い始められます。また、AWS上で複数の仮想サーバーを稼働している場合も、単一のプラットフォームを利用して、すべてのシステム監視が可能です。パフォーマンスの最適化や、CPUやストレージなどのリソース使用率の管理、システム全体の状態把握に大きな力を発揮してくれるサービスです。

CloudWatchのより詳しい内容について知りたい方は、こちらの記事をご参照ください。

AWS活用法 | AWS運用管理の定番!「Amazon CloudWatch」でできること

なぜ監視が必要?

続いて、システム監視の重要性について解説します。監視の役割としては、以下の2点が挙げられます。

  • 1.
    システム異常を即座に検知し、できるだけ早く問題を解消するため
  • 2.
    リソースの利用状況を監視して必要に応じてスペックを変更しながら、最適なリソース配分を実現するため

企業によっては、年中無休で稼働するため、停止が許されないシステムを運用していることもあるでしょう。システムの重要度が高いほど、比例して監視体制の重要度も高まっていくものです。自社の重要なシステムが突然停止すれば、取引先やユーザーにも大きな損害を与えかねません。こういった理由から、システム異常の素早い探知や利用状況の把握などの運用監視は、極めて重要だと考えられています。

一般的な監視システムとの違いは?

CloudWatchは、AWSが標準で提供しているサービスです。そのため、他の一般的な監視ツールよりも、AWSの各種サービスとの親和性が高いという特長があります。また、オープンソースの監視ツールを使うときのような初期セットアップは不要で、設定すればすぐに利用できます。

CloudWatchは運用業務を簡易化するために設計されており、イベントスケジュールの管理やダッシュボードを通じた情報の可視化など、多くの機能が事前に提供されています。したがって、管理や自動化の実装にかかる手間を、最小限に抑えることができます。AWS環境での監視業務の複雑さを減らし、効率的でスピーディーな監視体制を実現できるのがCloudWatchです。

Amazon CloudWatchを利用するメリット

CloudWatchを利用するメリットとしては、主に以下の3点が挙げられます。

メトリクスを収集することで、リソース配分の最適化をスムーズに行える

CloudWatchを利用すれば、AWSを安全に運用するために必要なメトリクスの収集が可能です。「メトリクス」とは、特定のデータを時系列にまとめた数値のことです。評価や測定を行う際に使う基準や尺度として利用されています。CloudWatchを使えば、EC2のメモリ使用率やCPU使用率、ネットワークの転送量などをメトリクスとして取得し、システムのパフォーマンスやリソースの使用状況を簡単に把握できます。定期的にメトリクスを収集して確認することで、サーバーの負荷度合いやCPU使用状況など自社システムの現状を随時チェックできるため、不足や不具合、過度な使用状況などをいち早く察知できるのです。また、必要に応じてリソースの最適化を行えるため、運用コストやAWSの利用料金の削減にもつながります。なお、メトリクスの料金体制は、EC2などと同じ従量課金制です。無料利用枠も用意されており、システム監視で一般的にチェックする基本メトリクスは、5分間隔などの制限はあるものの、すべて無料で利用できます。

気軽に始められる

オープンソースの監視ツールであるZabbixなどと違い、CloudWatchは初期準備がほとんど不要です。AWSのクイックスタートページに設置の「導入チュートリアル」を利用すれば、たった10分でCloudWatchを開始できます。さらに、無料利用枠が用意されているため、初期費用をかけずに気軽に始められます。クイックスタートを活用すれば、AWSの各種サービスとの連携も簡単に行えます。

機能が豊富でカスタマイズ性も高い

CloudWatchには、システム監視に求められるさまざまな機能が既に搭載されています。例えば、以下のような機能です。

  • アプリケーション、サービスなどのログをリアルタイムで収集保存できる「Logs機能」
  • AWSリソースの変化などをトリガーにしたアクション実行を自動化できる「Events機能」
  • メトリクスの値に条件を指定し、指定した値を超えた場合などに通知する「Alarm機能」

これらの機能を無料枠の範囲ですぐに利用できるのも、CloudWatchのメリットです。また、注目すべきは、ダッシュボード機能のカスタマイズ性の高さです。チェックしたい情報を運用者の好きな形で抽出し表示できるため、エンジニアが分析しやすい環境を作れます。

Amazon CloudWatchの活用例

ここからは、CloudWatchの各種機能を使用して「どのようなことを実現できるのか」を解説します。「自社システムにCloudWatchを導入するなら?」と、シミュレーションしながら読んでください。

IaaSの監視を行う場合

CloudWatchでIaaS(EC2)の監視を行う場合、死活監視やリソース監視、ログ監視などが可能です。下記の表を参照してください。

監視項目 監視項目の概要 方法
死活監視 稼働中や停止中など、EC2インスタンスの状態の検知、ネットワーク異常などのステータスの検知 Events機能で検知→Alarm機能で通知
リソース監視 CPU・メモリー・ディスクの使用率などのデータをメトリクスとして収集 Alarm機能でしきい値を設定し、設定値を超えた場合などに通知
ログ監視 OSシステムログやアプリケーションで出力したログファイルのテキストデータを収集 Logs機能で収集、条件に一致したログテキストを検出→Alarm機能で通知

ご覧のとおり、システム監視に必須な基本の監視項目は、無料枠で十分に事足ります。ただし、監視したい項目や設定したいルールにより、無料枠で対応できないこともあるため、有料利用枠の検討が必要なケースもあるでしょう。なお、有料枠も無料枠と同様に初期費用はかからず、必要分だけを支払う従量課金制となっています。

PaaS/SaaSの監視を行う場合

CloudWatchでPaaS/SaaSの監視を行う場合は、状況監視やパフォーマンス監視、ログ監視などが可能です。下記の表を参照してください。RDSとCloudWatchを連携させたケースを例に出して解説します。

監視項目 監視項目の概要 方法
状況監視 データベースインスタンスの停止や状態の変化など、サービスのイベントを検知 Events機能で検知→Alarm機能で通知
パフォーマンス監視 ストレージの空き容量、ディスクの書き込みI/Oの操作数などの情報をメトリクスとして収集 Alarm機能でしきい値を設定し、設定値を超えた場合などに通知
ログ監視 RDSが出力したログを収集 Logs機能で収集、条件に一致したログテキストを検出→Alarm機能で通知

IaaSの監視時と同様、無料枠の範囲で標準メトリクスの収集が可能です。ただし、RDSのデータベースインスタンスが利用するメモリなどのデータ収集は、有料枠(カスタムメトリクス)の範囲となります。また、無料枠の監視間隔は5分です。そのため、監視システムを設計する際は、無料枠で自社が求めている監視体制をどこまで実現できるのかを注意しながら検討する必要があります。

まとめ

Amazon CloudWatchは、AWS上でのシステム監視に欠かせないサービスです。AWS内のサービスにスムーズに統合でき、EC2、RDS、Amazon ECSなどとの組み合わせで、効果的で効率的な監視体制を整えることができます。さらに、Alarm、Events、Logsなど多彩な機能が提供されており、必要に応じて柔軟にカスタマイズも可能です。AWS環境でのシステム監視を開始する際は、CloudWatchの使いやすさをフル活用して、AWSの運用管理の安全性を確実なものにしましょう。
ご利用やAWS導入をお考えの方は、お気軽にご相談 新規ウィンドウで開くください。

関連サービス

導入のお問い合わせはこちら

AWSやAmazon WorkSpacesの導入から接続回線、運用・保守まで何でもお任せください。

お問い合わせ

TOPへ戻る