CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
みなさん、こんにちは。これまでの「今からはじめる Amazon Web Services」では、システム構築で利用するEC2やS3などを紹介してきました。今回は、それらのAWSクラウドリソースを監視し、AWS上で実行されているアプリケーションをリアルタイムでモニタリングできる「Amazon CloudWatch」を取り上げてみたいと思います。
システムは構築して終わりではありません。システムは稼働を開始してからの運用が非常に重要です。特に、システムを稼働していくなかで発生するかもしれない「障害」は常に気掛かりなものです。障害発生を早めに検知するか、または、可能な限り未然に防ぐには日々の監視が重要であることは言うまでもありません。
世の中にシステムの運用監視をおこなうツールやサービスにはさまざまなものがありますが、AWS上で稼働するシステムの運用監視をおこなう場合には「Amazon CloudWatch」が選択肢のひとつとなるでしょう。AWSのモニタリングサービスであるCloudWatchは、AWSクラウドリソースやAWS上で実行しているアプリケーションから発生されるメトリクスを収集・保管し、モニタリングをおこなうことができるサービスです。また、メトリクスにしきい値を設定することでアラームを発生させることもできます。
例えば、以下のようなことができます。
CloudWatchは、無料で利用開始することができますし、利用開始にもあまり手間が掛かりませんので、とりあえずの運用監視をおこなうには十分な機能を備えています。その一方で、CloudWatchに用意されている標準メトリクスだけでは監視できるものがやはり少ないこと、収集したメトリクスの保存期間が2週間と短いこと、監視対象がAWS上のリソースに限られていること、などのデメリットもあります。Zabbixのようにリソースを横断的、総合的に監視できるツールを導入したほうがよい場合もありますので、導入する場合は、実際のシステム形態と照らしあわせて検討してみてください。
それでは、実際にCloudWatchを使ってみましょう。ここでは、既に立ち上がっているEC2インスタンスにアラームを設定してみたいと思います。
1. [AWS管理コンソール](https://console.aws.amazon.com/)にサインインします。
2. 管理コンソールにサインインしたら、監視するEC2インスタンスを選択するために「EC2(クラウド内の仮想サーバー)」を選択します。
3. 監視するEC2インスタンスを選択し、画面下部のタブの「モニタリング」を選択します。
4. 「アラームの作成」ボタンをクリックします。
5. アラームの設定情報を入力します。ここでは「CPU使用率が平均1%を超えたらアラームメールを配信する」という設定をしています。入力が終了したら「アラームの作成」ボタンをクリックします。
6. また、上記で「アラームの設定」をクリックすると、メール配信先として指定されたメールアドレスに「AWS Notification - Subscription Confirmation」というメールが届きます。本文にある「Confirm subscription」をクリックし、メールアドレスの有効化をおこないましょう。
7. AWS管理コンソールに戻り、「CloudWatch(リソースとアプリケーションのモニタリング)」を選択してみましょう。上記で作成したアラームが、「アラームの要約」の箇所に表示されます。
8. メトリックスが上記で設定したしきい値を超えると以下のような画面となります。また、配信先として設定したメールアドレスに「ALARM: "awsec2-i-xxx ... 」というメールが届きます。
CloudWatchに用意されている標準メトリクスは、CPU使用率、ディスク読み込み、ディスク書き込み状況、ネットワーク状況、インスタンスのステータスチェックの5つです。それ以外の、例えばメモリ使用率やHTTPスタータスは標準メトリクスでは監視することができません。この場合は、aws-apitools-monというパッケージを使ってカスタムメトリクスを作成することで監視することができるようになります。
CloudWatchについては、[ドキュメント](https://aws.amazon.com/jp/documentation/cloudwatch/)も揃っています。一度読んでみるとよいでしょう。
今回は、AWSクラウドリソースを監視しアプリケーションなどをモニタリングすることができる「Amazon CloudWatch」を取り上げました。
次回は、「AWS IoT」を取り上げたいと思います。 AWSに初めて登場したIoT系サービスとはどのようなものか、トピックを紹介していきます。お楽しみに!
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes