KANSHI

http://thehookmusic.com/

AWSのプロセス監視ツール「Cloud Watch」を導入しよう!

個人であれ企業であれ、インターネット環境がないと仕事になりませんよね。ビジネスの規模にもよりますが、万が一システムダウンしたら多大な損失を被る恐れもあります。システムダウンを未然に防ぐためにも、システムの稼働状況を絶えず監視することが重要です。

とはいえ、人力での監視は大変なので、便利なツールが開発されています。そこで今回は、AWSの「Cloud Watch」をご紹介しましょう。

そもそもAWSとは?

AWSは「Amazon Web Services」の頭文字をとった略称です。

ネットショッピング界の大手Amazonが提供しているサービスであり、2006年7月より公開されています。Amazonが自社のためにさまざまなアプリケーションを構築したのが始まりで、後にそれらを一般ユーザーにも提供するようになりました。

世界中で展開しているAmazonのような一大企業ともなれば、アクセス数や取り扱うデータ量なども膨大になることでしょう。スムーズな運営を続けていくためには、最先端のIT技術を取り入れて、インフラやアプリケーションを構築することが必須だったようです。

アカウントを作成してクレジットカード情報を登録すると、個人・企業に関係なく誰でもAWSを利用できますよ。

AWSのサービスは多種多様

AWSはクラウドサービスに分類されます。つまり、インターネットを経由するだけで、さまざまなサービスを使えるということです。ハードウェアやソフトウェアを準備しなくて済むクラウドサービスであれば、気軽に導入しやすくて便利ですよね。

大まかには90以上、細かくは700以上のサービスをAWSは提供しているそうです。(詳細 - AWS運用)

ここですべてのサービスを挙げていくのは難しいですが、基本的なものにはデータベースやストレージ、レンタルサーバーなどがあります。

他にも、人工知能(AI)やデータ分析、IoTといったAmazonが誇る最新のテクノロジーを提供しています。企業で必要とされるようなITリソースを、ほぼ網羅しているといっても過言ではありません。

AWSは従量課金制

AWSでは、従量課金制を採用しています。自分が使った分だけを支払うという仕組みですね。ハードウェアやソフトウェアを購入する必要がないので、初期費用を抑えられる点もメリットでしょう。さらに、サービスによっては無料利用枠が設定されているものもあるようです。

AWSのすべてのサービスは、オンデマンドで使用することができます。利用したいサービスを必要な期間のみ、インターネット経由で契約します。短期間の契約でも構いませんし、複雑なライセンス契約などもないため、試しに導入してみて検討するといった使い方も可能でしょう。

ただし、従量課金制では、毎月の利用料が変動します。月額固定制に比べて、明確な予算化は難しいといえます。

監視ツール「CloudWatch」

AWSの各種リソースと、AWSで実行されるアプリケーションを監視するのがCloudWatchと呼ばれる監視ツールです。CloudWatchには、「CloudWatch」「CloudWatch Logs」「CloudWatch Events」という3つのサービスが用意されています。

基本ともいうべき「CloudWatch」は、各種リソースを監視するのが主な役割であり、CPU・メモリなどのデータをグラフ化する機能なども搭載されています。また、リソースの状況に合わせて、メールの送信や再起動といった何らかのアクションを設定することも可能だそうです。

「CloudWatch Logs」は、ログを収集して監視します。WindowsやRedHat、LinuxなどのOSだけでなく、アプリケーションのログにも対応しています。キーワードに応じて、アラートを通知する機能も搭載されているようです。

例えば、OSまたはアプリケーションがエラーログを出力した場合は、管理者宛てにメールを通知するといったものです。「CloudWatch Events」は、APIのイベントに応じて各種アクションを実行します。

AWSではいろんな処理にAPIを用いており、これらのイベントを監視することが「CloudWatch Events」の主な役割です。例えば、特定のユーザがコンソールにサインインすると、アラートを通知するなどが考えられます。

『AWSではメモリの監視もできる!特徴や料金、サービスのメリットは?』

既存の監視ツールとの違いは?

監視ツールにも多種多様な製品があり、すでにオンプレミス(物理サーバ)での監視を導入しているといったケースも珍しくありません。既存の監視ツールがあるのに、わざわざ「CloudWatch」を導入する必要があるのでしょうか。

AWSの「CloudWatch」は、クラウドサービスになります。まずこれが大きな違いです。オンプレミスの場合、ハードウェアによる障害が発生すると、ベンダーを手配したり、現場で交換作業を行ったりする必要が出てきます。

時間も手間もかかるのがデメリットです。クラウドの場合は、ハードウェアによる障害はクラウドベンダが対応しますし、障害の影響もユーザーには及びません。既存の監視ツールの多くは、Polling型が主流でした。

Polling型とは、決められた監視対象に対して、一つ一つ問い合わせしていく仕組みです。そのため、監視対象が増えたときは、監視サーバを設定し直す必要があります。一方でCloudWatchは、Push型に分類されます。

Push型の場合は、監視対象が増えても新たな設定は不要です。追加された監視対象から、通知がくるようになっています。監視対象が増えるたびに手動で設定する手間がない分、Push型は作業効率がアップしそうですよね。

そもそも、CloudWatchはAWSのために開発されたツールなので、AWSの監視に最適なのは当然のことでしょう。AWSにはマネージドサービスが多く、サーバが不可欠な既存の監視ツール(オンプレミス)では、対応できないケースも少なくありません。

監視方法や監視するポイントが大きく異なるからです。その点CloudWatchであれば、マネージドサービスにも対応しており、問題なく監視することができます。また、クラウドの仕様上、CloudWatchでなければ監視できないものもあります。

例えば、ロードバランサーに関しては、既存の監視ツールでは監視することができません。

理想は2種類の監視ツールを使い分けること

Cloud Watchのみで、すべてのシステム監視をカバーするのは厳しいかもしれません。監視ログを保存できる期間が短かったり、詳細なカスタマイズには何らかの制限があったりするからです。サーバありきの既存の監視ツールと、クラウドで提供しているCloud Watchを併用することで、お互いのデメリットを補うことができます。

つまり、それぞれの優れた点を活かすために、状況に応じて2つの監視ツールを使い分けるのが理想なのです。Cloud Watchについては、気軽に導入しやすいので、まずは短期間だけ使ってみるとよいでしょう。

とりあえず実際に使ってみないことには、メリットもデメリットも実感しにくいものです。

© 2019 KANSHI Bluesand Theme