「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
拡張モニタリング
Amazon RDS には、DB インスタンスが実行されているオペレーティングシステム (OS) のリアルタイムのメトリクスが用意されています。コンソールを使用して DB インスタンスのメトリクスを表示できます。また、選択したモニタリングシステムで Amazon CloudWatch Logs からの拡張モニタリング JSON 出力を使用できます。
デフォルトでは、拡張モニタリングメトリクスは 30 日間 CloudWatch Logs に保存されますが、これは一般的な CloudWatch メトリクスとは異なります。メトリクスが
CloudWatch Logs に保存される時間の長さを変更するには、CloudWatch コンソールの RDSOSMetrics
ロググループの保存期間を変更します。詳細については、Amazon CloudWatch Logs User Guideの「CloudWatch ログでのログデータ保管期間の変更」を参照してください。
拡張モニタリングメトリクスは Cloudwatch メトリクスではなく CloudWatch ログに保存されるため、拡張モニタリングのコストは以下のいくつかの要因によって異なります。
-
料金は、Amazon CloudWatch Logs に示された無料利用枠を超えた拡張モニタリングに対してのみ発生します。
料金の詳細については、「Amazon CloudWatch の料金
」を参照してください。 -
モニタリング間隔を短くすると、OS メトリクスのレポート回数が増え、モニタリングコストが高くなります。
-
拡張モニタリングの使用コストは、拡張モニタリングが有効になっている各 DB インスタンスに適用されます。多数の DB インスタンスをモニタリングすると、少数の DB インスタンスをモニタリングするよりもコストが高くなります。
-
複数のコンピューティング集中型のワークロードをサポートする DB インスタンスでは、レポートする OS プロセスアクティビティが増え、拡張モニタリングのコストがより高くなります。
CloudWatch と拡張モニタリングのメトリクスの相違点
CloudWatch は DB インスタンスのハイパーバイザーから CPU 使用率のメトリクスを収集し、拡張モニタリングはインスタンス上のエージェントからそのメトリクスを収集します。そのため、ハイパーバイザーレイヤーで少量の処理が実行されるため、測定値間に違いが見つかることがあります。DB インスタンスが使用するインスタンスクラスが小さくなるほど、この違いは大きくなることがあります。多くの場合、1 つの物理インスタンスのハイパーバイザーレイヤーによって管理される仮想マシン (VM) の数が増えるためです。拡張モニタリングのメトリクスが便利なのは、DB インスタンス上のさまざまなプロセスやスレッドがどのように CPU を使用しているかを表示するときです。
拡張モニタリングの設定と有効化
拡張モニタリングを使用するには、IAM ロールを作成し、拡張モニタリングを有効にする必要があります。
拡張モニタリング用の IAM ロールの作成
拡張モニタリングには、CloudWatch Logs に OS メトリクスの情報を送るためのアクセス権限が必要です。AWS Identity and Access Management (IAM) ロールを使用して、拡張モニタリングに必要なアクセス許可を付与します。
拡張モニタリングを有効にしたときの IAM ロールの作成
RDS コンソールで拡張モニタリングを有効にすると、Amazon RDS は必要な IAM ロールを作成できます。ロールの名前は rds-monitoring-role
です。RDS は、指定済み DB インスタンスまたはリードレプリカに対してこのロールを使用します。
拡張モニタリングを有効にするときに、IAM ロールを作成するには
-
拡張モニタリングの有効化と無効化 の手順を行います。
-
ロールを選択する手順で、[ モニタリングロール ] を [ デフォルト ] に設定します。
拡張モニタリングを有効にする前の IAM ロールの作成
拡張モニタリングを有効にする前に、必要なロールを作成できます。拡張モニタリングを有効にする場合は、新しいロールの名前を指定します。AWS CLI または RDS API を使用して拡張モニタリングを有効にする場合は、この必要なロールを作成する必要があります。
拡張モニタリングを有効にするユーザーには、PassRole
アクセス許可を付与する必要があります。詳細については、IAM ユーザーガイドの「AWS サービスにロールを渡すアクセス許可をユーザーに許可する」の「例 2」を参照してください。
Amazon RDS 拡張モニタリング用の IAM ロールを作成するには
-
IAM コンソール
(https://console.aws.amazon.com ) を開きます。 -
ナビゲーションペインで [Roles (ロール) ] を選択します。
-
[ロールの作成] を選択します。
-
[AWS のサービス] タブを選択し、サービスのリストから [RDS] を選択します。
-
[RDS - 拡張モニタリング]、[次へ: アクセス許可] の順に選択します。
-
[アタッチされたアクセス許可ポリシー] ページに [AmazonRDSEnhancedMonitoringRole] が表示されていることを確認し、[次へ : タグ] を選択します。
-
[タグの追加] ページで、[次へ: レビュー] を選択します。
-
[ロール名] に、ロールの名前を入力します。たとえば、「
emaccess
」と入力します。ロールの信頼されたエンティティは、AWS サービスmonitoring.rds.amazonaws.comです。
-
[Create role (ロールの作成)] を選択します。
拡張モニタリングの有効化と無効化
拡張モニタリングを有効または無効にするには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用します。
拡張モニタリングは、DB クラスターまたはリードレプリカを作成するときか、DB クラスターを変更するときに有効にできます。DB インスタンスを変更して拡張モニタリングを有効にした場合は、変更を有効にするために DB インスタンスを再起動する必要はありません。
以下のいずれかの操作を行うときに、RDS コンソールで拡張モニタリングを有効にすることができます。
-
DB クラスターを作成する – 拡張モニタリングは、[Additional configuration (追加設定)] の [Monitoring (モニタリング)] セクションで有効にできます。
-
リードレプリカを作成する – 拡張モニタリングは [Monitoring (モニタリング)] セクションで有効にできます。
-
DB インスタンスを変更する – 拡張モニタリングは [Monitoring (モニタリング)] ページで有効にできます。
RDS コンソールを使用して拡張モニタリングを有効にするには
-
[モニタリング] セクションまでスクロールします。
-
DB インスタンスまたはリードレプリカの [Enable enhanced monitoring (拡張モニタリングを有効にする)] を選択します。拡張モニタリングを無効にするには、[拡張モニタリングを無効にする] を選択します。
-
[Monitoring Role] プロパティで、Amazon CloudWatch Logs との通信を Amazon RDS に許可するために作成した IAM ロールに設定するか、[Default] を選択して、RDS によって
rds-monitoring-role
という名前でロールが作成されるようにします。 -
[Granularity (詳細度)] プロパティを、DB インスタンスまたはリードレプリカのメトリクスが収集される間隔 (秒単位) に設定します。[詳細度] プロパティは、
1
、5
、10
、15
、30
、60
のいずれかの値に設定できます。
RDS コンソールは最速で 5 秒ごとに更新されます。RDS コンソールで詳細度を 1 秒に設定しても、メトリクスはやはり 5 秒ごとに更新されます。1 秒ごとにメトリクスの更新を取得するには、CloudWatch Logs を使用します。
AWS CLI を使用して拡張モニタリングを有効にするには、次のコマンドで --monitoring-interval
オプションを 0
以外の値に設定し、--monitoring-role-arn
オプションを 拡張モニタリング用の IAM ロールの作成 で作成したロールに設定します。
--monitoring-interval
オプションにより、拡張モニタリングのメトリクスが収集される時間点の間隔 (秒単位) が指定されます。オプションの有効な値は、0
、1
、5
、10
、15
、30
、および 60
です。
AWS CLI を使用して拡張モニタリングを無効にするには、次のコマンドで --monitoring-interval
オプションを 0
に設定します。
例
次の例では、DB インスタンスの拡張モニタリングを有効にします。
Linux、macOS、Unix の場合:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --monitoring-interval30
\ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
Windows の場合:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --monitoring-interval30
^ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
RDS API を使用して拡張モニタリングを有効にするには、次のオペレーションで MonitoringInterval
パラメータを0
以外の値に設定し、 MonitoringRoleArn
パラメータを 拡張モニタリング用の IAM ロールの作成 で作成したロールに設定します。
MonitoringInterval
パラメータにより、拡張モニタリングのメトリクスが収集される時間点の間隔 (秒単位) が指定されます。パラメータの有効な値は、0
、1
、5
、10
、15
、 30
、および 60
です。
RDS API を使用して拡張モニタリングを無効にするには、これらのオペレーションで MonitoringInterval
パラメータを 0
に設定します。
拡張モニタリングの表示
拡張モニタリングによってレポートされた OS のメトリクスを RDS コンソールで表示するには、[モニタリング] の [拡張モニタリング] を選択します。
拡張モニタリングページは、以下に表示されます。
![[Dashboard] ビュー](images/metrics1.png)
DB インスタンスで実行中のプロセスの詳細を確認する場合は、[モニタリング] の [OS プロセスリスト] を選択します。
[処理一覧] ビューは次のように表示されます。
![[Process List] ビュー](images/metrics2.png)
[処理一覧] ビューに表示される拡張モニタリングのメトリクスは以下のように整理されます。
-
[RDS child processes] – DB インスタンスをサポートする RDS プロセス (Amazon Aurora DB クラスターの場合は
aurora
、) の概要を表示します。プロセスのスレッドは親プロセスの下にネストされて表示されます。プロセスのスレッドには CPU 使用率のみが表示されます。他のメトリクスはプロセスのすべてのスレッドで同じであるためです。コンソールには最大 100 個のプロセスとスレッドが表示されます。結果は、プロセスとスレッドを消費している上位の CPU とメモリの組み合わせです。プロセスとスレッドが 50 個よりも多い場合、コンソールではカテゴリ別に上位 50 個の消費元が表示されます。この表示は、パフォーマンスに最大の影響を与えているプロセスを特定するために役立ちます。 -
[RDS processes] – RDS DB インスタンスをサポートするために必要な RDS 管理エージェント、診断モニタリングプロセス、その他の AWS プロセスによって使用されているリソースの概要を表示します。
-
[OS processes] – 一般的にパフォーマンスに最小の影響を与えているカーネルとシステムプロセスの概要を表示します。
各プロセスに対して表示される項目は次のとおりです。
-
VIRT – プロセスの仮想サイズを表示します。
-
RES – プロセスが使用する実際の物理メモリを表示します。
-
[CPU%] – プロセスで使用されている合計 CPU 帯域幅のパーセンテージを表示します。
-
[MEM%] – プロセスで使用されている合計メモリのパーセンテージを表示します。
RDS コンソールに表示するモニタリングデータは、Amazon CloudWatch Logs から取得されます。また、DB インスタンスのメトリクスも CloudWatch Logs からログストリームとして取得できます。詳細については、「CloudWatch Logs を使用した拡張モニタリングの表示」を参照してください。
以下の実行中は拡張モニタリングメトリクスは返されません:
-
DB インスタンスのフェイルオーバー。
-
DB インスタンスのインスタンスクラスの変更 (コンピューティングのスケール)。
拡張モニタリングのメトリクスは DB インスタンスの再起動中も返されます。これはデータベースエンジンのみが再起動するためです。オペレーティングシステムのメトリクスは、引き続き報告されます。
CloudWatch Logs を使用した拡張モニタリングの表示
DB インスタンスの拡張モニタリングを有効にした後、CloudWatch Logs を使用して DB インスタンスのメトリクスを表示できます。各ログストリームはモニタリング中の
1 つの DB インスタンスを表します。ログストリーム識別子は DB インスタンスのリソース識別子 (DbiResourceId
) です。
拡張モニタリングのログデータを表示するには
-
https://console.aws.amazon.com/cloudwatch/
にある CloudWatch コンソールを開きます。 -
必要に応じて、DB インスタンスがあるリージョンを選択します。詳細については、Amazon Web Services 全般のリファレンスの「リージョンとエンドポイント」を参照してください。
-
ナビゲーションペインで [Logs (ログ)] を選択します。
-
ロググループのリストから [RDSOSMetrics] を選択します。
-
ログストリームのリストから、表示するログストリームを選択します。
使用可能な OS メトリクス
以下の表では、Amazon CloudWatch Logs で使用できる OS メトリクスを示しています。
Aurora のメトリクス
グループ | メトリクス | コンソール名 | 説明 |
---|---|---|---|
|
|
該当しません |
DB インスタンスのデータベースエンジン。 |
|
該当しません |
DB インスタンス識別子。 |
|
|
該当しません |
AWS リージョンに固有の DB インスタンスの不変の識別子。ログストリーム識別子としても使用されます。 |
|
|
該当しません |
DB インスタンスの仮想 CPU の数。 |
|
|
該当しません |
メトリクスが作成された時間。 |
|
|
該当しません |
DB インスタンスがアクティブになってからの経過時間。 |
|
|
該当しません |
OS メトリクスのストリーム JSON 形式のバージョン。 |
|
|
|
CPU ゲスト |
ゲストプログラムが使用中の CPU の使用率。 |
|
CPU アイドル |
アイドル状態の CPU の使用率。 |
|
|
CPU IRQ |
ソフトウェア割り込みが使用中の CPU の使用率。 |
|
|
CPU Nice |
最も低い優先順位で実行されているプログラムが使用中の CPU の使用率。 |
|
|
CPU Steal |
他の仮想マシンが使用中の CPU の使用率。 |
|
|
CPU システム |
カーネルが使用中の CPU の使用率。 |
|
|
CPU 合計 |
使用中の CPU の合計使用率。この値は |
|
|
CPU ユーザー |
ユーザープログラムが使用中の CPU の使用率。 |
|
|
CPU 待機 |
I/O アクセスを待機中の CPU の未使用率。 |
|
|
|
平均キューサイズ |
I/O デバイスのキューで待機中のリクエストの数。 |
|
平均リクエストサイズ |
平均リクエストサイズ (キロバイト単位)。 |
|
|
ディスク I/O 待機 |
リクエストへの応答に必要なミリ秒数 (キュー時間とサービス時間を含む)。 |
|
|
該当しません |
使用中のディスクデバイスの識別子。 |
|
|
ディスクキューの深さ |
ディスクへのアクセスを待機している保留中の入出力 (I/O) リクエストの数。 |
|
|
読み取り I/O/秒 |
読み取りオペレーションの 1 秒あたりの数。 |
|
|
読み取り合計 |
読み取りの合計キロバイト数。 |
|
|
読み取り KB/秒 |
読み取りの 1 秒あたりのキロバイト数。 |
|
|
読み取りレイテンシー |
読み取り I/O リクエスト送信からその完了までの経過時間(ミリ秒単位)。 このメトリクスは Amazon Aurora にのみ使用できます。 |
|
|
読み取りスループット |
DB クラスターへのリクエストによって使用されるネットワークスループットの量 (バイト/秒単位)。 このメトリクスは Amazon Aurora にのみ使用できます。 |
|
|
Rrqms |
キューに入れられてマージされた読み取りリクエストの 1 秒あたりの数。 |
|
|
TPS |
I/O トランザクションの 1 秒あたりの数。 |
|
|
ディスク I/O 使用率 |
リクエスト発行中の CPU 時間の消費率。 |
|
|
書き込み IO/秒 |
書き込みオペレーションの 1 秒あたりの数。 |
|
|
書き込み合計 |
書き込みの合計キロバイト数。 |
|
|
書き込み KB/秒 |
書き込みの 1 秒あたりのキロバイト数。 |
|
|
書き込みレイテンシー |
書き込み I/O リクエスト送信から完了までの平均経過時間(ミリ秒単位)。 このメトリクスは Amazon Aurora にのみ使用できます。 |
|
|
書き込みスループット |
DB クラスターからのレスポンスによって使用されるネットワークスループットの量 (バイト/秒単位)。 このメトリクスは Amazon Aurora にのみ使用できます。 |
|
|
Wrqms |
キューに入れられてマージされた書き込みリクエストの 1 秒あたりの数。 |
|
|
|
最大 i ノード |
ファイルシステム用に作成できるファイルの最大数。 |
|
該当しません |
ファイルシステムへのパス。 |
|
|
該当しません |
ファイルシステムの名前。 |
|
|
合計ファイルシステム |
ファイルシステムに使用できるディスク領域の合計量 (キロバイト単位)。 |
|
|
使用済みファイルシステム |
ファイルシステム内のファイルが使用中のディスク領域の量 (キロバイト単位)。 |
|
|
使用済み (%) |
使用中のファイルの割合。 |
|
|
使用済み i ノード |
ファイルシステム内のファイルの数。 |
|
|
使用済み i ノード % |
ファイルシステムが使用中のディスク領域の割合。 |
|
|
|
平均負荷 (15 分) |
過去 15 分間に CPU 時間をリクエストしたプロセスの数。 |
|
平均負荷 (5 分) |
過去 5 分間に CPU 時間をリクエストしたプロセスの数。 |
|
|
平均負荷 (1 分) |
過去 1 分間に CPU 時間をリクエストしたプロセスの数。 |
|
|
|
アクティブなメモリ |
割り当てられたメモリの量 (キロバイト単位)。 |
|
バッファ済みメモリ |
ストレージデバイスへの書き込み前に I/O バッファリングリクエストに使用されたメモリの量 (キロバイト単位)。 |
|
|
キャッシュ済みメモリ |
ファイルシステムベースの I/O のキャッシュに使用されたメモリの量。 |
|
|
ダーティメモリ |
変更されたがストレージ内のその関連データブロックに書き込まれなかった RAM 内のメモリページの量 (キロバイト単位)。 |
|
|
空きメモリ |
未割り当てのメモリの量 (キロバイト単位)。 |
|
|
huge ページ (空き) |
空き huge ページの数。huge ページは Linux カーネルの機能です。 |
|
|
huge ページ (予約) |
コミットされた huge ページの数。 |
|
|
huge ページサイズ |
各 huge ページユニットのサイズ (キロバイト単位)。 |
|
|
huge ページ (余剰) |
使用可能な huge ページの余剰数/合計数。 |
|
|
huge ページ (合計) |
huge ページの合計数。 |
|
|
非アクティブメモリ |
最も使用されていないメモリページの量 (キロバイト単位)。 |
|
|
マップ済みメモリ |
プロセスアドレス空間内でメモリマップされているファイルシステムの内容の合計量 (キロバイト単位)。 |
|
|
ページテーブル |
ページテーブルが使用中のメモリの量 (キロバイト単位)。 |
|
|
スラブメモリ |
再利用可能なカーネルデータ構造体の量 (キロバイト単位)。 |
|
|
合計メモリ |
メモリの合計量 (キロバイト単位)。 |
|
|
書き戻しメモリ |
バックアップストレージにまだ書き込み中の RAM 内のダーティページの量 (キロバイト単位)。 |
|
|
|
該当しません |
DB インスタンスに使用中のネットワークインターフェイスの識別子。 |
|
RX |
1 秒あたりの受信バイト数。 |
|
|
TX |
1 秒あたりのアップロードバイト数。 |
|
|
|
CPU % |
プロセスが使用中の CPU の使用率。 |
|
該当しません |
プロセスの識別子。 |
|
|
MEM% |
プロセスが使用中のメモリの使用率。 |
|
|
該当しません |
プロセスの名前。 |
|
|
該当しません |
プロセスの親プロセスの識別子。 |
|
|
RES |
プロセスに割り当てられたメモリの量 (キロバイト単位)。 |
|
|
該当しません |
スレッドグループ識別子 (スレッドが属するプロセス ID を表す番号)。この識別子は同じプロセスのグループスレッドに使用されます。 |
|
|
VIRT |
プロセスに割り当てられた仮想メモリの量 (キロバイト単位)。 |
|
|
|
スワップ |
使用可能なスワップメモリの量 (キロバイト単位)。 |
|
スワップイン |
ディスクからスワップされたメモリの量 (キロバイト単位)。 |
|
|
スワップアウト |
ディスクにスワップされたメモリの量 (キロバイト単位)。 |
|
|
空きスワップ |
空きスワップメモリの量 (キロバイト単位)。 |
|
|
コミット済みスワップ |
キャッシュメモリとして使用されたスワップメモリの量 (キロバイト単位)。 |
|
|
|
ブロック済みタスク |
ブロックされているタスクの数。 |
|
実行中のタスク |
実行中のタスクの数。 |
|
|
スリープ中のタスク |
スリープ中のタスクの数。 |
|
|
停止済みタスク |
停止中のタスクの数。 |
|
|
タスク合計 |
タスクの合計数。 |
|
|
Zombie タスク |
アクティブな親タスクの非アクティブな子タスクの数。 |