Amazon CloudWatchとは何か?標準でできることと、導入のハードル

    クラウドのなかでも圧倒的なシェアを誇るAWS。AWSにシステムを移行し、脱・オンプレミスを図る企業も少なくありません。では、AWS環境で稼働するシステムは、どう運用すればよいのでしょうか?
    今回は、AWSが提供する監視サービス「Amazon CloudWatch」の機能とともに、導入時の課題とその解決策を紹介します。

    AWS環境を細かく監視できるAmazon CloudWatch

    システムを安定的に運用するには、異常を素早く検知し、スムーズに対応することが必要です。
    そのために重要なのが「監視」です。これは、オンプレミスでもAWSでも変わりません。では、AWS環境において、どのように監視をすればよいのでしょうか?AWS環境の監視を語る上ではずせないのが「Amazon CloudWatch」です。Amazon CloudWatchを使うことで、CPUやメモリ、ディスクの使用率などを監視し、事前に設定した閾値を超えた際にメールなどで通知できます。さらに、独自の「メトリクス」を設定することで、アプリケーションのログなどさまざまな項目を監視することも可能です。

    Amazon CloudWatchのメリットは、何といってもAWS自身が提供するサービスであること。Amazon EC2をはじめとするAWSサービスとの親和性が高く、頻繁に行われる機能拡張・仕様変更にもいち早く対応するほか、負荷に応じて自動でリソースを増減するAWS Auto Scalingなどにも簡単に対応できます。監視対象となる項目は細かく設定することが可能で、システムごとの事情にあわせてきめ細かく監視できる点は魅力的と言えるでしょう。

    Amazon CloudWatch導入の課題

    AWS環境の運用監視で有効とされるAmazon CloudWatchですが、いざ導入するとなると一定以上のスキル・知識が必要であり、「誰でも簡単に」使える……とはいきません。特に独自のメトリクスを設定するとなるとハードルが高くなります。また、「異常が発生したらサーバを再起動する」といった復旧処理を自動化するには、AWS  Lambda、スクリプト記述等で復旧シナリオを作りこむ必要があり、さらに難易度があがります。

    そもそも、Amazon CloudWatchのメリットは細かく監視できることですが、そのためには、システムごとに「どの項目をどこまで監視するのか」「閾値はいくつに設定するのか」などを事前にきちんと設計しなければなりません。運用の設計だけでもかなりの工数がかかってしまいます。

    もちろん、基幹システムなど重要度の高いシステムはこのような設計を行い、細かく監視する必要がありますが、すべてのシステムがそうとは限りません。なかには、社内向けWebサイトなど運用のコスト・手間を最小限に抑えたいものもあるはず。そのようなケースでは、より手軽に運用・監視できるツールを検討したいところです。

    手軽にAWS上のアプリケーション監視を実現する「SIOS AppKeeper」

    そこでお勧めしたいのが、当社サイオステクノロジーが提供する「SIOS AppKeeper」です。
    これはEC2インスタンス上で稼働するアプリケーションのサービス(プロセス)を監視し、異常検出時は、該当サービスを再起動し、それでも正常化しない場合はインスタンスを再起動します。ここまでの動作を自動で行うツールで、シンプルな構成で簡単に監視~復旧までを実現できることが特長です。スクリプトを作り込んだり、メトリクスを設定したりと高度なスキルがなくても、「アプリケーションの状態を監視し、自動で復旧する」という最低限の運用を実現できます。

    監視項目の選定や閾値の設計なども不要で、監視対象のサービス(プロセス)を選んで指定するだけで運用をはじめられるのもうれしいポイント。異常検出・復旧時には障害のログを記録・保管するため、あとから障害の原因を究明することも可能です。

     

    AWS環境だからといって、すべてAmazon CloudWatchで細かく監視するのではなく、運用のレベルをもとにシステムを棚卸した上で、運用の負担を抑えたいシステムやアプリケーションについては、まずはSIOS AppKeeperで監視する……といった運用がお勧めです。

    SIOS AppKeeperについて

    SNSでもご購読できます。