AWS RDS(Relational Database Service)の拡張モニタリング(Enhanced Monitoring)とは、RDSインスタンスのOSレベルのメトリクスをリアルタイムに収集・表示する機能です。通常のCloudWatchモニタリングよりも詳細かつ高頻度の情報が得られます。
✅ 主な特徴
項目 |
内容 |
🔍 取得範囲 |
CPU、メモリ、ディスクI/O、ネットワーク、プロセスなど「OSレベル」の詳細情報 |
📈 取得間隔 |
1秒~60秒の範囲で指定可能(CloudWatchは最小1分) |
🧠 監視対象 |
DBインスタンスの仮想マシン(ホストOS)で実行されているプロセス情報も含む |
💾 出力先 |
CloudWatch Logs(ロググループ)にJSON形式で出力される |
🛠️ 有効化 |
RDSインスタンスの「拡張モニタリング」設定でONにするだけ(再起動不要) |
🧪 CloudWatchとの違い
比較項目 |
CloudWatch(標準) |
拡張モニタリング |
粒度 |
最小1分 |
最小1秒 |
情報範囲 |
DBの論理状態(CPU使用率、ストレージ使用量など) |
OSレベルのリソース詳細、プロセス単位情報 |
出力先 |
CloudWatch |
CloudWatch Logs |
料金 |
無料(基本) |
CloudWatch Logsの出力量に応じて課金 |
📊 取得できる具体的メトリクス例
- CPU使用率(システム、ユーザ、アイドル)
- メモリ使用量(実メモリ、スワップ)
- ディスクIO(読み書きバイト数・IOPS)
- ネットワーク帯域
- プロセス一覧(MySQL, PostgreSQLなどのプロセス単位負荷)
- OSスレッド数やファイルディスクリプタ使用量
🧰 有効化方法(マネジメントコンソール例)
- RDSインスタンスの設定画面へ
- 「モニタリング」タブを開く
- 「拡張モニタリング」→ 有効化
- モニタリング間隔(例:1秒、5秒、60秒)を選択
- IAMロール(
rds-monitoring-role
など)を指定または自動作成
💰 コストに注意
- 拡張モニタリング自体は無料ですが、出力されるデータはCloudWatch Logsの課金対象になります。
- 例えば1秒間隔で設定すると大量のログが出力され、費用がかさむことがあります。
- 通常は 5秒または10秒間隔 がバランス良好。
✅ まとめ
項目 |
内容 |
機能名 |
Enhanced Monitoring(拡張モニタリング) |
目的 |
OSレベルの詳細な監視 |
利点 |
高速・高解像度、プロセス単位で分析可能 |
欠点 |
CloudWatch Logs費用が発生する |
推奨用途 |
パフォーマンスボトルネック調査、CPUスパイク分析、詳細チューニング前の確認など |