Amazon CloudWatchにデータを送るタイミングと確認するタイミングを理解する
CloudWatchについて改めて考える
Amazon CloudWatchは、各種AWSサービスのリソース情報を収集する機能、カスタムでリソースを収集する機能、項目ごとにまとめる機能、統計情報を閲覧する機能、アラームを設定してアクションを指示する機能などが提供されています。日々更新されるAWSの各種サービスがどの程度CloudWatchに対応されているか確認してみたいと思います。
特に、各種AWSサービスがどの程度の頻度で自身のリソース情報をCloudWatchに送っているのか確認したいと思います。
基本は5分おき
CloudWatchで様々な機能を使う前に基本的なことを押さえておきたいと思います。それは、監視に必要なデータを送るタイミングと確認するタイミングです。
CloudWatchの管理画面でアラームを設定する際に、1分とか5分とか設定できるので、1分の精度で確認ができると思ってしまいますが、実際のところは、どの程度の頻度で監視に必要なデータが収集されたかで変わってきます。
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?