RDS は、読み取り専用インスタンス を追加することで、読み取りパフォーマンスのスケールアウトをサポートします。このページでは、すべての RDS 読み取り専用インスタンスに適用されるインスタンスファミリー、IOPS、I/O 帯域幅について説明します。
プライマリインスタンスのインスタンスタイプについては、「プライマリインスタンスのインスタンスタイプ」をご参照ください。
エンジン別のインスタンスタイプ
インスタンスファミリー
インスタンスファミリーは、CPU、メモリ、ストレージ、I/O リソースの割り当て方法を制御し、負荷時におけるパフォーマンスの一貫性に直接影響します。
| ファミリー | ストレージクラス | 専用リソース | 共有リソース | 利用シナリオ |
|---|---|---|---|---|
| 汎用 | クラウドディスク | メモリ、ストレージ | CPU、I/O | 時折のパフォーマンス変動を許容できる読み取りワークロード、コスト重視のデプロイ |
| プレミアムローカル SSD | メモリ | CPU、ストレージ、I/O | 上記と同様だが、ローカル SSD ストレージを使用 | |
| 専用 | クラウドディスク | CPU、メモリ、ストレージ、I/O | — | 安定した読み取りパフォーマンスが必要、他のインスタンスとのリソースの競合がない |
| プレミアムローカル SSD | CPU、メモリ、ストレージ | I/O | ローカル SSD ストレージを使用した専用リソース | |
| 専用物理サーバー | プレミアムローカル SSD | CPU、メモリ、ストレージ、I/O | — | 最高レベルの分離性、ミッションクリティカルまたはレイテンシーの影響を受けやすい読み取りワークロード |
汎用インスタンスのパフォーマンスは、基盤となる物理サーバーに高負荷がかかると変動する可能性があります。専用インスタンスおよび専用物理サーバーインスタンスは、この変動を排除します。
IOPS
1 秒あたりの I/O 処理 (IOPS) は、ストレージシステムが読み取りおよび書き込みリクエストを処理する能力を測るものです。これはランダム I/O パフォーマンスの主要な指標です。実際の IOPS は、インスタンスタイプ、ストレージクラス、ストレージ容量の 3 つの要因によって決定されます。
-
プレミアムローカル SSD インスタンス: 実際の最大 IOPS は、プライマリインスタンスのインスタンスタイプ表に記載されている値と等しくなります。
-
クラウドディスクインスタンス: 実際の最大 IOPS は、インスタンスタイプ、ストレージ容量、ストレージクラスの上限という 3 つの制限のうち、最も低い値が適用されます。計算には、以下の式を使用します。
| ストレージクラス | 計算式 (ストレージ容量の単位は GB) | 上限値 |
|---|---|---|
| プレミアムパフォーマンスディスク — パフォーマンスバースト有効 | min{インスタンスタイプの最大 IOPS, 1,000,000} |
1,000,000 |
| プレミアムパフォーマンスディスク — パフォーマンスバースト無効 | min{インスタンスタイプの最大 IOPS, 1,800 + 50 × ストレージ容量, 50,000} |
50,000 |
| エンタープライズ SSD (ESSD) PL3 | min{インスタンスタイプの最大 IOPS, 1,800 + 50 × ストレージ容量, 1,000,000} |
1,000,000 |
| エンタープライズ SSD (ESSD) PL2 | min{インスタンスタイプの最大 IOPS, 1,800 + 50 × ストレージ容量, 100,000} |
100,000 |
| エンタープライズ SSD (ESSD) PL1 | min{インスタンスタイプの最大 IOPS, 1,800 + 50 × ストレージ容量, 50,000} |
50,000 |
| 標準 SSD | min{インスタンスタイプの最大 IOPS, 1,800 + 30 × ストレージ容量, 25,000} |
25,000 |
例: インスタンスタイプ mysql.x2.large.2c、ストレージクラス PL1 ESSD、ストレージ容量 20 GB。
| 制限要因 | 値 |
|---|---|
| インスタンスタイプの最大 IOPS | 20,000 |
| ストレージ容量による制限 | 1,800 + 50 × 20 = 2,800 |
| ストレージクラス上限 (PL1) | 50,000 |
実際の最大 IOPS = 2,800 — ストレージ容量によって制限されます。
データベースの読み取りと書き込みは、ディスク I/O 処理と 1 対 1 で対応しません。MySQL の 1 回の読み取りまたは書き込みはデフォルトで 16 KB ですが、クラウドディスクの I/O ブロックサイズは 4 KB です。そのため、MySQL の 1 回の処理は 4 回のディスク I/O 処理を消費します。エンジンによってデフォルトのページサイズも異なるため、特定の IOPS 値に対応する実際のデータベース処理の回数が異なります。
MySQL (16 KB ページサイズ):1,000 回のディスク I/O 処理 = 250 回のデータベース読み取り/書き込み処理
SQL Server (8 KB ページサイズ):1,000 回のディスク I/O 処理 = 500 回のデータベース読み取り/書き込み処理
I/O 帯域幅
I/O 帯域幅は、ストレージシステムが継続的な読み取りと書き込みを維持する能力を測るものです。これはシーケンシャル I/O パフォーマンスの主要な指標です。これには IOPS と同じく、インスタンスタイプ、ストレージクラス、ストレージ容量の 3 つの要因が影響します。
クラウドディスクインスタンスの場合、実際の最大 I/O 帯域幅は 3 つの制限のうち、最も低い値が適用されます。計算には、以下の式を使用します。
| ストレージクラス | 計算式 (I/O 帯域幅の単位は MB/s、ストレージ容量の単位は GB) | 上限値 |
|---|---|---|
| プレミアムパフォーマンスディスク — パフォーマンスバースト有効 | min{インスタンスタイプの最大 I/O 帯域幅, 4,000} |
4,000 MB/s |
| プレミアムパフォーマンスディスク — パフォーマンスバースト無効 | min{インスタンスタイプの最大 I/O 帯域幅, 120 + 0.5 × ストレージ容量, 350} |
350 MB/s |
| ESSD PL3 | min{インスタンスタイプの最大 I/O 帯域幅, 120 + 0.5 × ストレージ容量, 4,000} |
4,000 MB/s |
| ESSD PL2 | min{インスタンスタイプの最大 I/O 帯域幅, 120 + 0.5 × ストレージ容量, 750} |
750 MB/s |
| ESSD PL1 | min{インスタンスタイプの最大 I/O 帯域幅, 120 + 0.5 × ストレージ容量, 350} |
350 MB/s |
| 標準 SSD | min{インスタンスタイプの最大 I/O 帯域幅, 120 + 0.5 × ストレージ容量, 300} |
300 MB/s |
例: インスタンスタイプ mysql.x2.large.2c、ストレージクラス PL3 ESSD、ストレージ容量 5,000 GB。
| 制限要因 | 値 |
|---|---|
| インスタンスタイプの最大 I/O 帯域幅 | 192 MB/s |
| ストレージ容量による制限 | 120 + 0.5 × 5,000 = 2,620 MB/s |
| ストレージクラス上限 (PL3) | 4,000 MB/s |
実際の最大 I/O 帯域幅 = 192 MB/s — インスタンスタイプによって制限されます。
IOPS と I/O 帯域幅の関係
IOPS と I/O 帯域幅は、次の計算式によって関連付けられています。
I/O 帯域幅 (MB/s) = IOPS × I/O ブロックサイズ (KB) / 1,024
ここでの I/O ブロックサイズは、1 回のディスク処理のサイズです。クラウドディスクではデフォルトで 4 KB です。データベースのページサイズではありません。
実際には、IOPS と I/O 帯域幅が同時に最大値に達することはほとんどありません。
-
I/O ブロックサイズが小さい場合 (例:4 KB): IOPS が I/O 帯域幅より先に上限に達します。IOPS がボトルネックとなります。
-
I/O ブロックサイズが大きい場合 (例:256 KB): I/O 帯域幅が IOPS より先に上限に達します。I/O 帯域幅がボトルネックとなります。
料金
読み取り専用インスタンスの料金については、公式購入ページをご参照ください。