CloudWatchでEC2を監視する方法やメトリクスを詳しく解説

Amazon Web Services(AWS)の監視サービスAmazon CloudWatch(以下、CloudWatchという)を活用したEC2監視の設定方法を詳しく解説します。また、無料かつ5分でEC2監視を始める方法も紹介していますので参考にしてみてください。

目次

CloudWatchでEC2を扱う前に知っておきたいこと

CloudWatchはAWSに構築したシステムを監視するためのサービス郡です。システムのログやCPU、メモリ、ディスク容量などの情報(AWSではメトリクスといいます)を収集し、モニタリング、アクション、分析を行うことができます。CloudWatchには監視するための仕組みが幅広く展開されています。実際に監視設定を行う際は、AWSのCloudWatch以外のサービス(IAMやAmazon SNSなど)を組み合わせて設定をする必要があるため少しわかりにくいかもしれません。そこで、AWSにEC2でインスタンスを立ち上げた後に、どのような監視設定をするのかを紹介します。

CloudWatch以外のAWSサービスも併用する必要があるEC2監視

ここで、CloudWatchでEC2の監視設定をするために必要なAWSのCloudWatch以外のサービスを紹介します。

IAM(AWS Identity and Access Management)

まず設定が必要なのはIAMです。IAMは、AWSのアカウントを作成して、誰を認証 (サインイン) し誰にリソースの使用を承認する (アクセス権限を持たせる) かを制御するサービスですが、AWSサービスが別のAWSサービスを呼び出して利用する際にアクセス権限を付与する設定を行います。EC2の監視設定をする場合には、EC2インスタンスがCloudWatchへアクセスできる権限を付与する設定を行います。

Amazon SNS(Amazon Simple Notification Service )

Amazon SNSはアプリケーションやAWSのサービスからユーザーに通知を可能にするサービスです。通知方法はメールやSMS テキストメッセージング、モバイルプッシュなどを選択することができます。CloudWatchと合わせて使う場合にはアラートを検知した後、Amazon SNSで誰にどんな手段で通知するのかを設定します。

SSM(AWS Systems Manager)

SSMはAWS でインフラストラクチャを表示・制御するために使用できる AWS のサービスです。いろいろな機能がありますが、EC2の監視設定する際の設定で利用します。SSMを利用することで、EC2のWindowsサーバーにリモートデスクトップでログインしなくとも、ブラウザ上でコンソールを実行することができるようになります。

Route53(Amazon Route 53)

Route53はDNS (ドメインネームサービス)を目的に提供するサービスですが、Health Check機能があります。例えば、EC2のポート監視をする際はこれを活用します。

CloudWatchでEC2を監視する方法

EC2でインスタンスを立ち上げると、デフォルトでCloudWatchへメトリクスを送信し監視できるようになります。しかし、デフォルト設定でCloudWatchに収集されている項目は、CPU使用率、デイスク書き込み数、ネットワークI/Oなどのメトリクスに限られています。デフォルトでEC2からCloudWatchへデータを送信している項目は以下になります。

  • CPUUtilization(%): CPU使用率
  • DiskReadBytes(B): ディスクI/O量(読み取り)
  • DiskReadOps(回): ディスクI/O回数(読み取り)
  • DiskWriteBytes(B): ディスクI/O量(書き込み)
  • DiskWriteOps(回): ディスクI/O回数(書き込み)
  • NetworkIn(B): ネットワーク情報量(受信)
  • NetworkOut(B): ネットワーク情報量(送信)
  • StatusCheckFailed(回): 状態
  • StatusCheckFailed_Instance(回): インスタンス状態
  • StatusCheckFailed_System(回): システム状態

これらのデータはEC2のインスタンス一覧から「モニタリング」のタブで確認することができます。

CloudWatchでEC2を監視する手順1

このデータはEC2インスタンスからグラフが確認できますが、CloudWatchでメトリクスを取得しています。

CloudWatchでEC2を監視する手順2

これら以外の情報を収集し、分析、アクションなどの設定をするにはCloudWatchの機能を利用し、設定する必要があります。EC2を監視する際に利用するCloudWatchの主な機能は以下になります。

  • CloudWatch Agent: ディスク使用率やメモリ使用率などの情報を収集します
  • CloudWatch Logs: イベントログやシスログなどログ監視を行います
  • CloudWatch Alarm: 監視したあとにアラームを通知します
  • CloudWatch Dashboard: ダッシュボードをカスタマイズすることができます

各種監視の設定手順

実際にEC2を構築した後に、CloudWatchで監視設定をする具体的な方法は以下のリンクで紹介していますので参考にしてみてください。

このようにEC2の監視はAWSの様々なサービスを連携して実現できます。 ただ、様々なサービスを連携することで設定内容が複雑になり管理が大変になります。サーバー監視において重要なのは障害の早期発見です。監視設定ミス、漏れを防止するためにもサードパーティ製の監視サービスを利用するのも選択肢として検討してみることをおすすめします。

より簡単にEC2の監視を始める方法

EC2を監視する方法としてCloudWatchの設定方法を見てきましたが、ここからはAWS以外のクラウドサービスであるSite24x7(サイトトゥエンティーフォーセブン)を活用した場合のEC2の監視方法について紹介していきます。

Site24x7は、以下に紹介する簡単な操作でCloudWatch APIを活用した連携が可能で、より簡単に始められるだけでなく、運用を効率化し、CloudWatchでは監視できない対象まで監視します。

サインアップ

まず、以下のURLからSite24x7のフリープランにサインアップします。サインアップフォームは非常にシンプルで、メールアドレスとパスワードを入力するのみです。

https://www.site24x7.jp/signup.html?pack=1&l=ja

サインアップするのに1分もかかりません。フリープランを試すのにクレジットカードの入力が不要なので、サブスクリプションタイプにありがちな課金停止漏れが発生しない安心設計となっています。

AWSと連携する

Site24x7にはクラウドサーバー監視でAWSのアカウントを統合し、AWSのさまざまなサービスを監視することができます。今回はAWSのアカウント統合をしてEC2の監視設定をします。

まず、AWSで行う操作手順はこちらをご確認ください。

次に、Site24x7のホーム画面で「監視の追加」をクリックします。

「Amazon Web Services」をクリックします。

AWSアカウントの統合の設定をしていきます。

「AWSアカウントタイプを選択」は「グローバル」を選択して「IAMロールで登録」の記載してある手順を進めて「ロールARN」と「表示名」を入力します。

「ディスカバリーオプション」の「ディスカバリーするサービス」では「EC2インスタンス」のみチェックします。

それ以外の項目については特に変更せず、「AWSリソースのディスカバリー」をクリックします。

これでAWSリソースの監視ができるようになりました。

AWSのアカウントを統合しAWS上でEC2を追加すると、Site24x7では何も設定することなく自動でインスタンスを監視できるようになります。

さらにインスタンスのメモリ内訳の可視化やプロセスの取得など詳細情報を取得するにはEC2にエージェントをインストールします。インスタンスをクリックし、スクロールし、「エージェントのインストール」をクリックします。

エージェントをインストールするEC2はLinuxですので「Linux」をクリックします。

コマンドの実行画面がありますので、この通りコマンドを実行します。たった2行のコマンドを打つだけで詳細情報が取得可能になります。

「サーバーエージェントメトリクス」というタブが追加され、詳細情報の取得状況が確認できるようになります。

各種監視の設定手順

Site24x7でEC2を監視する際のその他の詳細設定については以下のリンク先で解説していますので参考にしてみてください。

まとめ

AWSでEC2を監視するにはCloudWatchで設定することができます。しかし設定するにはAWSのいくつかのサービスを組み合わせる必要があります。一方、Site24x7ではAWSアカウントを登録することで監視設定を一元管理することができます。

Site24x7はスモールスタートも可能です。特に、小さく始めて大きく育てるようなWebサービスにおいては、Amazon CloudWatchと合わせてSaaS型の監視ソリューションであるSite24x7を採用してみてはいかがでしょうか。

プリープランのサインアップはこちら:
https://www.site24x7.jp/signup.html?pack=1&l=ja

プランと価格の詳細はこちら:
https://www.site24x7.jp/pricing.html

関連記事

 

免責事項:ここに記載されているすべての著作権、商標、商号は、元の所有者の所有物です。このWebページに含まれる情報は、一般的な情報提供のみを目的としており、そのような情報は、正確性、信頼性、または完全性について調査、監視、または確認されていません。 当社は、ここに含まれる情報への依存に起因する誤り、または損失に対する責任を明示的に否認します。