CloudWatchによるRDS監視の概要
CloudWatchによるRDS監視の概要として、ここでは監視の必要性や前提として明確化すべきこと、監視項目について解説します。
RDS監視の必要性
RDSはAWSが提供するリレーショナルデータベースサービスです。マネージドサービスのため、AWSが定めるSLAで高い水準の可用性が保証されています。しかし、所有するRDSインスタンスやその他AWSリソースのパフォーマンスの低下、およびそれらに起因するシステム障害については、AWS側ではサポートしてもらえません。そのため、所有するAWSリソースがどういった状況にあるかは所有者側で監視する必要があります。
アプリケーション性能管理ツール Applications Manager
RDS監視をする前に明確化すべきこと
Amazon RDSの公式ページでは、RDS監視を行ううえで6つの項目を明確化することが重要とされています。
※以下では、公式ページの6つの項目を端的に言い換えています。
- 監視の目的
- 監視対象のリソース
- 監視の頻度
- 監視に用いるツール
- 監視業務の担当者
- 問題発生時の通知先
CloudWatchによるRDSの監視項目
AWSにはCloudWatchというリソースの監視サービスがあります。CloudWatchを用いることで、所有するRDSインスタンスの監視を実現できます。CloudWatchには300を超えるRDSのための監視メトリクスが用意されています。
例えば、CloudWatchを用いて以下のようなRDSのメトリクスを監視できます。
- CPU/メモリー/ディスク使用率
- ネットワークトラフィック量
- データベース接続数
- ストレージ容量
- 1秒間のディスクI/O操作の平均回数
CloudWatchによるRDS監視の注意点
1.監視できるレベルが限られてしまう
CloudWatchはAWS上のリソースを監視するのに便利なサービスです。例えばCPU使用率やディスク使用率などのOSレベルのメトリクスはCloudWatchで簡単に監視できます。一方で、システムやアプリケーションに関するメトリクスは、CloudWatchで監視できない場合もあります。複雑なシステムを適切に監視して問題がどこにあるか正しく判断するには、クラウド基盤からミドルウェア、その上のアプリケーションまで、システム全体を一元的に管理できる統合監視ツールが必要です。
また、データベースの監視という観点では、CloudWatchの監視対象はデータベースへの接続数やネットワークトラフィックなど、主に外部ネットワークとデータベース間のパフォーマンスです。一方、表領域やキャッシュヒット率、クエリ実行時間など、データベース内部のパフォーマンスの把握はデフォルトではできません。データベースどの部分がボトルネックになっているか把握したい場合は、他のツールを用いて監視するのがおすすめです。
2.RDS以外をまとめて監視するのが難しい
RDSインスタンスを運用している管理者はAWS上で稼働するWebアプリケーションの面倒も見ているというケースは少なくありません。エンドユーザーがストレスなく提供するサービスを使えているかは気になるところです。前述したデータベース特有の監視項目まで見たいという管理者も多いでしょう。
RDSのデータベース特有のメトリクスや、それ以外のリソースも含めたシステム全体を監視し、パフォーマンス改善のための調査をするためには、統合監視が必要であると言えます。しかし、CloudWatchでオンプレミス環境なども含めて統合監視をするには、エージェントの設定が必要であったりすることから、容易ではありません。
代替案:今すぐ簡単にはじめられる統合監視ツール
ManageEngine Applications Managerは、RDSのパフォーマンスに加え、他のパブリッククラウド環境やオンプレミス環境も含め、簡単な設定で統合監視できます。RDS上で発生した問題を、即時に検知することも可能です。
無料で使えます[機能・監視数 無制限]
また、Applications Managerで取得した監視データはデフォルトで1年間保存可能です。表形式のデータ表示やグラフ、統計データ、傾向分析レポートなどのテンプレートが用意されており、監視したシステムのパフォーマンスや稼働状況を、長期間のデータから分析できます。
統合監視ツールのRDS監視機能を活用するメリット
RDSの監視ツールとしてApplications Managerを活用するメリットは以下のとおりです。
- Amazon RDS環境のパフォーマンス情報を詳細に把握し、迅速にトラブルシューティングを行うことができます。エンドユーザーに影響がおよぶ前に、パフォーマンス障害を解決する手助けをします。
- 取得したデータから統計データを算出し、システムリソースの処理能力や数量などを見積もります。最適なシステム構成を計画できます。データに基づいてAmazon RDSインスタンスの利用範囲を決定できます。
- 物理、仮想化、クラウド上のインフラ環境を、単一のコンソールでまとめて監視できます。自社内に設置されたデータセンターと同じ感覚で、AWS上のリソースを監視できます。
- 一部の機能を除きエージェントを使用しません。既存システムに影響を及ぼすことなく、監視を実現します。
可用性、CPU使用率、ストレージ容量
Applications Managerでは、Amazon RDSインスタンスの可用性と稼働状況を監視します。障害が発生した場合は、根本原因解析(RCA) 画面で、障害のトラブルシューティングと分析ができます。CPUの使用状況や、ストレージの空き容量を一目でわかりやすいグラフで表示します。
データベース接続、ネットワークトラフィック、ネットワークの待ち時間
1秒あたりの、アクティブなデータベース接続数、処理能力、ネットワークの読み/書きの待ち時間、ディスクの読み/書き作業を記録します。
パフォーマンスレポート
監視登録したリソースの分析に役立つレポートを作成できます。 Amazon RDSインスタンス全体のパフォーマンスを把握可能なレポートを、利用シーンに合わせた形式で出力できます。クラウドリソースのキャパシティプランニングに役立ちます。
無料で使えます[機能・監視数 無制限]
関連機能
- Amazon EC2監視
AWS EC2の監視機能を紹介します。 - DynamoDB監視
AWSのデータベースDynamoDBの監視機能を紹介します。