Amazon RDS DB インスタンスストレージ - Amazon Relational Database Service

Amazon RDS DB インスタンスストレージ

Amazon RDS for Db2、Amazon RDS for MariaDB、Amazon RDS for PostgreSQL、Amazon RDS for Oracle、および Amazon RDS for Microsoft SQL Server の DB インスタンスは、データベースおよびログのストレージに Amazon Elastic Block Store (Amazon EBS) ボリュームを使用します。

場合によっては、データベースワークロードは、プロビジョニングした IOPS を 100% 到達できません。詳細については、「ストレージのパフォーマンスに影響する要因」を参照してください。

インスタンスストレージの料金の詳細については、「Amazon RDS の料金」を参照してください。

Amazon RDS ストレージタイプ

Amazon RDS は 3 種類のストレージタイプを提供します。汎用 SSD (別名 gp2 および gp3)、プロビジョンド IOPS SSD (別名 io1) およびマグネティック (別名スタンダード) です。これらはパフォーマンス特性と料金が異なるため、データベースのワークロードに応じてストレージのパフォーマンスとコストを調整できます。最大 64 テビバイト (TiB) のストレージを備えた Db2、MySQL、MariaDB、Oracle、PostgreSQL の RDS DB インスタンスを作成できます。最大 16 TiB のストレージを備えた SQL Server RDS DB インスタンスを作成できます。このストレージ量には、プロビジョンド IOPS SSD および汎用 SSD ストレージタイプを使用します。RDS for Db2 は、gp3 汎用 SSD ストレージタイプとプロビジョンド IOPS SSD ストレージタイプのみをサポートしています。

次のリストでは、この 3 つの種類のストレージタイプを簡略に説明しています。

  • 汎用 SSD - 汎用 SSD ボリュームは、中規模の DB インスタンスで実行しているさまざまなワークロードに対応できるコスト効率の高いストレージとして使用できます。汎用ストレージは、開発およびテスト環境に適しています。

    ストレージサイズの範囲を含む汎用 SSD ストレージの詳細については、「汎用 SSD ストレージ」を参照してください。

  • プロビジョンド IOPS SSD - プロビジョンド IOPS ストレージは、低 I/O レイテンシーおよび一貫した I/O スループットが必要となる I/O 負荷の高いワークロード (特にデータベースワークロード) のニーズを満たすように設計されています。プロビジョンド IOPS ストレージは本稼働環境に最適です。

    ストレージサイズの範囲を含むプロビジョンド IOPS ストレージの詳細については、「プロビジョンド IOPS SSD ストレージ」を参照してください。

  • マグネティック - また、Amazon RDS は下位互換性のためにマグネティックストレージをサポートしています。新しいストレージが必要な場合には、汎用 SSD またはプロビジョンド IOPS SSD の使用が推奨されます。マグネティックストレージでの DB インスタンスのストレージ量の上限は、他のストレージタイプより少なくなります。詳細については、「マグネティックストレージ」を参照してください。

汎用 SSD またはプロビジョンド IOPS SSD を選択すると、選択したエンジンと要求されるストレージの量に応じて、Amazon RDS は次の表に示すように複数のボリュームに自動的にストライピングしてパフォーマンスを向上させます。

データベースエンジン Amazon RDS ストレージサイズ プロビジョニングされたボリューム数
Db2 400 GiB 未満 1
Db2 400~64,000 GiB 4
MariaDB、MySQL、PostgreSQL 400 GiB 未満 1
MariaDB、MySQL、PostgreSQL 400~64,000 GiB 4
Oracle 200 GiB 未満 1
Oracle 200~64,000 GiB 4
SQL Server すべて 1

汎用 SSD ボリュームまたはプロビジョンド IOPS SSD ボリュームを変更すると、次の順に状態が変更されます。ボリュームが optimizing 状態である場合、ボリュームのパフォーマンスはソースとターゲットの設定仕様の中間にあります。過渡的ボリュームのパフォーマンスは、2 つの仕様のうち最低のものを下回ることはありません。ボリューム変更の詳細については、「Amazon EC2 ユーザーガイド」の「ボリューム変更の進行状況のモニタリング」を参照してください。

重要

インスタンスのストレージを 1 つのボリュームから 4 つのボリュームに変更したり、磁気ストレージを使用してインスタンスを変更したりする場合、Amazon RDS は Elastic Volumes 機能を使用しません。代わりに、Amazon RDS は新しいボリュームをプロビジョニングし、古いボリュームから新しいボリュームにデータを透過的に移動します。このオペレーションは、古いボリュームと新しいボリュームの両方で大量の IOPS とスループットを消費します。ボリュームのサイズと変更中に発生するデータベースワークロードの量によっては、RDS インスタンスがその状態のままであっても、この操作は大量の IOPS を消費し、IO レイテンシーを大幅に増加させ、完了するまでに数時間かかる場合があります。Modifying

汎用 SSD ストレージ

汎用 SSD ストレージは、レイテンシーの影響をあまり受けない、ほとんどのデータベースワークロードで使用できる、コスト効果に優れたストレージです。

注記

汎用 SSD ストレージを使用する DB インスタンスは、プロビジョンド IOPS ストレージを使用するインスタンスよりも、リードレプリカの作成、マルチ AZ 変換、DB スナップショットの復元後のレイテンシーが大幅に長くなります。これらの操作の後に、レイテンシーが最小の DB インスタンスを必要とする場合は、プロビジョンド IOPS SSD ストレージ を使用することをお勧めします。

Amazon RDS ストレージは、gp2 ストレージgp3 ストレージ という 2 種類の汎用 SSD ストレージを提供します。

gp2 ストレージ

アプリケーションで高いストレージパフォーマンスを必要としない場合は、汎用 SSD gp2 ストレージを使用できます。gp2 ストレージのベースライン I/O パフォーマンスは、1 GiB あたり 3 IOPS で、最低 100 IOPS です。この関係は、ボリュームが大きいほどパフォーマンスが向上することを意味します。例えば、1 つの 100 GiB のボリュームのベースラインパフォーマンスは 300 IOPS です。1 つの 1,000 GiB ボリュームのベースラインパフォーマンスは 3,000 IOPS です。1 つの gp2 ボリューム (5334 GiB 以上) の最大ベースラインパフォーマンスは 16,000 IOPS です。

サイズが 1,000 GiB 未満の個別の gp2 ボリュームでも、長期間にわたって 3,000 IOPS をバーストする性能があります。ボリューム I/O クレジットバランスによって、バーストパフォーマンスが決まります。ボリューム I/O クレジットの詳細については、Amazon EC2 ユーザーガイドの「I/O credits and burst performance」(I/O クレジットおよびバーストパフォーマンス) を参照してください。ベースラインパフォーマンスと I/O クレジットバランスがパフォーマンスにどのように影響を与えるかについての詳細は、AWS データベースブログの投稿「Understanding Burst vs. Baseline Performance with Amazon RDS and GP2」(Amazon RDS と GP2 を使用したバーストとベースラインパフォーマンスを理解する) を参照してください。

多くのワークロードは、バーストバランスを消費することがありません。しかしながら、ワークロードによっては、3,000 IOPS のバーストストレージクレジットバランスが枯渇する場合があるため、ワークロードのニーズを満たすようにストレージ容量を計画する必要があります。

1,000 GiB を超える gp2 ボリュームの場合、ベースラインパフォーマンスはバーストパフォーマンスよりも大きくなります。このようなボリュームの場合、ベースラインパフォーマンスが 3,000 IOPS バーストパフォーマンスよりも優れているため、バーストは関係ありません。ただし、特定のエンジンとサイズの DB インスタンスでは、ストレージが 4 つのボリュームにストライピングされ、1 つのボリュームの 4 倍のベースラインスループットと 4 倍のバースト IOPS が提供されます。しきい値を含む、Amazon RDS DB エンジン上の gp2 ボリュームのストレージパフォーマンスを次の表に示します。

DB エンジン RDS ストレージサイズ ベースライン IOPS の範囲 ベースラインスループットの範囲 バースト IOPS
MariaDB、MySQL、PostgreSQL 20~399 GiB 100~197 IPS 128~250 MiB/秒 3,000
MariaDB、MySQL、PostgreSQL 400~1,335 GiB 1,200~4,005 IOPS 500~1,000 MiB/秒 12,000
MariaDB、MySQL、PostgreSQL 1,336~3,999 GiB 4008~11,997 IOPS 1,000 MiB/秒 12,000
MariaDB、MySQL、PostgreSQL 4,000~65,536 GiB 12,000~64,000 IOPS 1,000 MiB/秒 該当なし*
Oracle 20~199 GiB 100~597 IPS 128~250 MiB/秒 3,000
Oracle 200~1,335 GiB 600~4,005 IOPS 500~1,000 MiB/秒 12,000
Oracle 1,336~3,999 GiB 4008~11,997 IOPS 1,000 MiB/秒 12,000
Oracle 4,000~65,536 GiB 12,000~64,000 IOPS 1,000 MiB/秒 該当なし*
SQL Server 20~333 GiB 100~999 IOPS 128~250 MiB/秒 3,000
SQL Server 334~999 GiB 1,002~2,997 IOPS 250 MiB/秒 3,000
SQL Server 1,000~16,384 GiB 3,000~16,000 IOPS 250 MiB/秒 該当なし*

* ボリュームのベースラインパフォーマンスが最大バーストパフォーマンスを超えた場合。

gp3 ストレージ

汎用 SSD gp3 ストレージボリュームを使用することで、ストレージ容量に関係なくストレージパフォーマンスをカスタマイズできます。ストレージパフォーマンスは、1 秒あたりの I/O オペレーションの数 (IOPS) と、ストレージボリュームが読み取りと書き込みを実行できる速度 (ストレージスループット) を組み合わせたものです。gp3 ストレージボリュームでは、Amazon RDS は 3000 IOPS と 125 MiB/秒のベースラインストレージパフォーマンスを提供します。

RDS for SQL Server を除くすべての RDS DB エンジンでは、gp3 ボリュームのストレージサイズが一定のしきい値に達すると、ベースラインストレージパフォーマンスは 12,000 IOPS と 500 MiB/秒に増加します。これは、ストレージが 1 つのボリュームではなく 4 つの論理ボリュームを使用するボリュームストライピングによるものです。RDS for SQL Server はボリュームストライピングをサポートしていないため、しきい値はありません。

注記

汎用 SSD gp3 ストレージは、シングル AZ DB インスタンス、マルチ AZ DB インスタンス、マルチ AZ DB クラスターでサポートされています。詳細については、マルチ AZ 配置の設定と管理およびマルチ AZ DB クラスター配置を参照してください。

しきい値を含む、Amazon RDS DB エンジン上の gp3 ボリュームのストレージパフォーマンスを次の表に示します。

DB エンジン ストレージサイズ ベースラインストレージパフォーマンス プロビジョンド IOPS の範囲 プロビジョニングされたストレージのスループットの範囲
Db2 400 GiB 未満 3,000 IOPS/125 MiB/秒 3,000~64,000 IOPS 125~4,000 MiB/秒
Db2 400 GiB 以上 12,000 IOPS/500 MiB/秒 12,000~64,000 IOPS 500~4,000 MiB/秒
MariaDB、MySQL、PostgreSQL 400 GiB 未満 3,000 IOPS/125 MiB/秒 該当なし 該当なし
MariaDB、MySQL、PostgreSQL 400 GiB 以上 12,000 IOPS/500 MiB/秒 12,000~64,000 IOPS 500~4,000 MiB/秒
Oracle 200 GiB 未満 3,000 IOPS/125 MiB/秒 該当なし 該当なし
Oracle 200 GiB 以上 12,000 IOPS/500 MiB/秒 12,000~64,000 IOPS 500~4,000 MiB/秒
SQL Server 20 GiB - 16 TiB 3,000 IOPS/125 MiB/秒 3,000~16,000 IOPS 125~1,000 MiB/秒

RDS for SQL Server を除くすべての DB エンジンで、ストレージサイズがしきい値以上の場合、追加の IOPS とストレージスループットをプロビジョニングできます。RDS for SQL Server では、使用可能な任意のストレージサイズに対して追加の IOPS とストレージスループットをプロビジョニングできます。すべての DB エンジンについて、追加でプロビジョニングされたストレージのパフォーマンスに対してのみお支払いいただきます。詳細については、「Amazon RDS の料金」を参照してください。

追加されるプロビジョンド IOPS とストレージスループットはストレージサイズには依存しませんが、相互に関連しています。MariaDB と MySQL の IOPS を 32,000 より高くすると、ストレージのスループットの値は 500 MiBps から自動的に増加します。例えば、RDS for MySQL で IOPS を 40,000 に設定した場合、ストレージのスループットは 625 MiBps 以上でなければなりません。Oracle、PostgreSQL、および SQL Server DB インスタンスでは、自動的な増加は行われません。

マルチ AZ DB クラスターの場合、Amazon RDS はプロビジョンした IOPS に基づいてスループット値を自動的に設定します。ユーザーは、このスループット値は変更できません。

RDS 上の gp3 ボリュームのストレージパフォーマンス値には、次の制約事項があります。

  • IOPS に対するストレージスループットの最大比率は、サポートされているすべての DB エンジンで 0.25 です。

  • 割り当て済みストレージに対する IOPS の最小比率 (GiB 単位) は、RDS for SQL Server では 0.5 です。サポートされている他の DB エンジンに最小比率はありません。

  • 割り当て済みストレージに対する IOPS の最大比率は、サポートされているすべての DB エンジンで 500 です。

  • ストレージの自動スケーリングを使用している場合は、IOPS と最大ストレージしきい値 (GiB 単位) の間でも同じ比率が適用されます。

    ストレージのオートスケーリングの詳細については、「Amazon RDS ストレージの自動スケーリングによる容量の自動管理」を参照してください。

プロビジョンド IOPS SSD ストレージ

高速で一貫した I/O 性能を必要とするすべての本稼働アプリケーションに、プロビジョンド IOPS ストレージをお勧めします。プロビジョンド IOPS ストレージは、予測可能なパフォーマンスと一貫して低いレイテンシーを実現するストレージタイプです。プロビジョンド IOPS ストレージは、一貫したパフォーマンスが求められるオンライントランザクション処理 (OLTP) ワークロード向けに最適化されています。プロビジョンド IOPS は、このようなワークロードのパフォーマンス調整に役立ちます。

DB インスタンスの作成時に、IOPS レートとボリュームのサイズを指定します。Amazon RDS では、変更するまでその IOPS レートが DB インスタンスに提供されます。

io1 ストレージ

I/O 集中型のワークロードでは、プロビジョンド IOPS SSD io1 ストレージを使用して 1 秒あたり最大 256,000 回の I/O オペレーション (IOPS) を実現できます。io1 ボリュームのスループットは、ボリュームごとにプロビジョニングされる IOPS の量と、実行される IO 操作のサイズによって異なります。io1 ボリュームのスループットの詳細については、Amazon EC2 ユーザーガイドの「プロビジョンド IOPS ボリューム」を参照してください。

次の表は、各データベースエンジンのプロビジョンド IOPS の範囲とストレージサイズ範囲を示しています。

データベースエンジン ストレージサイズの範囲 プロビジョンド IOPS の範囲 最大スループット
Db2 100~64,000 GiB 1,000~256,000 IOPS 4,000 MiB/秒
MariaDB、MySQL、PostgreSQL 100~399 GiB 1,000~19,950 IOPS 500 MiB/秒
MariaDB、MySQL、PostgreSQL 400~65,536 GiB 1,000~256,000 IOPS 4,000 MiB/秒
Oracle 100~199 GiB 1,000~9,950 IOPS 500 MiB/秒
Oracle 200~65,536 GiB 1,000~256,000 IOPS 4,000 MiB/秒
SQL Server 20~16,384 GiB 1,000-64,000 IOPS 1,000 MiB/秒
注記

SQL Server の場合、最大 IOPS の 64,000 は、m5*、m6i、r5*、r6i、および z1d インスタンスタイプにある Nitro-based のインスタンスでのみ保証されます。その他のインスタンスタイプは、最大 32,000 IOPS までのパフォーマンスを保証します。

Oracle の場合、最大 256,000 IOPS は r5b インスタンスタイプでのみプロビジョンできます。

IOPS とストレージサイズ範囲には、次の制約があります。

  • 割り当て済みストレージに対する IOPS の比率 (GiB 単位) は、RDS for SQL Server では 1 ~ 50 で、他の RDS DB エンジンでは 0.5 ~ 50 である必要があります。

  • ストレージの自動スケーリングを使用している場合は、IOPS と最大ストレージしきい値 (GiB 単位) の間でも同じ比率が適用されます。

    ストレージのオートスケーリングの詳細については、「Amazon RDS ストレージの自動スケーリングによる容量の自動管理」を参照してください。

プロビジョンド IOPS ストレージとマルチ AZ 配置またはリードレプリカの組み合わせ

本稼働 OLTP ユースケースの場合、耐障害性を強化できるマルチ AZ 配置を高速で予測可能なパフォーマンスを可能にするプロビジョンド IOPS ストレージで使用することをお勧めします。

また、MySQL、MariaDB または PostgreSQL 用リードレプリカでもプロビジョンド IOPS SSD ストレージを使用できます。リードレプリカのストレージタイプは、プライマリ DB インスタンスのストレージタイプとは異なります。例えば、リードレプリカには汎用 SSD を使用し、プライマリ DB インスタンスにはプロビジョンド IOPS SSD ストレージを使用することで、コストを削減できます。ただし、この場合のリードレプリカのパフォーマンスは、プライマリ DB インスタンスとリードレプリカの両方がプロビジョンド IOPS SSD ストレージを使用するように設定した場合のものと異なる可能性があります。

プロビジョンド IOPS ストレージのコスト

プロビジョンド IOPS ストレージでは、月別に実際に使用したかどうかに関係なく、プロビジョンドされたリソースに応じて課金されます。

料金の詳細については、「Amazon RDS の料金」を参照してください。

Amazon RDS プロビジョンド IOPS SSD ストレージから最高のパフォーマンスを得る

ワークロードが I/O 限定の場合、プロビジョンド IOPS SSD ストレージを使用すると、システムが同時に処理できる I/O リクエストの数を増大することができます。同時処理数が増加すると、I/O リクエストがキューにとどまる時間が縮小するため、レイテンシーが減少します。レイテンシーが減少すると、データベースのコミット処理が高速になり、その結果、応答時間が短縮され、データベースのスループットが向上します。

プロビジョンド IOPS SSD ストレージでは、IOPS を指定することにより I/O 容量を予約する方法が提供されます。ただし、他のシステム容量属性と同様に、負荷時の最大スループットは初期に使用されるリソースによって制限されます。そのリソースは、ネットワーク帯域幅、CPU、メモリ、またはデータベースの内部リソースのいずれかである場合があります。

プロビジョンド IOPS ボリュームをフル活用する方法については、「Amazon EBS ボリュームのパフォーマンス」を参照してください。

ソリッドステートドライブ (SSD) ストレージタイプの比較

次の表に Amazon RDS が使用する SSD ストレージボリュームのユースケースとパフォーマンス特性を示します。

特徴 プロビジョンド IOPS (io1) 汎用 (gp3) 汎用 (gp2)
説明

一貫したストレージパフォーマンス (IOPS、スループット、レイテンシー)

レイテンシーの影響を受けやすいトランザクションワークロード向けに設計されています

ストレージ、IOPS、スループットを個別にプロビジョニングできる柔軟性

さまざまなトランザクションワークロードに対して、料金パフォーマンスのバランスをとります。

バースト可能な IOPS を提供します。

さまざまなトランザクションワークロードに対して、料金パフォーマンスのバランスをとります。

ユースケース

最大 256,000 IOPS の持続的な IOPS パフォーマンスを必要とするトランザクションワークロード。

開発/テスト環境の中規模リレーショナルデータベースで実行される幅広いワークロード

開発/テスト環境の中規模リレーショナルデータベースで実行される幅広いワークロード

レイテンシー

1 桁ミリ秒 (99.9% の期間一貫して提供)

1 桁ミリ秒 (99% の期間一貫して提供)

1 桁ミリ秒 (99% の期間一貫して提供)

ボリュームサイズ

100 GiB~64 TiB (RDS for SQL Server では 16 TiB)

20 GiB~64 TiB (RDS for SQL Server では 16 TiB)

20 GiB~64 TiB (RDS for SQL Server では 16 TiB)

最大 IOPS 256,000 (RDS for SQL Server では 64,000) 64,000 (RDS for SQL Server では 16,000)

64,000 (RDS for SQL Server では 16,000)

注記

gp2 ストレージに IOPS を直接プロビジョニングすることはできません。IOPS は割り当てられたストレージサイズによって異なります。

最大スループット プロビジョンド IOPS に基づいて最大 4,000 MB/秒まで拡張 最大 4,000 MB/秒の追加のスループットをプロビジョニング (RDS for SQL Server では 1000 MB/秒 1,000 MB/秒 (RDS for SQL Server では 250 MB/秒)
AWS CLI および RDS API 名 io1 gp3 gp2

マグネティックストレージ

また、Amazon RDS は下位互換性のためにマグネティックストレージをサポートしています。新しいストレージが必要な場合には、汎用 SSD またはプロビジョンド IOPS SSD の使用が推奨されます。次に示すのは、マグネティックストレージにおけるいくつかの制限です。

  • SQL Server データベースエンジン使用時には、ストレージをスケーリングできません。

  • ストレージのオートスケーリングをサポートしていません。

  • Elastic ボリュームをサポートしていません。

  • 最大サイズが 3 TiB に制限されます。

  • 最大で 1000 IOPS に制限されます。

専用ログボリューム (DLV)

Amazon RDS コンソール、AWS CLI、または Amazon RDS API を使用して、プロビジョンド IOPS (PIOPS) ストレージを使用する DB インスタンスの専用ログボリューム (DLV) を使用できます。DLV は、PostgreSQL データベーストランザクションログと MySQL/MariaDB REDO ログおよび binlog を、データベーステーブルを含んでいるボリュームとは別のストレージボリュームに移動します。DLV を使用すると、トランザクション書き込みロギングの効率と一貫性が向上します。DLV は、割り当てられたストレージの容量が大きいデータベース、1 秒あたりの I/O (IOPS) 要件が高い、または遅延の影響を受けやすいワークロードがあるデータベースに最適です。

DLV は PIOPS ストレージでサポートされており、1,000 GiB の固定サイズと 3,000 のプロビジョンド IOPS で作成されます。

Amazon RDS は、すべてのバージョンのすべてのリージョンで DLV をサポートします。

  • MariaDB 10.6.7 以上の 10 バージョン

  • MySQL 8.0.28 以上の 8 バージョン

  • PostgreSQL 13.10 以上の 13 バージョン、14.7 以上の 14 バージョン、15.2 以上の 15 バージョン

RDS は、マルチ AZ 配置で DLV をサポートします。マルチ AZ インスタンスを変更または作成すると、プライマリとセカンダリの両方に DLV が作成されます。

RDS はリードレプリカによる DLV をサポートします。プライマリ DB インスタンスで DLV が有効になっている場合、DLV を有効にした後に作成されたすべてのリードレプリカにも DLV が設定されます。DLV への切り替え前に作成されたリードレプリカは、明示的に変更されない限り、有効になりません。DLV を有効にする前にプライマリインスタンスにアタッチされていたすべてのリードレプリカも、DLV を使用するように手動で変更することが推奨されます。

DB インスタンスの DLV 設定を変更したら、DB インスタンスを再起動する必要があります。

DLV の有効化の詳細については、「専用ログボリューム (DLV) を使用する」を参照してください。

ストレージのパフォーマンスをモニタリングする

Amazon RDS では、DB インスタンスの動作を特定するためにいくつかのメトリクスを利用できます。Amazon RDS マネジメントコンソールのインスタンスの概要ページでメトリクスを表示できます。また、Amazon CloudWatch を使用して、これらのメトリクスをモニタリングすることもできます。詳細については、「Amazon RDS コンソールでのメトリクスの表示」を参照してください。拡張モニタリングは、より詳細な I/O メトリクスを提供します。詳細については、「拡張モニタリングを使用した OS メトリクスのモニタリング」を参照してください。

以下のメトリクスは、DB インスタンスのストレージをモニタリングするために便利です。

  • IOPS - 1 秒ごとの I/O オペレーションの数。このメトリクスは、指定された時間間隔の平均 IOPS として報告されます。Amazon RDS レポートは、IOPS の読み取りと書き込みを 1 分間隔で個別に行います。合計 IOPS は、読み取りおよび書き込み IOPS の合計です。IOPS の典型的な値は、1 秒あたり 0 から数万の範囲内です。

  • レイテンシー - I/O リクエスト送信から完了までの経過時間。このメトリクスは、指定された時間間隔の平均レイテンシーとして報告されます。Amazon RDS は 1 分間レイテンシーで読み取りおよび書き込み IOPS を個別に報告します。レイテンシーの一般的な値はミリ秒 (ms) です。

  • スループット - ディスクへまたはディスクから転送される 1 秒ごとのバイト数。このメトリックは、特定の時間間隔の平均スループットとして報告されます。Amazon RDS は、1 分間隔の読み取りおよび書き込みスループットを 1 秒あたりのメガバイト (MB / 秒) 単位で報告します。スループットの典型的な値は、0 から I/O チャネルの最大帯域幅までの範囲内です。

  • キューの深度 - サービスされるのを待つキュー内の I/O リクエスト数。アプリケーションによって送信されても、デバイスが他の I/O リクエストの処理でビジー状態のため、デバイスに送信されていない I/O リクエストです。キューでの待ち時間は、レイテンシーとサービス時間 (メトリクスとしては使用できない) のコンポーネントです。このメトリックは、特定の時間間隔の平均キュー深度として報告されます。Amazon RDS は、1 分間隔でキュー深度を報告します。キューの深度の典型的な値は、0 から数百までの範囲です。

測定された IOPS 値は、個別の I/O オペレーションのサイズには依存しません。これは、I/O パフォーマンスの測定時に、I/O オペレーションの数のみではなく、インスタンスのスループットを見る必要があることを意味しています。

ストレージのパフォーマンスに影響する要因

システムの活用状況、データベースワークロード、DB インスタンスは、ストレージのパフォーマンスに影響する可能性があります。

システムの活用状況

次のシステム関連アクティビティは I/O 容量を消費するため、進行中に DB インスタンスのパフォーマンスを低下させる可能性があります。

  • マルチ AZ スタンバイの作成

  • リードレプリカの作成

  • ストレージタイプを変更する

データベースのワークロード

データベースまたはアプリケーションの設計によっては、平行処理問題、ロック、その他データベースの競合が発生します。このような場合、プロビジョニングされた帯域幅のすべてを直接使用できない場合があります。また、以下のワークロードに関連する状況が発生する場合があります。

  • 基本的なインスタンスタイプのスループット制限に到達すること。

  • アプリケーションが十分な I/O オペレーションを進行していないため、キューの深度が 1 を大幅に下回ること。

  • 一部の I/O 容量が未使用にもかかわらず、データベースでクエリの競合が発生すること。

場合によっては、制限に達している、またはほぼ制限に達しているシステムリソースがないにもかかわらず、スレッドを追加してもデータベースのトランザクションレートが増加しないことがあります。このような場合、ボトルネックはデータベース内の競合である可能性が最も高いです。最も一般的なのは行ロックとインデックスページロックの競合ですが、それ以外にも多くの可能性があります。このような状況では、データベースパフォーマンスチューニングのエキスパートに助言を求める必要があります。

DB インスタンスクラス

Amazon RDS DB インスタンスが最大限のパフォーマンスを発揮するように、現行世代のインスタンスタイプを十分な帯域幅で選択して、ストレージタイプをサポートします。例えば、Amazon EBS 最適化インスタンス,および 10 ギガビットのネットワーク接続のインスタンスを選択できます。

重要

使用しているインスタンスクラスによっては、RDS がプロビジョニングできる最大値よりも IOPS パフォーマンスが低下する場合があります。DB インスタンスクラスの IOPS パフォーマンスに関する詳細については、Amazon EC2 ユーザーガイドの「Amazon EBS 最適化インスタンス」を参照してください。DB インスタンスにプロビジョンド IOPS 値を設定する前に、インスタンスクラスの最大 IOPS を決定することをお勧めします。

最適なパフォーマンスを得るには、最新世代のインスタンスを使用してください。旧世代の DB インスタンスを使用すると、ストレージの上限が低くなります。

一部の古い 32 ビットファイルシステムでは、ストレージ容量が少ない場合があります。DB インスタンスのストレージ容量を確認するには、describe-valid-db-instance-modificationsAWS CLIコマンドを使用できます。

次のリストは、大部分の DB インスタンスクラスが各データベースエンジンに対して拡張できる最大ストレージを示しています。

  • Db2 – 64 TiB

  • MariaDB – 64 TiB

  • Microsoft SQL Server – 16 TiB

  • MySQL – 64 TiB

  • Oracle – 64 TiB

  • PostgreSQL – 64 TiB

次の表にいくつかの最大ストレージの例外を示します (TiB 単位)。すべての RDS for Microsoft SQL Server DB インスタンスの最大ストレージは 16 TiB であるため、SQL Server のエントリはありません。

インスタンスクラス Db2 MariaDB MySQL Oracle PostgreSQL
db.m3 - スタンダードインスタンスクラス
db.m3.2xlarge 該当なし 該当なし 6 該当なし 6
db.m3.xlarge 該当なし 該当なし 6 該当なし 6
db.m3.large 該当なし 該当なし 6 該当なし 6
db.m3.medium 該当なし 該当なし 32 該当なし 32
db.t4g – バーストパフォーマンスインスタンスクラス
db.t4g.medium 該当なし 16 16 該当なし 32
db.t4g.small 該当なし 16 16 該当なし 16
db.t4g.micro 該当なし 6 6 該当なし 6
db.t3 – バーストパフォーマンスインスタンスクラス
db.t3.medium 32 16 16 32 32
db.t3.small 32 16 16 32 16
db.t3.micro 該当なし 6 6 32 6
db.t2 – バーストパフォーマンスインスタンスクラス
db.t2.medium 該当なし 32 32 該当なし 32
db.t2.small 該当なし 16 16 該当なし 16
db.t2.micro 該当なし 6 6 該当なし 6

サポートされているすべてのインスタンスクラスの詳細については、旧世代の DB インスタンスを参照してください。