
全世界で急速に普及が進んでいるクラウドコンピューティングサービスの中で、近年特に目覚ましい躍進を遂げているのがAmazon社の提供する「Amazon web Service(以下「aws」とします)」です。
豊富なサービスラインナップを誇るawsの中から、今回はシステム監視サービスの「Amazon CloudWatch」について、その機能やメリット、料金などについて詳しく解説していきます。
awsとは
awsとは「Amazon Web Service」の略称です。awsは、インターネット通販で有名なAmazon社が提供するクラウドコンピューティングサービスの総称で、世界中に数多あるクラウドサービスの中でも圧倒的な規模とシェアを誇るサービスです。
awsが世界中で支持される理由は、サービスラインナップの豊富さと、高いセキュリティーにあります。特にセキュリティーレベルの高さは、インターネットバンクや軍事機関でも採用されるほどです。また、awsのサービスラインナップは、仮想ストレージサービス、仮想サーバシステムなどに代表されるインフラ系のものから、開発者向けの分析サービスなどに代表される専門性の高いサービスまで豊富に用意されています。
awsを活用することで、社内にサーバなどのハードウェアを設置・管理する必要がなくなり、採用する企業にとって大きなコスト削減が期待できます。また、ソフトのアップデートなども自動で行われるため、管理者の負担を軽減することが可能です。
料金は従量課金制となっており、サービスの利用状況に応じて課金されます。「使った分だけ支払えばよいので効率的」と捉えることもできますが、「費用の予測が立てにくい」「使えば使うだけ費用がかかってしまう」というデメリットも含んでいることに注意が必要です。
awsのシステム監視ソフト「Amazon CloudWatch」でできること
上述の通り、awsには様々なサービスがあるため、多くのサービスを同時に利用する際にもスムーズな利用を続けるためには、システムの監視が重要になります。システム監視の役割は、システムの異常をいち早く検知し被害を最小化するだけではありません。
監視対象の稼働状況をモニターし、負荷がかかりすぎている場合には負荷を分散させて、システム全体がスムーズに動くよう調整する役割もあります。awsの多彩なサービスの中には、システム監視サービスも用意されています。
それが「Amazon CloudWatch(以下「CloudWatch」です。CloudWatchはソフトのインストール等を行わなくても、EC2のインスタンスを立ち上げるだけで自動的に使用可能な状況になっているため、面倒な導入作業も必要もありません。
また、CloudWatchはaws上で複数のサーバやサービスが稼働している場合でも、一括でシステム監視を行うことが可能です。様々な監視対象を同一画面上で一度にモニターすることができるため、使い勝手はとても良好といえるでしょう。
更に、CloudWatchを使えば、CPUやメモリ使用状況などの一般的なデータに加え、利用料金の変化も監視対象とすることができます。既に述べた通り、awsが従量課金制度を採用していることを考慮すると、利用料金データがすぐに確認できるのはありがたい機能だと言えるでしょう。
また、料金がある一定のラインを超えた場合はメールで通知する機能も装備されている点が大変便利です。CloudWatchは、監視対象のCPU使用率などのパフォーマンスデータを、「メトリクス」という形式で表示することができる点でも優れています。
一般的なシステム監視ソフトであれば、監視対象から吐き出されたログデータは、専門の知識を持った担当者が「Excelなどに落とし込んだ上でグラフ化する」という面倒な手順を踏む必要がありました。しかし、メトリクスであれば、アプリケーションやリソースの使用状況がグラフなどの形式で表示されるため、特に高度な知識を持っていない人物でも状況を一目で把握することができます。
また、よく使う項目は「標準メトリクス」として取得可能です。なお、標準メトリクスだけでは監視対象が不十分な場合は、ユーザーが独自に「カスタムメトリクス」を設定することも可能です。
「Amazon CloudWatch」のメリット
監視ツールを一から選定・購入・インストールしなくても、awsの利用開始とともに自動的に使用可能となっている点は、既に大きなメリットと言えるでしょう。また、aws上で使用することを想定に設計されているため、当たり前ですがawsとの親和性に優れています。
例えば、従来型の監視ツールであれば、まずサーバを中心的な監視対象として設定し、その管轄下にあるCPUやメモリなどを順に対象として設定していくのが一般的です。一方、awsには「そもそもサーバが存在しない」タイプのマネージドサービスも多く存在します。
これらのサービスは、サーバありきの従来型の監視ツールだと、監視対象や監視方法もうまくマッチしません。そのため、適切な監視ができるように管理者が手動で設定内容を変更する必要があります。『関連 ... CloudCREW ... aws運用』
しかし、CloudWatchならawsで提供される全てのサービスに適応するように予め設計されているため、難しい設定の必要なしで最適な監視が可能となります。また、一般的な監視ツールでは、予め決まった対象に順番にパフォーマンス状況を問い合わせして回る「Polling型」が採用されるのが一般的です。
Polling型の場合、監視対象が増える度に監視サーバに手動で設定する必要があります。
しかし、awsはサーバの負荷によって自動的にサーバを増設したり削減したりする「オートスケール」に対応しています。従って、システム管理者は、自動でサーバが追加された場合には、監視対象が増えたことに気付くことが難しく、また気付けたとしてもその度に設定しなおさなければなりません。
一方、CloudWatchは「Push型」を採用しています。Push型では、監視対象が増えた場合自動で通知が送られるため、このようなトラブルは発生しません。
「Amazon CloudWatch」を利用する際の注意点
CloudWatchはaws上での使用を想定して設計された監視サービスです。従って、aws以外のシステムの監視には不向きです。例えば、企業によっては自社内のサーバとaws上のサーバを併用している場合もあるでしょう。
このような場合、CloudWatchだけで社内サーバも含む全てのシステムを一元的に監視することはできません。aws上のサービスにはCloudWatchを使用し、それ以外のものには既存の監視ツールを使用するという解決策も考えられますが、全てのシステムを総合的に監視することができなければ、監視サービスの有効性や利便性は著しく低下してしまいます。
そこで、aws上のサービス以外にも監視対象が存在する場合は、従来型の監視ツールを採用する方が効率的といえるでしょう。代表的なツールとして「Zabbix」があります。この手のツールであれば、awsを含む代表的なクラウドサービスと、社内のシステムを総合的に監視可能な「連携機能」を搭載しているため、awsと社内システムに監視対象がまたがっている場合であっても、一元的なシステム監視が可能です。
「Amazon CloudWatch」の料金
CloudWatchの利用には、初期費用及び、毎月の基本料金などの定額費用はかかりません。他のaws上のサービスと同様、従量課金制を採用しており、利用量に応じて料金が決定される仕組みです。利用料は主に、使用しているメトリクスの個数、設定しているアラームの件数、監視対象から転送されるログデータのデータ量によって決定されます。
またモニター間隔の細かさによっても料金が異なり、5分間隔で行われる「基本モニタリング」は無料で利用可能です。また、基本モニタリングよりも間隔の細かい「詳細モニタリング」であっても、メトリクス 10 個 までであれば、無料枠内で利用可能となっています。
更に、ダッシュボードについては、月あたり3 個までであれば無料枠内で利用可能です。ちなみに、一つのダッシュボードは最大50個のメトリクスに対応可能です。ダッシュボードは1個追加される毎に、ダッシュボード利用料を支払わなければなりません。
次に、アラームについては10件まで無料枠で利用できます。ただし、高機能アラームは無料枠の対象外となるため注意が必要です。最後に、ログデータについてはデータ転送料に応じて課金が行われます。ただし、こちらも5GBまでの無料枠が設定されています。
こうして見てみると、無料枠内でもまずまずのサービス内容と言えます。まずは無料枠内で運用を開始してみて、必要に応じてサービスの拡充を図ってみるのもよいのではないでしょうか。
awsのシステム監視には「Amazon CloudWatch」が最適
aws上のシステムの監視には、awsとの親和性が高く、導入の手間やコストを削減できるCloudWatchが最適と言えるのではないでしょうか。aws上のサービスであれば一元管理が可能な上、監視データをメトリクスとして表示してくれるので、高度な知識を持たない人でもシステムの使用状況等を一目で理解することが可能になります。
サービスの無料枠も比較的充実しているため、まずは無料枠内から少しずつサービスを拡充することも可能です。