awsのネットワーク障害を監視するにはAmazon cloudwatchが最適な理由

今や世界中で多くの企業に採用されているawsは、多彩なサービスラインナップが特徴の一つです。そしてそのサービスの中には、システム監視サービスのAmazon cloudwatchがあります。aws上でネットワーク障害を監視するには、このAmazon cloudwatchの利用がとても有効です。

ここではcloudwatchの特徴やメリット、料金、ネットワーク障害の監視方法などについてまとめてみました。

→awsでdynamodbを運用するときの監視方法のポイント

awsとは

awsとは「Amazon Web Service」の略称で、その名の通りインターネット通販大手のAmazon社が運営するクラウドコンピューティングサービスです。元々はAmazonが自社内の膨大なデータを管理するために構築したシステムですが、現在では広く公開されています。

awsの大きな特徴は、提供されるサービスのラインナップが非常に豊富な点です。仮想サーバや仮想データベースなどのインフラ系サービスから、開発者向けの高度な解析ツールなどの専門性の高いサービスまで、実に170以上のサービスが揃っています。

もう一つの特徴はセキュリティーの強固さです。世界中の名だたる大企業をはじめ、インターネット銀行や軍事機関などがクライアントになっている点からも信頼度の高さを窺い知ることができます。awsの利用開始は非常にシンプルです。

ネットワーク上で基本事項に同意し、企業名や連絡先のアドレス、利用料金請求用のクレジットカード番号などを登録するだけですぐサービスの提供を受けることができます。またawsの使用料は従量課金制となっており、月々の基本料金などは基本的に発生しません。

「使った分だけ支払えばよい」と考えれば経済的ですが、「使えば使うほど費用がかかる」という側面もありますので、料金の監視をしておかないと請求書を見て驚くことになりかねません。

Amazon cloudwatchとは

Amazon cloudwatch(以下cloudwatch)は、awsが提供するサービスの一つです。aws上の様々なアプリケーションのパフォーマンス状況などを監視し、最適化を行います。また、異常を検知した際はメールなどでアラームを通知することが可能です。

監視対象から吐き出されたログデータは視覚的に認識しやすい「メトリクス」という形式で表示されます。更にcloudwatchはシステムの監視を行うだけでなく、リソースの最適化も行います。監視対象のアプリケーションの負荷をモニタリングし、状況に合わせてサーバを増設したり削減したりするオートスケール機能により、負荷が分散され常に快適なシステム環境が整えられます。

尚、監視対象に異常を検知した場合は、予め「再起動」「アラーム通知」などのアクションを設定しておくことができ、異常検知後すぐに自動でアクションを起こすことで障害を最小限に留めることが可能です。

cloudwatchのメリット

cloudwatch最大のメリットは、awsとの親和性の高さです。aws上で使用することを前提に設計していることを考えれば当たり前のようではありますが、この点は非常に重要なポイントといえます。なぜなら、aws上のシステム監視には既存のシステム監視ツールだと馴染みにくい点が多いからです。

まず、既存のシステム監視ツールでは、監視対象として最初にサーバを指定し、そのサーバの配下のアプリケーション等を順次監視対象に指定する形で設定を行うのが一般的です。ところが、awsのシステムではサーバ自体が存在しないケースもあるため、設定がかなり複雑になってしまいます。

更に、既存のツールでは監視対象に随時状況を問い合わせる形でパフォーマンス状況を把握するPolling型を取るものが一般的です。しかし、上述の通りawsはオートスケールに対応しているため、監視対象が固定されていません。

サーバが増減する度に監視対象を追加・削除するのは現実的とはいえないでしょう。一方、cloudwatchは監視対象が追加された場合でも、追加されたサーバから自動的に通知が送られるPush型を採用しているため、スムーズな運用が可能です。

cloudwatchのもう一つのメリットは、初心者にも使い易い設計になっている点です。まず導入が非常に簡単です。EC2のインスタンスを開くと自動的に使用可能な状況になっているため、インストールすら必要ありません。

各種初期設定も視覚的に認識しやすい画面設計となっており、監視対象を順次選択し、監視内容や閾値の設定、閾値を超えたり異常を検知した際のアクションやアラームの通知先などを画面の順番に沿って指定するだけで簡単に実行することができます。

監視結果は視覚的に分かりやすいグラフ状のメトリクスとして表示されるため、監視対象から吐き出されるログデータを解析し、Excelなどを使ってグラフ化するなどの面倒で高度な知識を必要とする作業は不要です。更にcloudwatchには使用料金の監視機能も備わっています。

awsが従量課金制度を採っていることを鑑みると、この機能は大変便利な機能と言えるでしょう。上述の通り、監視対象に「aws使用料金」を設定し、閾値に「〇ドル」と金額を入力しておけば、月の使用料金が設定額に達した時点でアラームが送信されるため、料金が思いがけず高額になってしまうことを防ぐことも可能です。

cloudwatchの料金

cloudwatchの料金はawsと同様に従量課金制となっています。しかし、基本的な項目のみの監視であれば無料枠内で利用することが可能です。無料枠で利用可能な内容は、5分間隔の「基本モニタリング」に加え、1分間隔の「詳細モニタリング」もメトリクス10個まで可能になります。

さらにアラームは10件まで、ログデータは5GBまでが無料枠内で利用可能です。これを超える場合は、超えた部分について料金が発生します。無料枠内でもかなり充実したサービスを受けることができるため、まずは無料枠内で利用を開始してみることをお勧めします。

cloudwatchでネットワーク障害を監視する方法

cloudwatchでは、EC2(aws上の仮想サーバ)のネットワークについてはデフォルトでモニタリングの対象になっています。従って、特に設定を行わなくても、管理画面で「メトリクス」の中から「EC2」を選択すれば、「NetworkIn(受信ネットワーク)」「NetworkOut(送信ネットワーク)」の状況をリアルタイムでモニタリング可能です。

更に、以下の手順でアラームの設定ができます。まずcloudwatchのコンソールを開き、「アラームの作成」をクリックします。次に表示された画面で監視対象のインスタンスに「Networkin」「Networkout」を選択します。

アラームの内容を設定する画面に遷移するので、そこで「アラームの名称」「通知先・通知方法」「異常を検知した際のアクション」「閾値」などを設定し、「アラームの作成」をクリックすれば完了です。

awsのネットワーク監視にはcloudwatchが最適

awsのネットワーク監視を行うには、cloudwatchが最適と言えるでしょう。awsとの親和性の高さや、初心者でも理解しやすい画面設計、アラーム機能など、使い勝手が非常に良いサービスと言えます。

また、導入に伴う作業や費用もかからず、簡単に利用開始できる点も嬉しいですね。無料枠内だけでも十分に充実したサービスを受けることができるので、awsを導入しているのであれば、ぜひcloudwatchも併せて利用してみてはいかがでしょうか。