Amazon CloudWatchにデータを送るタイミングと確認するタイミングを理解する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CloudWatchについて改めて考える

Amazon CloudWatchは、各種AWSサービスのリソース情報を収集する機能、カスタムでリソースを収集する機能、項目ごとにまとめる機能、統計情報を閲覧する機能、アラームを設定してアクションを指示する機能などが提供されています。日々更新されるAWSの各種サービスがどの程度CloudWatchに対応されているか確認してみたいと思います。

特に、各種AWSサービスがどの程度の頻度で自身のリソース情報をCloudWatchに送っているのか確認したいと思います。

screenshot 2015-01-02 17.43.14

基本は5分おき

CloudWatchで様々な機能を使う前に基本的なことを押さえておきたいと思います。それは、監視に必要なデータを送るタイミングと確認するタイミングです。

screenshot 2015-01-02 17.51.56

CloudWatchの管理画面でアラームを設定する際に、1分とか5分とか設定できるので、1分の精度で確認ができると思ってしまいますが、実際のところは、どの程度の頻度で監視に必要なデータが収集されたかで変わってきます。

screenshot 2015-01-02 17.54.04

CloudWatch対応サービス一覧

それでは、具体的にどのサービスがCloudWatchに対応していて、どの程度の頻度でデータを送っているのか確認してみましょう。

サービス名 データ送信頻度
Auto Scaling 5分(デフォルト)
※1分に設定可能(詳細モニタリングをON)
Amazon DynamoDB 5分
Amazon ElastiCache 1分
Amazon Elastic Block Store 5分
Amazon Elastic Compute Cloud 5分(デフォルト)
※1分に設定可能(詳細モニタリングをON)
Elastic Load Balancing 1分
Amazon Elastic MapReduce 5分
Amazon Kinesis 1分
AWS OpsWorks 1分
Amazon Redshift 1分
Amazon Relational Database Service 1分
Amazon Route 53 1分
Amazon Simple Notification Service 5分
Amazon Simple Queue Service 5分
Amazon Simple Workflow Service 5分
AWS Storage Gateway 5分

データを送るタイミングが5分となっているサービスが結構ありますね。これを1分にする方法はないでしょうか?ということで、解決方法があります。カスタムメトリクスです。カスタムメトリクスは、任意のデータを好きなタイミングでCloudWatchに送ることができます。これにより、「5分待てない!」という某Andyさんの要求に応えることができ、素早くアクションに繋げることができるのです。

また、サポートしていないAWSサービスでも、自分で様々な情報を収集することができます。例えば、Cognitoから認証回数を収集してカスタムメトリクスとしてデータを登録するなどです。このように様々な情報を収集し、アラーム設定からアクションに繋げることができるのがCloudWatchの特徴ですね。

まとめ

今回は、AWSの各種サービスからCloudWatchへ監視データを送るタイミングについてご紹介しました。タイミングは、1分か5分がデフォルトで設定されていました。タイミングを早めるためには、詳細モニタリングをONにするか、カスタムメトリクスで任意のタイミングで送ることでできるだけ早くアラームを検知してアクションを投げられることが分かりました。もし、10秒とか非常に短い時間で検知したいのであれば、CloudWatchではなく別の仕組みを試してみてください。現実的にはビジネス要求を理解しつつ、組み合わせが良いかなと思っています。

参考資料

Amazon CloudWatch Developer Guide (API Version 2010-08-01) Supported AWS Services

Amazon CloudWatch Developer Guide (API Version 2010-08-01) What Is Amazon CloudWatch?