AWSとは?
AWSとは、正式にはAmazon Web Serviceの略で、Amazon社が提供するクラウドコンピューティングサービスの総称です。
クラウドコンピューティングサービスとは、クラウド上でいろいろなソフトウェア、サーバ、ストレージ、データベースを提供するサービスのことで、ユーザはインターネットや専用線を介してそれらのサービスを利用できます。
ユーザはパソコンとインターネットにつながる環境さえあれば簡単にサーバやストレージなどが利用できるので、とても便利なサービスになっています。
AWSで利用するEC2とは?
AWSでサーバを立てる際に利用するのが、Amazon Elastic Compute Cloud、通称Amazon EC2、です。AWS上に仮想サーバを構築して、サーバをしっかりサイジングした上でいろいろなリソースをあてがって自由に利用できます。
従来はサーバはデータセンタに構築するのが主流でした。ですが、昨今のクラウドシフトにより、自前でサーバを立てるのではなく、クラウド上のサービスを利用してサーバを構築するように変わってきています。その際に利用するのがAmazon EC2です。
Elasticとは柔軟性、弾力性を意味していて、ユーザの必要に応じてリソースを割り当てていくことが可能となります。リソースが足りなくなってきたら簡単に増やすこともできます。
EC2ではサーバのことをインスタンスという単位で扱っていきます。様々なユースケースに合わせてインスタンスタイプというのが定められていて、ユーザがその中から選択してシステム構築に利用できます。
インスタンスタイプではCPU、メモリ、ストレージ、ネットワークキャパシティーなどの様々な組み合わせで構成されているため、アプリケーションのリソースによって適切な構成を柔軟に選択できます。
AWSにおけるEC2のメリットとは?
EC2を利用するメリットは、簡単にスペックを変更できること、また、従量課金で利用しただけ支払うため、初期は少ないスペックから始めることでコストメリットが得られること、構築がスピーディなことが挙げられます。
この中で、自前のオンプレミスサーバではできない、簡単にシステムのスペックを変更出来ることがAWSの一番のメリットです。
そのため、今AWSのリソースがどれくらい使われているかをしっかりモニタリングして、そのリソースが枯渇する前にスケールアップやスケールアウトしていくのが理想となります。
AWSにおけるリソースモニタリング
AWSを利用する企業としては、簡単にリソースを増減できることから、当初は最小限のリソースでサーバやストレージを構築しつつコストを抑え、システムが拡大するのに合わせて使用状況に応じて増やしていくことが理想となります。
そのためには常にリソースをモニタリングして、使用状況を把握していくことが重要となってきます。そのため、AWSにおけるリソースモニタリングでどのようなことが実現できるのかをしっかり把握しておくことが大切です。
それではAWSにおけるリソースモニタリングで何ができるのかをご紹介します。
AWSでは、Amazon EC2や、それ以外のAmazonのサービスであるAmazon RDS、 AWS Lambda、Amazon DynamoDBなどのAWSにおけるリソースを、 レイテンシー、トラフィック、エラー、および飽和状態についてモニタリングできます。
これにより、Amazon EC2でサーバを構築した企業が利用者増などでトラフィックやサーバリソースが枯渇して業務に影響を及ぼしてしまう前に、それらのリソースを増強することでその企業のビジネス拡大に寄与できるようになるでしょう。
AWSのリソースをモニタリングするAmazon CloudWatch

それではここからはAWSのリソースモニタリングするためのサービスをご紹介します。
そのサービスとは、エンジニア、デベロッパー、ITマネージャのために準備されたAmazon CloudWatchというサービスです。
Amazon CloudWatch は、AWSが提供する、フルマネージド運用監視サービスです。AWS上のアプリケーション、各種リソースを監視し、異常な状態が発生した場合は自動的に復旧まで行ってくれます。
システムが適切に運用されているかどうかを統括的に把握するためのデータや実用的なインサイトが提供され、アラート通知やアクションを適切に設定できます。
Amazon CloudWatchには5つのサービスがあります。それは「Amazon CloudWatch」「Amazon CloudWatch Logs」「Amazon CloudWatch Dashborad」「Amazon CloudWatch Alarm」「Amazon CloudWatch Events」です。それぞれのサービスについてご説明します。
Amazon CloudWatch
Amazon CloudWatchは、AWSのリソースの稼働状況を監視するサービスです。
CPUやメモリなどの使用状況を監視したり、利用料金の変化などがチェックできます。基本的にはEC2のインスタンスを立ち上げれば自動的に使える状況になるため、特別なインストールや導入作業は不要です。
よく使う項目は標準メトリクスとして取得できるようになっていますが、それ以外の項目については後述のAmazon CloudWatch Logsを各サーバにインストールすると取得対象にできるようになります。
Amazon CloudWatch Logs

前述の通り、独自のアプリケーションや標準メトリクスにない項目を監視の対象にしたい場合にエージェントを各サーバにインストールすることができます。
そうすることで必要なログやメトリクスが取得できるようになり、さらにシステムを統合的に監視できるようになるでしょう。
Amazon CloudWatch Dashboard
ダッシュボードを作成し、グラフ形式でAWS上のサービスとアプリケーションログを可視化できます。
ダッシュボード上の表示は独自にカスタマイズできるため、必要な情報のみを表示させたり、複数リージョンをまたがったリソースを監視したりといったこともできるようになります。
Amazon CloudWatch Alarm
Amazon CloudWatch Alarmは監視するメトリクスが特定のしきい値を超えたのが検知された場合、管理者に対してメールを送信するなどのアクションが実施できるようになります。
Amazon CloudWatch Events
Amazon CloudWatch EventsはAWSにおけるAPIのイベントをきっかけに何らかのアクションを実行させるサービスです。
リソースに変更があった場合に示されるシステムイベントをリアルタイムに取得して、それに応じたアクションを自動的に実行したり、スケジュール化できるようになります。
AWSはリソース状況を監視しつつ、段階的に増強していくのがよい
AWSは従量課金サービスであるため、最初から大きなコストをかけずに最小限のリソースでシステムを構築できます。そのため、システムの立ち上げ当初は利用者も少なく売り上げも低いことが想定されるので、少しでもコストを抑えてシステムを立ち上げることが可能です。
そして利用者が増え、売り上げが上がってきたタイミングでシステムのリソースを増強していけば、システムのトータルコストを抑えてきた結果もあわせて利益を上げることができるでしょう。
ただ、システムリソースがひっ迫してしまうとユーザに影響が出てしまい、利用者離れを招きかねません。それを防ぐには、しっかりとリソースを監視し、リソースがひっ迫する前に手を打っていくことが重要になってきます。
そのために利用できるツールがAWSには用意されていますので、それらを活用して効果的なシステム運用を実施しながらAWSのメリットをしっかりと享受するようにしましょう。]]>