I/O を大量に消費するストレージの変更 - Amazon Relational Database Service

I/O を大量に消費するストレージの変更

Amazon RDS DB インスタンスは、データベースおよびログストレージに Amazon Elastic Block Store (EBS) ボリュームを使用します。要求されるストレージの量によって、RDS (RDS for SQL Server を除く) は自動的に複数の Amazon EBS ボリューム全体をストライプして、パフォーマンスを向上させます。SSD ストレージタイプの RDS DB インスタンスは、RAID 0 構成の 1 つまたは 4 つのストライプ化された Amazon EBS ボリュームによってバックアップされます。設計上、RDS DB インスタンスのストレージ変更操作が進行中のデータベース操作に与える影響は最小限に抑えられます。

ほとんどの場合、ストレージのスケーリング変更は Amazon EBS レイヤーに完全にオフロードされ、データベースに対して透過的に行われます。通常、このプロセスは数分で完了します。ただし、古い RDS ストレージボリュームの中には、サイズ、プロビジョンド IOPS、またはストレージタイプを変更するために別のプロセスが必要なものがあります。これには、I/O を大量に消費する可能性のある操作を使用してデータのフルコピーを作成することが含まれます。

ストレージの変更では、次のいずれかの要因が当てはまる場合、I/O を大量に消費する操作を使用します。

  • ソースストレージタイプはマグネティックです。マグネティックストレージは伸縮自在のボリューム変更をサポートしていません。

  • RDS DB インスタンスは、1 ボリュームまたは 4 ボリュームの Amazon EBS レイアウト上にはありません。拡張モニタリングメトリクスを使用すると、RDS DB インスタンスで使用されている Amazon EBS ボリュームの数を確認できます。詳しくは、「RDS コンソールでの OS メトリクスの表示」を参照してください。

  • 変更リクエストのターゲットサイズにより、RDS for MariaDB、MySQL、および PostgreSQL インスタンスでは 400 GiB 以上、RDS for Oracle では 200 GiB 以上の割り当てストレージが増加します。ストレージの自動スケーリング操作は、DB インスタンスに割り当てられたストレージサイズがこれらのしきい値を超えて増加した場合にも同じ効果があります。

ストレージの変更に I/O を大量に消費する操作が含まれる場合、I/O リソースが消費され、DB インスタンスの負荷が増加します。汎用 SSD (gp2) ストレージを含む I/O を大量に消費する操作でストレージを変更すると、I/O クレジット残高を使い切る可能性があり、変換時間が長くなることがあります。

このようなストレージの変更リクエストは、ベストプラクティスとして、ストレージの変更操作の完了に必要な時間を短縮するために、ピーク時間帯以外にスケジュールすることをお勧めします。DB インスタンスのリードレプリカを作成し、リードレプリカのストレージを変更を実行することもできます。次に、リードレプリカがプライマリ DB インスタンスに昇格されます。詳しくは、「DB インスタンスのリードレプリカの操作」を参照してください。

詳細については、次を参照してください。「割り当てられたストレージを増やそうとすると、Amazon RDS DB インスタンスが変更中の状態で止まるのはなぜですか?