awsを使ったシステムの運用・監視とは?

テクノロジーの高度化とともに、コンピューターシステムも進化を遂げています。かつては専用のサーバーを用いたシステム構築が一般的でしたが、効率化を求めてやがてサーバー共用型のシステムが人気を集め、さらにはクラウドサービスの登場によって旧来型のスタンドアローンサーバーはあまり使われなくなっています。

以下では、代表的なクラウドサービスの一つであるawsを用いた運用・監視の方法について見ていくことにします。

クラウドサービスとは?

awsについて見ていく前に、まずクラウドサービスとはどういったものであるかについて簡単に触れておくことにしましょう。クラウドサービスというのは、簡単にいうと、これまで利用者がそれぞれのコンピュータ上において使っていたソフトウェアやデータなどを、ネットワークを介して、利用者に対してサービス提供するというものです。

その特徴は、利用者としてはパソコンやスマートフォンといったクライアント端末とその端末上で動作するブラウザやインターネットに接続するための環境といった必要最低限の環境だけを用意すればよく、それだけで多岐にわたるサービスをすぐに利用することが可能になるということです。

そのため、従来のように、システムにおいて用いられるハードウェアやソフトウェア、データなどを、利用者自らが保有したり、管理する必要はなく、それによって管理に要していた労力や時間を大幅に効率化することができるようになり、これまでよりもシステムにかけるコストを削減することができるようになるのです。

このクラウドサービスでは、仮想化技術と呼ばれる技術が用いられているのですが、これは1台のコンピュータにおいて、まるで複数のコンピュータが動作しているかのような動作を行わせることができるものです。この技術を用いることによって、コンピュータの性能を最大限引き出すことができるだけでなく、利用者としては、自分が必要な分の処理能力だけをクラウド業者と契約して利用することができるようになるため、オーバースペックのシステムを導入して無駄なコストを支払う必要はなくなるのです。

クラウドサービスの3つのタイプ

このように、非常に効率的なサービスであるクラウドですが、より詳細に見るとSaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)という3つのタイプに分類することが可能です。

このうち、SaaSというのは、インターネットを経由して、様々なソフトウェア機能を提供するサービスで、かつてはASPという名でも呼ばれていたものです。二つ目のPaaSは、インターネットを経由するという点ではSaaSと同様ですが、提供されるのが仮想化されたアプリケーションサーバーやデータベースといったアプリケーションを実行するためのプラットフォームである店でSaaSとは異なります。

三つ目のIaaSは、インターネット経由で、ハードウェアやインフラといった機能を提供するサービスで、具体的には仮想化されたデスクトップや共有ディスクなどを利用者が使うことが出来るものです。

awsとはどのようなサービスか?

このクラウドサービスの中でも世界的に見てナンバーワンのシェアを有しているのがawsです。awsというのはAmazon Web Serviceの略語で、その名の通り、インターネット通販大手のAmazonが運営しているサービスです。

もともとは、同社の社内におけるビジネス上の課題の解決に用いられていた技術を社外にも利用できるようにしたことがきっかけとなって開始されたサービスで、その利便性の高さから一気に全世界にユーザーが拡大することになりました。

AWSでは、コンピューティング、ストレージ、データベースといったクラウドの基本的なサービスに加え、分析やネットワーキング、モバイルといった機能も利用することが可能となっています。さらに、便利な開発者用ツールや管理ツールのほか、IoT、セキュリティ、エンタープライズアプリケーションといった各種サービスも提供されているため、それらを利用することによって低価格で高機能なコンピューターシステムを簡単に導入することができるのです。

awsのサービス内容について

awsでは非常に多くのサービスが提供されているため、それらすべてを覚えることは容易ではありません。

とはいえ、代表的なAmazon EC2、Amazon EBS、Amazon S3、Amazon Route53の4つについては最低限理解しておくべきですので、簡単に説明しておくことにしましょう。

一つ目のEC2というのは、Elastic Compute Cloudの略称で、awsの環境に仮想サーバーを構築するサービスです。aws上でアプリケーションを動かすためには必須のものですので、ほとんどの利用者が使うことになるでしょう。

このEC2は、それ用のブロックストレージサービスである二つ目のEBSとセットで利用することが一般的です。また、三つ目のS3というのは、Simple Storage Serviceの略称で、クラウドで利用できるストレージサービスです。

EBSと何が違うのかという話になりますが、データ量に制限のあるEBSと比べるとS3は特に制限が設けられていないというのが大きな特徴となっています。そして、最後のRoute53というのは、awsが提供しているDNSサービスとなっています。

なお、53というのはDNSの送信元のポート番号に由来する数字です。awsでは、これ以外にも様々なサービスがありますが、まずはこの4つを理解しておけば、一般的な利用者としては十分でしょう。

awsを用いたシステム運用・監視について

クラウドサービスというと、システムの運用はサービス提供側で行ってもらえるものと考えがちですが、実際にはハードウェアのメンテナンスについてはサービス提供者が行うことがほとんどではあるものの、その上で動作するソフトウェアやデータベースについては利用者側で管理する必要があります。

管理の内容には様々なものがありますが、クラウドにおいては特にシステム監視がポイントとなります。この監視のプロセスは、まず最初に正常な状態を定義したうえで、次に異常な状態を定義し、両者を比較することで正常であったものが異常になるという状態の変化を検知できるようにするというものです。

CPUの使用率を例に挙げると、使用率80パーセントを正常と定義し、80パーセント以上を異常と定義し、実際の使用率が80パーセントを上回るかどうかを常にチェックするというのが監視の際に行うべき作業となるのです。

このように、概念だけ見れば簡単に聞こえるかもしれませんが、特にawsのように膨大な機能を有するサービスの場合に、それらすべてを監視することは決して容易ではありません。そこで、awsでは利用者のシステム監視をサポートするためにCloudWatchというサービスが提供されています。

CloudWatchは、awsの環境上で利用することが出来るフルマネージド運用監視サービスで、AWSが提供している各種のリソースを監視するサービスです。

具体的な内容としては、セットアップを行う必要がなく、異常を検知して自動で復旧することができ、またメトリクスに応じたアラーと通知やアクション設定ができるものとなっています。また、CloudWatchには、リソースを監視する基本サービスに加えて、ログを集めて監視するCloudWatch LogsやAPIでイベントをトリガーにして所定のアクションを行わせるCloudWatch Eventsといった付随サービスも提供されていることから、これらを利用することによってシステム監視に要する負担を大きく低減することができ、効率的にシステムを運用することが出来るようになるというわけです。