クラウド監視とは?基本的な知識や考え方と選択肢
まずは、クラウド環境における監視について、概要から説明します。そもそも監視とは何かという点をおさらいしながら、クラウド監視とオンプレミス監視の異なる点、クラウド監視において特別考慮しなければならない点を説明します。
クラウド監視とは
はじめに「監視」の定義をおさらいしますが、監視とは、ITシステムが正常に稼働しているかを常時確認し、異常があれば検知する機能のことです。異常を検知した場合は、管理者への通報や自動処理など次のアクションへ繋げることもできます。また、正常稼働している状態のデータを監視することにも意味があり、今後のサービス改善やコスト削減を判断する材料となります。
それでは、「クラウド監視」とはどのようなものでしょうか。従来のオンプレミス(物理コンピュータ)環境における監視と違いはあるのでしょうか。
結論を言うと、「監視」という言葉の定義的な違いは無いでしょう。ただ、クラウド環境の特徴を考慮する必要があるという点で、オンプレミス環境の監視とは違いがあります。
オンプレミス監視との比較
オンプレミス環境の監視とクラウド環境の監視には、どのような違いがあるのでしょうか。両者の比較をするために、そもそも監視とは何かといったところから、次の流れで説明していきます。
- 監視は何のためにするのか
- 従来のオンプレミス監視
- クラウド監視との比較
監視は何のためにするのか
まずは、監視の目的を考えてみましょう。ITシステム監視は、そもそも何のために行う必要があるのでしょうか。ずばり監視の目的は、次の2つがあると考えます。
- システムの安定稼働
- システム稼働効率の最適化
「システムの安定稼働」は、予期せぬシステム停止やパフォーマンスの低下を検知し、システムが安定した稼働を継続できることを意味します。
「システム稼働効率の最適化」は、システムが効率良くサービスを提供することを意味します。昨今では、IT資産の運用に莫大な費用を要しますが、適切な費用の範囲で適切な量のリソースを利用し、無駄なコストは抑えていくことが求められています。
従来のオンプレミス監視
次に、従来のオンプレミス監視では何をどのように監視してきたのか整理します。監視には、次の5つの要素があります。
- 収集:監視対象のシステムからデータを収集
- 判定:収集したデータより正常状態か異常状態かを判定
- 通知:判定した結果に基づき、指定の通知先へ通知
- 分析:収集・判定したデータを分析し、現状把握や将来予測に活かす
- オブザーバビリティ:検知した異常が発生した要因まで追及
要するに、これらの要素を実現する機能こそが監視です。
また、システムはインフラ(サーバ、ネットワークといったシステム基盤)とアプリケーションに大別できますが、それぞれで監視する内容は変わります。それぞれで代表的に監視される項目を挙げてみます。
インフラ
- HW死活監視
- リソースしきい値監視
- ネットワークトラフィック監視
- 不正アクセス監視
- システムログ監視(OSが出力するログ全般、操作変更ログ等)
アプリケーション
- アプリケーション性能監視(アプリケーション処理時間等)
- 外形監視(レスポンス時間、ステータスコード等)
- アプリケーションログ監視(個々のアプリケーションが出力するログ等)
これらのメトリクスを監視することで、システムの健全性やハイパフォーマンスを維持でき、より信頼性の高いシステム運用を実現できるわけです。
クラウド監視との比較
それでは、クラウド監視の場合は、従来のオンプレミス監視と比較して、どのような違いがあるのでしょうか。
本記事の冒頭で言及したように、「監視」の定義的な違いはありません。つまり、これまでに述べた監視の目的や5つの要素に関しては、オンプレミス監視とクラウド監視で概ね共通しているということです。
しかし、オンプレミス監視に加えて、クラウド環境の特徴を考慮する必要があります。特徴としては、例えば次のようなものを挙げることができます。
- プロバイダとユーザで管理責任が分担されている
- 基本的にインターネットを介してアクセスする
- クラウドリソースの利用は従量課金である
これらの特徴に関して、次項で説明していきます。
クラウド監視の特徴
多くのパブリッククラウド(クラウドプロバイダが提供するクラウドサービス)では、プロバイダ(サービス提供側)とユーザ(サービス利用者)との間で責任範囲が明確にされており、それぞれがシステムに負う責任が分担されています。
大手パブリッククラウドであるAWS(Amazon Web Service)とAzure(Microsoft Azure)を例に、責任分担を見てみましょう。これらの責任範囲や分担は、AWSでは「責任共有モデル」、Azureでは「共同責任モデル」と称されています。名称に少々違いはありますが、基本的にデータセンターやハードウェアはプロバイダ側の責任であり、それ以外のOSやミドルウェア、アプリケーションはクラウドサービスによって一部、または全てがユーザの責任です。
AWS 責任共有モデル
AWS クラウドで提供されるすべてのサービスを実行するインフラストラクチャ(サーバやネットワーク機器のハードウェア基盤やデータセンタ等のシステム配置施設)の保護について、プロバイダ(AWS)側が責任を負います。一方、インフラストラクチャ上に構成する独自のゲストオペレーティングシステム、データベース、アプリケーションの構成については、ユーザ側が責任を負います。
Azure 共同責任モデル
データセンターやコンピュータ機器等の物理的なリソースの保護は、常にプロバイダ(Microsoft社)側が責任を負います。つまり、Azureを利用することで、少なくとも物理リソースの保守に関する負担を削減できます。
一方、以下の表で赤色以外で示される項目については、ユーザ側で責任を持って管理する必要があるということになります。
これら責任分担に共通するのは、我々ユーザはクラウドサービスの基盤(インフラストラクチャ)となるデータセンターやハードウェアリソースについて、監視をする必要がないということです。
データセンターのセキュリティ(監視カメラ、空調設備)、サーバやネットワーク機器等のハードウェア障害はクラウドサービスを提供するプロバイダ側で監視してくれるため、その分の監視リソースを無視できます。
プライベートクラウド環境(単独の企業や組織が専用的に使用するクラウド環境)やオンプレミス環境では、一般的にシステム基盤の配置施設やハードウェア障害に関しても利用者が責任を持って監視する必要があるので、この点はオンプレミス環境の監視と異なる点です。
基本的にインターネットを介してアクセスする
そもそもクラウドサービスは、インターネットを介してコンピューティングリソースを利用できるサービスを意味します。要するに、クラウドサービスの利用には必ずインターネットを経由してのアクセスが必要となります。(※)
インターネットを利用することは、システム外のネットワークに対するセキュリティを考慮する必要があることを意味します。
インターネットに繋がらない環境をオフライン環境と呼びますが、オフラインのオンプレミス環境では、システム外のネットワークからセキュリティ攻撃を受けるリスクを考慮する必要性はあまりありません。クラウドを利用することで、オンプレミス環境と比較して高度なセキュリティ対策を講じる必要がある点は、オンプレミス環境の監視と大きく違う点でしょう。
セキュリティ監視に関する詳細は、こちらの記事で紹介していますので是非参照ください。
※専用線を利用することで、インターネットを介さずにクラウドサービスを利用するサービスが各クラウドサービスで提供されています。
クラウドリソースの利用は従量課金である
クラウドサービスの特徴として、サービスが基本的に従量課金制で提供されることが挙げられます。つまり、サービスを利用した分だけ、利用料金を支払うということです。
また、クラウドサービスには、弾力性を有するものが多くあります。弾力性とは、リソースの使用状況に合わせて、そのリソースの規模を拡大あるいは縮小する性能のことです。例えば、システムへのアクセスがピークとなる状況では、サーバの台数を増やしたりコンピュータリソース(CPUやメモリ、ストレージ等)の規模をより大きいものへと拡張できます。逆にシステムがあまり利用されていない状況では、サーバ台数を減らしたりコンピュータリソースを縮小することも可能です。
要するに、弾力性により動的にリソース量が変動すると、それだけクラウドサービス使用量も変動することになり、従量課金制で利用料金も変動します。これは、コスト効率を考えると大変便利な特徴に違いありませんが、コスト管理が複雑化してしまう一面もあります。
そこで、クラウド環境では、コストを細かく監視する必要があります。前述の内容であれば、想定よりも大きくリソースの使用量が増えてしまうと、システム運用コストが膨大な額になってしまいます。想定外の運用コスト肥大化を防ぐためには、例えばコストにしきい値を設け、しきい値を上回りそうであれば通知やリソース拡張を抑止するといったアクションを取るなどの対処が必要でしょう。
オンプレミス環境では、自動的にハードウェアリソースを拡張あるいは縮小して運用コストが増減するといった状況は無いので、コストを細かく監視する必要がある点はオンプレミス監視と大きく異なる点です。
クラウド環境における監視の考え方
続いて、クラウド環境における監視運用について説明します。
クラウド環境での監視設計をする際は、オンプレミス環境の検討事項に加えて次の事項を考えます。
- クラウド構成
- クラウド環境特有の監視要件
- 適切な監視ツールの選択
クラウド構成を考慮する
クラウド構成には、次のような種類があります。
パブリッククラウド
全てのクラウドリソースがクラウドサービスプロバイダによって管理・提供され、
インターネット経由で提供される構成
プライベートクラウド
単独の企業や組織が専用的に使用するクラウドリソースよる構成
ハイブリッドクラウド
パブリッククラウドとオンプレミス、パブリッククラウドとプライベートクラウド、
あるいは複数のパブリッククラウドを組み合わせた構成
これらのクラウド構成に応じて、監視設計を考慮する必要があるでしょう。
例えば、パブリッククラウドの場合は、パブリッククラウドで提供される監視サービスを利用して監視要件を満たすケースを考えます。プライベートクラウドの場合も、プライベートクラウドで提供する監視サービスが存在するのであれば、それを利用することを検討するのが自然な流れでしょう。
クラウドが提供する監視サービスだと監視要件を満たせない場合は、サードパーティ製の監視ソフトウェアを導入して監視機能を補完することを検討する必要があるかもしれません。
ハイブリッドクラウドの場合、オンプレミス環境や異なるクラウド環境を監視するケースが考えられます。その際は、統合的な監視が可能な監視サービスの選択、あるいは異なる環境間での監視情報の連携、もしくは個々に独立した監視機能の実装など、クラウド構成と監視要件を複合的に考慮して監視を検討する必要がありそうです。
このように、クラウド構成はクラウド監視設計に大きく影響します。
クラウド環境特有の監視要件を考慮する
前提であるクラウド構成に加え、クラウド環境特有の監視要件も考慮します。
クラウド環境特有の監視要件とは、これまでに説明したクラウド環境の特徴に関する要件です。
- データセンターやハードウェア監視は基本的にクラウドサービスプロバイダで実施
- インターネットを介したアクセスを前提としたセキュリティ監視
- 弾力性と従量課金制を考慮したコスト監視
クラウド環境における監視ツールの選択
クラウド構成や監視要件に応じて、監視ツールを選択する必要があります。
パブリッククラウドであれば、クラウドサービスプロバイダ提供の監視サービスで監視要件を満たすことができるかもしれません。AWSであれば CloudWatch、Azureであれば Azure Monitorを中心に監視構成を検討し、監視要件を満たすことができるか確認しましょう。
クラウドサービスプロバイダ提供の監視サービスで監視要件を十分に満たせない場合や、パブリッククラウド以外のクラウド構成で監視する場合は、サードパーティ製の監視ソフトウェア導入を検討することになります。例えば、監視ソフトウェアとしてよく利用される Zabbix や SaaSとして有名な Mackerel をはじめ、様々な企業や団体が提供する監視サービスを比較検討し、最適なツールを選択します。
これらクラウドサービスプロバイダ提供の監視サービスやサードパーティ製の監視ソフトウェアなど、クラウド環境で利用される監視ツールを別記事で説明しています。詳しくはこちらを是非ご参照ください。
まとめ
さて、今回はクラウド環境の監視について、基本的な知識や考え方をオンプレミス環境の監視と比較する形で説明しました。オンプレミス環境の監視と比べ、クラウド環境の監視ではどのようなことを考慮すべきか理解いただけたでしょうか。
クラウド環境の監視では、データセンターやハードウェア障害はクラウドサービスプロバイダ側で責任を負ってくれるため、その分の監視を考慮する労力は減ります。
一方で、インターネットからの攻撃に備えたセキュリティ監視や、弾力性および従量課金制を前提としたコスト監視など、クラウド環境特有の監視要件を考慮する必要があるのが注意すべき点です。
基本的にはオンプレミス環境の監視と共通する考え方が多いですが、最適な監視設計を行うためにはクラウド環境の構成やクラウド特有の監視要件を考慮する必要があるでしょう。