1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudWatch Database Insightsを調べてみた

1
Posted at

背景・目的

下記のドキュメントには、Performance Insightが2026/6/30にサポート終了すると記事がありました。
この機能の後継はCloudWatch Database Insightsと記載があるので、機能等を調べてみます。

AWS は、Performance Insights のサポート終了日を 2026 年 6 月 30 日と発表しました。

まとめ

下記に特徴をまとめます。

特徴 説明
Database Insightsのモード スタンダードモードとアドバンスモードの2つがある
料金 アドバンスモードが有料
データ保持 スタンダードモードは、7日間(無料)
アドバンストモードは、15ヶ月間(有料)
ダッシュボード Fleet Health Dashboard とDatabase Instance Dashboardがある

概要

Database Insights のモード

  • アドバンストモードと、スタンダードモードの2つがある
  • デフォルトはスタンダードモード
  • リージョンごとに利用できる機能が異なるようです
  • 下記は、2025/12/28時点のモードごとの比較表です
機能 スタンダード アドバンスト
DB Load の上位の寄与要因をディメンション別で分析
最大7日間の保持期間でメトリクスにクエリ、グラフ、アラーム設定
きめ細かなアクセスコントロールポリシーを定義※1
実行中のプロセスごとに詳細なメトリクスを分析 (拡張モニタリング必要) -
フリート全体のモニタリングビューを作成・保存 -
15ヶ月保持でSQLロックを分析 (Aurora PostgreSQLのみ) -
15ヶ月保持でSQL実行プランを分析 (一部エンジンのみ※2) -
クエリごとの統計を視覚化 -
遅いSQLクエリを分析 (CloudWatch Logs必要) -
CloudWatch Application Signalsで通話サービスを表示 -
すべてのテレメトリの統合ダッシュボード表示 -
Performance Insightsカウンターメトリクスを自動インポート -
CloudWatchでAmazon RDSイベントを表示 -
オンデマンド分析 (一部エンジンのみ※3) -

※1 この機能を使用するには、Amazon RDS 拡張モニタリングが必要
※2 Aurora PostgreSQL、RDS for Oracle、および RDS for SQL Server でのみ対応
※3 Aurora PostgreSQL、Aurora MySQL、RDS for PostgreSQL、RDS for MySQL、RDS for MariaDB、RDS for Oracle でのみサポート

データ保持

  • スタンダードモードは、7日間(無料)
  • アドバンストモードは、15ヶ月間(有料)

CloudWatch Database Insights の Fleet Health Dashboard の表示

image.png

※出典:CloudWatch Database Insights の Fleet Health Dashboard の表示

フリートヘルスビュー

全DBの中から自分が監視したいDBだけを選んでグループ化し、そのグループ全体の状態を一画面で確認できる機能

RDS インスタンスの概要テーブル

フリート内の各インスタンスのアラーム状態、最大DBロード率、および最終状態更新時刻を表示する

インスタンス状態の概要

  • フリート内のすべてのインスタンスの状態を表示する
  • インスタンス状態の概要には、アラームと DB ロードメトリクスに基づく 2 つのビューが表示される
  • Honeycomb の各ノードはインスタンスを表す
  • DB ロードビューに切り替えると、DB ロードメトリクスの観点からフリートの全体的な状態を確認できる
  • データベースロード (DB ロード) は、データベース内のアクティブなセッション数を測定する
    • DB ロードは Database Insights の主要なメトリクス。毎秒収集される

上位 10 個のグラフ

  • DB ロードが最も高い 10 個のインスタンスの DB ロードの経時的な傾向を表示する
  • 相対 DB ロードあたりの上位 10 個のインスタンス] を使用する
  • DBロードが最も高いインスタンスの上位クエリと上位待機イベントも表示される

image.png

※出典:上位 10 個のグラフ

下記のメトリクスを選択できる。(2つの主要なメトリクスを比較する)

  • CPU 使用率 (%)
  • 解放可能なメモリ (%)
  • DB 接続 (%)
  • ネットワークスループット
  • 読み取り IOPS
  • 書き込み IOPS
  • 読み取りレイテンシー
  • 書き込みレイテンシー

image.png

※出典:上位 10 個のグラフ

Amazon RDS イベント

フリート内のインスタンスの RDS イベントを表示する

呼び出しサービステーブル

データベースエンドポイントを呼び出している CloudWatch Application Signals サービス、およびレイテンシーやエラーなどの関連するアプリケーションレベルのメトリクスを表示する

  • DB ロードによって上位 10 個のインスタンスを呼び出しているサービスが表示される
  • 別のインスタンスの呼び出しサービスを表示するには、データベースインスタンスダッシュボードでインスタンスを選択する

CloudWatch Database Insights のデータベースインスタンスダッシュボードの表示

データベースインスタンスダッシュボードを使用して、DB インスタンスの正常性のスナップショットを表示する

データベースロードのグラフ

  • データベースロード (DB ロード) は、データベース内のセッションアクティビティのレベルを測定
  • DB ロードは Database Insights の主要なメトリクスであり、Database Insights は毎秒 DB ロードを収集

image.png

※出典:データベースロードのグラフ

データベース負荷チャートを使用して、サポートされているすべてのデータベース・エンジンの DB ロードを以下のディメンションで分類(グループ化)して表示する

  • オブジェクトのブロック
  • セッションのブロック
  • SQL のブロック
  • データベース
  • ホスト
  • SQL
  • ユーザー
  • 待機
  • アプリケーション
  • 計画
  • セッションタイプ

クエリの統計を分析する

DB ロードが高いクエリの統計を分析することができる。クエリの統計を分析するには、データベースインスタンスビューを選択し、インスタンス、上位SQLタブをクリックする

データベーステレメトリタブ

選択したインスタンスのメトリクス、ログ、イベント、スロークエリを表示する

  • エンジンタイプ(PostgreSQL、MySQL等)ごとにデフォルトダッシュボードがある
  • メトリクスの追加・削除でカスタマイズ可能
  • 1アカウント・1リージョン・1エンジンタイプにつき1つのダッシュボード
  • 変更は自動保存され、同じエンジンタイプの全インスタンスに適用される

image.png
※出典:[データベーステレメトリ] タブ

データベーステレメトリのログセクション

選択した DB インスタンスの CloudWatch Logs にエクスポートされたデータベースログが表示される

OS がデータベーステレメトリのデータを処理する

DB負荷が高い時点をクリックすれば、その瞬間にどのOSプロセスがリソースを消費していたか確認できる。

OSプロセス監視機能

  • DBインスタンスのOS上で実行中のプロセスを監視
  • 各プロセスのメモリ・CPU使用率などを表示
  • データベースロードチャートと連動
    • グラフ上の時点をクリックすると、その時刻のOSプロセス状態を表示
  • タイムスタンプ未選択時は最新データを表示
  • 保持期間はCloudWatch LogsのRDSOSMetricsロググループの設定に依存
  • Amazon RDS 拡張モニタリングが有効になっている場合にのみ使用

プロセスごとに次のデータが表示される

  • プロセス ID – このプロセスの ID
  • 仮想メモリ – プロセスに割り当てられた仮想メモリの量 (キビバイト単位) を表示
  • 残差アドレス – プロセスが使用する実際の物理メモリを表示
  • CPU % – プロセスが使用する合計 CPU 帯域幅のパーセンテージを表示
  • メモリ % – プロセスが使用する合計メモリのパーセンテージを表示
  • VM 制限 – プロセスに割り当てることができる仮想メモリの最大量を表示
    • この列の値が 0 の場合、VM の制限はそのプロセスには適用されない

データベーステレメトリのスロー SQL クエリセクション

前提条件は下記の通り

  • CloudWatch Logsへのログエクスポート有効化
  • DBパラメータでスロークエリログ設定

下記の機能を有している

  • 頻度順にスロークエリパターンを表示
  • パターンをクリックすると該当する具体的なクエリ一覧を表示
  • 設定したしきい値を超えたクエリのみ統計表示

イベントテーブル

DB インスタンスの RDS イベントを表示する

サービスタブの呼び出し

  • CloudWatch Application Signalsと統合
  • DBを呼び出しているサービスとオペレーションを表示
  • 可用性、レイテンシー、エラー、ボリュームのメトリクスを提供
  • Auroraクラスターは、ライター/リーダーエンドポイント単位で表示(個別インスタンスは表示しない)
  • RDSクラスターは、呼び出された具体的なインスタンス単位で表示

CloudWatch Database Insights を使用した Amazon Aurora PostgreSQL のロックツリーの分析

ロックによるパフォーマンスの問題をトラブルシューティングするには、CloudWatch Database Insights で Amazon Aurora PostgreSQL データベースのロックツリーを分析できる

  • ロックツリー可視化により、どのセッションがどのセッションをブロックしているか階層表示可能
  • 15秒ごとのスナップショットにより、特定時点のロック状態を記録可能
  • 高ロック検出により、15分間連続でロックが発生すると自動検出・通知可能

CloudWatch Database Insights を使用した実行プランの分析

Amazon Aurora PostgreSQL、RDS for Microsoft SQL Server、RDS for Oracle データベースの実行計画を分析できる

前提条件

  • Database Insights アドバンストモードが必須
  • Aurora PostgreSQLでは、下記の条件が必要
    • バージョン 14.10、15.5以降
    • DBクラスターパラメータでaurora_compute_plan_id = onに設定

考察

今回、Database Insightsを調べてみました。今後実際に試してみます。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?