このトピックでは、RDS 読み取り専用インスタンスで利用可能なインスタンスタイプと、その具体的な構成について説明します。
RDS では、読み取り専用インスタンスを追加することで、読み取りパフォーマンスをスケールアウトできます。
プライマリインスタンスタイプの詳細については、「プライマリインスタンスタイプ」をご参照ください。
各データベースエンジンで利用可能な読み取り専用インスタンスタイプ
インスタンスファミリー
インスタンスファミリーはリソースの割り当て方法を決定し、インスタンスのパフォーマンスに直接影響します。
ファミリー | ストレージクラス | 専用/共有リソース | 説明 |
汎用 | クラウドディスク |
| 物理サーバーが高負荷の場合、パフォーマンスが変動することがあります。 |
プレミアムローカル SSD |
| ||
専用 | クラウドディスク | CPU、メモリ、記憶媒体、I/O リソースが完全に専用です。 | リソース競合がなく、安定したパフォーマンスを提供します。 |
プレミアムローカル SSD |
| ||
専用物理サーバー | プレミアムローカル SSD | CPU、メモリ、記憶媒体、I/O リソースが完全に専用です。 | 最高のパフォーマンス安定性と隔離性を提供します。 |
IOPS
IOPS (1 秒あたりの I/O 操作) は、ストレージシステムが読み取りおよび書き込みリクエストを処理する能力を測定する指標です。これは、ランダム I/O パフォーマンスの主要なメトリックです。インスタンスの IOPS に影響を与える主な要因は、インスタンスタイプ、ストレージクラス、およびストレージ容量です。インスタンスタイプの最大 IOPS は、各エンジンの読み取り専用インスタンスタイプテーブルで確認できます。インスタンスの実際の最大 IOPS は、次のように計算されます:
プレミアムローカル SSD を使用するインスタンス:実際の最大 IOPS は、インスタンスタイプのみによって決定されます。プライマリインスタンスタイプテーブルに記載されている値が、インスタンスの実際の最大 IOPS です。
クラウドディスクを使用するインスタンス:実際の最大 IOPS は、インスタンスタイプ、ストレージ容量、およびストレージクラスによって決定されます。計算式は次のとおりです:
ストレージクラス
実際の最大 IOPS の計算式 (ストレージ容量単位:GB)
高性能クラウドディスク
min{インスタンスタイプの最大 IOPS, 1,000,000}min{インスタンスタイプの最大 IOPS, 1,800 + 50 * ストレージ容量, 50,000}企業向け SSD (ESSD)
PL3
min{インスタンスタイプの最大 IOPS, 1,800 + 50 * ストレージ容量, 1,000,000}PL2
min{インスタンスタイプの最大 IOPS, 1,800 + 50 * ストレージ容量, 100,000}PL1
min{インスタンスタイプの最大 IOPS, 1,800 + 50 * ストレージ容量, 50,000}標準 SSD
min{インスタンスタイプの最大 IOPS, 1,800 + 30 * ストレージ容量, 25,000}
例:PL1 の ESSD を使用し、インスタンスタイプが mysql.x2.large.2c、ストレージ容量が 20 GB のインスタンスの実際の IOPS を計算します。
制限要因 | 説明 |
インスタンスタイプ | プライマリインスタンスタイプテーブルをクエリします。 |
ストレージ容量 | 20 GB のストレージ容量の最大 IOPS は |
ストレージクラス | PL1 ESSD の最大 IOPS は |
このインスタンスの実際の最大 IOPS は、これら 3 つの値の最小値である 2,800 です。パフォーマンスは主にストレージ容量によって制限されます。
データベースの実際の読み取り/書き込み回数は、ディスクの I/O 操作回数と同じではありません。たとえば、デフォルトでは、1 回の MySQL の読み取り/書き込み操作は 16 KB ですが、クラウドディスクの I/O ブロックサイズは 4 KB です。したがって、1 回の MySQL の読み取り/書き込み操作で、ディスクの I/O 操作が 4 回消費されます。
データベースエンジンごとにデフォルトのページサイズが異なります。これにより、同じディスク I/O 操作回数でも、実際のデータベースの読み取り/書き込み回数が異なります。つまり、同じ IOPS メトリックでも、データベースによって読み取り/書き込み処理能力が異なるということです。たとえば、クラウドディスクの I/O ブロックサイズは 4 KB です。1,000 回のディスク I/O 操作に対して、MySQL エンジン (デフォルトのページサイズ 16 KB) は 250 回の実際の読み取り/書き込み操作を実行します。SQL Server エンジン (デフォルトのページサイズ 8 KB) は 500 回の実際の読み取り/書き込み操作を実行します。
I/O 帯域幅 (スループット)
I/O 帯域幅は、ストレージシステムがデータを継続的に読み書きする能力を反映します。これは、シーケンシャル I/O パフォーマンスの主要なメトリックです。インスタンスの I/O 帯域幅に影響を与える主な要因は、インスタンスタイプ、ストレージクラス、およびストレージ容量です。インスタンスタイプの最大 I/O 帯域幅は、各エンジンの読み取り専用インスタンスタイプテーブルで確認できます。インスタンスの実際の最大 I/O 帯域幅は、次のように計算されます:
ストレージクラス | クラウドディスクインスタンスの実際の I/O 帯域幅の計算式 (I/O 帯域幅単位:MB/s、ストレージ容量単位:GB) | |
高性能クラウドディスク |
| |
| ||
ESSD | PL3 |
|
PL2 |
| |
PL1 |
| |
標準 SSD |
| |
例:PL3 の ESSD を使用し、インスタンスタイプが mysql.x2.large.2c、ストレージ容量が 5,000 GB のインスタンスの実際の最大 I/O 帯域幅を計算します。
制限要因 | 説明 |
インスタンスタイプ | プライマリインスタンスタイプテーブルをクエリします。 |
ストレージ容量 | 5,000 GB のストレージ容量の最大 I/O 帯域幅は |
ストレージクラス | PL3 ESSD の最大 I/O 帯域幅は |
このインスタンスの実際の最大 I/O 帯域幅は、これら 3 つの値の最小値である 192 です。これは主にインスタンスタイプによって制限されます。
IOPS と I/O 帯域幅の関係
ディスクの IOPS と I/O 帯域幅は、独立したパフォーマンスメトリックではありません。インスタンスタイプ、ストレージクラス、ストレージ容量に依存するだけでなく、互いに制約し合います:
変換式:
I/O 帯域幅 (MB/s) = IOPS × I/O ブロックサイズ (KB) / 1,024。この計算式では、I/O ブロックサイズは 1 回のディスク I/O 操作のサイズ (クラウドディスクの場合はデフォルトで 4 KB) を指し、データベースのページサイズではありません。制約:ほとんどの場合、IOPS と I/O 帯域幅は同時に最大値に達することはありません。
IOPS が最大値に達したとき、I/O ブロックサイズが小さい場合 (4 KB など)、インスタンスの I/O 帯域幅は最大値に達しないことがあります。この場合、IOPS がパフォーマンスボトルネックになります。
I/O 帯域幅が最大値に達したとき、I/O ブロックサイズが大きい場合 (256 KB など)、インスタンスの IOPS は最大値に達しないことがあります。この場合、I/O 帯域幅がパフォーマンスボトルネックになります。
読み取り専用インスタンスの料金
読み取り専用インスタンスの料金については、公式の購入ページをご参照ください。