Amazon Aurora レポート取得ガイド — はじめに
Oracle AWR との対応関係と取得方法の概要
Oracle AWR レポートで確認できる情報を Amazon Aurora で取得するには、AWS マネージドサービスの特性を踏まえた複数の方法を組み合わせる必要があります。 本シリーズでは Performance Insights・Enhanced Monitoring・CloudWatch メトリクス・Performance Schema(Aurora MySQL)/ pg_stat_*(Aurora PostgreSQL)・スロークエリログ / 監査ログ の5つの取得方法を個別に解説し、各方法で取得できるセクションを定義します。
1. Oracle AWR と Amazon Aurora の違い
Oracle Database の AWR(Automatic Workload Repository)は、DB 全体の統計スナップショットを 自動収集・蓄積し、任意の期間のパフォーマンスレポートを生成する仕組みです。 Amazon Aurora には AWR に相当する単一の統合レポート機能は存在しませんが、 AWS マネジメントコンソールや各種 AWS サービス、データベースエンジン固有の機能を組み合わせることで同等の情報を取得できます。
Amazon Aurora には Aurora MySQL(MySQL 互換)と Aurora PostgreSQL(PostgreSQL 互換)の2エンジンがあります。 エンジン固有の取得方法(Performance Schema・pg_stat_* など)は対象エンジンが異なりますが、 Performance Insights・Enhanced Monitoring・CloudWatch メトリクスは両エンジンで共通して利用できます。
| 観点 | Oracle AWR | Amazon Aurora |
|---|---|---|
| 統計収集の仕組み | 自動スナップショット(デフォルト60分間隔) | Performance Insights が1秒単位でDBロードを収集。CloudWatch は1分〜1秒粒度のメトリクスを保持。 |
| レポート出力 | awrrpt.sql で HTML/TEXT レポートを生成 | 単一の統合レポートはなく、マネジメントコンソール・SQL・ログを組み合わせて取得 |
| SQL 統計 | SQL Statistics セクション(Elapsed Time 順など) | Performance Insights のトップ SQL / Performance Schema(Aurora MySQL)/ pg_stat_statements(Aurora PostgreSQL) |
| 待機イベント | Top 5 Timed Events・Wait Event Histogram | Performance Insights の待機イベント分析・Enhanced Monitoring のプロセス情報 |
| I/O 統計 | Tablespace I/O・File I/O | CloudWatch の VolumeReadIOPs / VolumeWriteIOPs・Enhanced Monitoring の I/O 情報 |
| 履歴保持 | AWR 保存期間(デフォルト8日)内で任意期間比較可能 | Performance Insights は最大2年間(有料)。CloudWatch は標準15ヶ月保持。 |
| 実行計画 | SQL 実行計画は AWR に自動保存 | EXPLAIN / EXPLAIN ANALYZE で個別に取得。Performance Insights から特定 SQL を選択して確認。 |
| スナップショット比較 | 2スナップショット間の差分レポート | Performance Insights のタイムレンジ比較・CloudWatch メトリクスの期間比較 |
2. Amazon Aurora における5つの取得方法
① Performance Insights(PART 02)
AWS が提供する Aurora 専用のパフォーマンス分析サービス。 DB ロード(AAS: Average Active Sessions)をリアルタイムかつ過去に遡って可視化し、 待機イベント・トップ SQL・ユーザー・ホスト別に分解できる。 Oracle AWR の Top 5 Timed Events・SQL Statistics に最も近い情報源。 Aurora クラスター作成時に有効化可能(無料期間あり・長期保持は有料)。
② Enhanced Monitoring(PART 03)
OS レベルのリアルタイムメトリクスを1秒粒度で収集する機能。 CPU・メモリ・ディスク I/O・ネットワーク・プロセスリストを取得でき、 CloudWatch Logs に自動送信される。 Oracle AWR の OS 統計・Instance Activity の補足情報に相当。 RDS インスタンスに対して有効化するとエージェントが起動する。
③ CloudWatch メトリクス(PART 04)
Aurora が自動的に発行する CloudWatch メトリクス群。 接続数・スループット・レイテンシ・I/O・バッファキャッシュヒット率・レプリケーション遅延などを含む。 Oracle AWR の Instance Activity・I/O Statistics・Buffer Pool 統計に対応。 追加設定なしで利用可能。アラームとの連携や Contributor Insights との組み合わせも可能。
④ Performance Schema / pg_stat_* ビュー(PART 05)
Aurora MySQL では MySQL の Performance Schema、Aurora PostgreSQL では pg_stat_* ビューおよび pg_stat_statements 拡張を利用して SQL レベルの詳細統計を取得する。 Oracle AWR の SQL Statistics・Wait Event 詳細に対応するエンジン固有の情報源。 Performance Insights と組み合わせることで深掘り分析が可能。
⑤ スロークエリログ / 監査ログ(PART 06)
Aurora MySQL のスロークエリログ・一般クエリログ、Aurora PostgreSQL の
log_min_duration_statement によるスロークエリログを CloudWatch Logs に出力・分析する方法。
Oracle AWR の SQL Statistics(重い SQL の自動検出)に対応。
CloudWatch Logs Insights を使ったクエリ分析や、外部ツールとの連携が可能。
3. AWR セクションと Aurora 取得方法の対応表
| AWR セクション | ① Performance Insights |
② Enhanced Monitoring |
③ CloudWatch メトリクス |
④ Performance Schema/ pg_stat_* |
⑤ スロークエリ ログ |
|---|---|---|---|---|---|
| DB Time / Elapsed Time | ◎ | — | ○ | ○ | ○ |
| Top 5 Timed Events(待機イベント) | ◎ | — | — | ◎ | — |
| SQL Statistics(重い SQL) | ◎ | — | — | ◎ | ◎ |
| Instance Activity(接続数・コミット数など) | ○ | ○ | ◎ | ○ | — |
| I/O Statistics(ファイル I/O) | ○ | ◎ | ◎ | ○ | — |
| Buffer Pool / Memory(共有バッファ) | ○ | ○ | ◎ | ◎ | — |
| Lock Statistics(ロック待ち) | ◎ | — | — | ◎ | — |
| OS 統計(CPU・メモリ) | — | ◎ | ◎ | — | — |
| 実行計画(アクセスパス) | △ | — | — | ◎ | △ |
| DB パラメータ(初期化パラメータ) | — | — | — | ◎ | — |
| レプリケーション統計 | — | — | ◎ | ○ | — |
◎ = 詳細情報が取得可能 / ○ = 一部取得可能 / △ = 限定的 / — = 対応なし
4. Aurora エンジンバージョンと機能対応
| 機能 | Aurora MySQL 3.x (MySQL 8.0 互換) | Aurora PostgreSQL 15/16 | 備考 |
|---|---|---|---|
| Performance Insights | ◎ | ◎ | 両エンジン共通。有効化はインスタンス設定で行う。 |
| Enhanced Monitoring | ◎ | ◎ | IAM ロール(rds-monitoring-role)が必要。 |
| CloudWatch メトリクス | ◎ | ◎ | 追加設定不要。標準メトリクスは無料。 |
| Performance Schema | ◎ | — | Aurora MySQL のみ。パラメータグループで有効化。 |
| pg_stat_* ビュー / pg_stat_statements | — | ◎ | Aurora PostgreSQL のみ。pg_stat_statements はパラメータグループで有効化。 |
| スロークエリログ | ◎ | ◎ | Aurora MySQL: slow_query_log パラメータ。Aurora PostgreSQL: log_min_duration_statement。 |
| Database Activity Streams | ◎ | ◎ | 監査ログのリアルタイムストリーミング。Kinesis Data Streams と連携。 |
| Performance Insights API | ◎ | ◎ | AWS CLI・SDK からプログラム的にデータ取得可能。 |
Aurora Serverless v2 では Enhanced Monitoring の一部メトリクスやパラメータグループの制約があります。 Serverless v2 では ACU(Aurora Capacity Units)のスケーリングに関連するメトリクスも確認が必要です。
5. シリーズ構成
| PART | タイトル | 主な対応 AWR セクション |
|---|---|---|
| PART 01(本記事) | はじめに — Oracle AWR との対応関係と取得方法の概要 | 全体概要・対応表 |
| PART 02 | Performance Insights による取得とセクション定義 | DB Time・Top 5 Timed Events・SQL Statistics・待機イベント・ロック |
| PART 03 | Enhanced Monitoring による取得とセクション定義 | OS 統計・CPU・メモリ・I/O・プロセスリスト |
| PART 04 | CloudWatch メトリクスによる取得とセクション定義 | Instance Activity・I/O Statistics・Buffer Pool・レプリケーション |
| PART 05 | Performance Schema / pg_stat_* ビューによる取得とセクション定義 | SQL Statistics・待機イベント・ロック・バッファ・実行計画 |
| PART 06 | スロークエリログ / 監査ログによる取得とセクション定義 | SQL Statistics(重い SQL の自動検出)・監査証跡・CloudWatch Logs Insights |