RDS の死活監視を CloudWatch メトリクスから行う方法について教えてください
困っていた内容
CloudWatch メトリクスを用いて RDS の死活監視をしたいです。
EC2 でいうところの StatusCheckFailed に該当するようなメトリクスがあればいいのですが、RDS ではステータスチェックが行えるメトリクスは無いのでしょうか?
また、その他方法があれば教えてください。
どう対応すればいいの
恐れ入りますが、現時点で RDS メトリクスでは EC2 の StatusCheckFailed に相当する死活監視用の CloudWatch メトリクスはご用意がございません。
一方で一般的な観点として、モニタリングの例としては以下の方法などがあるものと存じます。
- CloudWatch メトリクス(
CPUUtilization,FreeableMemory,FreeStorageSpaceなどその他)に閾値を設け、リソース枯渇が無いかパフォーマンス状況を監視する
※最適な設定はワークロードに依りますため以下ドキュメント等を参考にご検討ください。
パフォーマンスのベースライン
モニタリング目標を達成するには、ベースラインを確立する必要があります。これを行うには、Amazon RDS 環境で負荷条件と時期をさまざまに変えてパフォーマンスを測定します。
...
パフォーマンスガイドライン
... 多くの場合、次のメトリクスがパフォーマンスの問題の原因を示しています。
- CPU または RAM の高消費量 ...
- ディスクスペースの消費量 ...
- ネットワークトラフィック ...
- データベース接続数 ...
- IOPS メトリクス ...
Amazon RDS インスタンスでのメトリクスのモニタリング - Amazon Relational Database Service
- DB インスタンスのステータスが「
Available (利用可能)」となっていることを API などでチェックし、正常性を確認する
DB インスタンスのステータスは、DB インスタンスの状態を示します。次の手順で、Amazon RDS コンソール、AWS CLI コマンド、または API オペレーションで DB インスタンスのステータスを表示できます。
- RDS イベントをモニタリングし、予期せぬ動作が無いか確認する
RDS では再起動やフェイルオーバーなどが発生した際、該当するイベントが生成されます。それらを監視する仕組みについて以下ドキュメントに記載がありますため、適宜ご検討ください。
Amazon RDS では、多数のイベントがカテゴリ分けされて生成され、これらには Amazon RDS コンソール、AWS CLI、または API を使用してのサブスクライブが可能です。
の Amazon RDS イベントカテゴリとイベントメッセージ - Amazon Relational Database Service
Amazon RDS は、サブスクライブ可能なカテゴリにイベントをグループ分けします。これにより、そのカテゴリのイベントが発生すると、通知を受け取ることができます。
- クライアントアプリケーションから、DB インスタンスに定期的に適当なクエリを発行する
アプリ-RDS間の接続性チェックが必要な場合に有効なものと存じます。
上記の通り、StatusCheckFailed などの具体的な死活監視メトリクスは現時点で存在しませんが、例として挙げた方法を参考にどのような監視が適切かをご検討いただければと存じます。
参考情報







