割り当てられたストレージを増やそうとすると、Amazon RDS DB インスタンスが変更中の状態のままスタックするのはなぜですか?

所要時間1分
0

Amazon Relational Database Service (Amazon RDS) DB インスタンスに割り当てられたストレージを増やしたいのですが、操作が変更状態でスタックしています。

解決方法

Amazon RDS DB インスタンスのストレージスケーリング操作は、その設計上、進行中のデータベースオペレーションへの影響を最小限に抑えます。ほとんどの場合、ストレージのスケーリング操作は Amazon Elastic Block Store (Amazon EBS) レイヤーに完全にオフロードされ、データベースから透過的です。このプロセスは、通常、数分で完了します。ただし、レガシー Amazon RDS ストレージボリュームによっては、Amazon RDS ストレージのサイズ、IOPS、またはボリュームタイプを変更するために別のプロセスが必要になる場合があります。実行時間が長くなる可能性がある I/O 操作を使用して、データの完全なコピーを作成する必要がある場合があります。

ほとんどの RDS ボリュームジオメトリには、割り当てられたストレージのサイズに応じて、RAID0 構成に 1 つの Amazon EBS ボリュームまたは 4 つのストライプ EBS ボリュームが含まれます。以下のいずれかの条件で、レガシーメソッドを使用する必要があります。

  • RDS インスタンスに 1 つまたは 4 つのボリュームがない。
  • 変更のターゲットサイズによって、割り当てられたストレージが 400 GB を超えて増加する。

拡張モニタリングメトリクスを使用して、RDS インスタンスで使用中のボリューム数を表示できます。また、旧世代の EBS ボリュームを使用するソースボリュームには、割り当てられたストレージのサイズを変更するための従来の方法が必要です。

RDS DB インスタンスの割り当てられたストレージを増やすための所要時間は、以下の要因によって影響されることがあります。

  • 従来の方法では I/O リソースが使用されるため、データベースのワークロードが増加する可能性があります。可能な限りインパクトを最小限に抑える方法を使用するのがベストプラクティスです。インパクトを最小限に抑える方法では、データベース上のリソースは使用されません。従来の方法を使用する必要がある場合は、ピーク時間外のストレージ増加操作をスケジュールすることをお勧めします。これにより、ストレージの増加処理を完了するのに必要な時間が短縮される可能性があります。
  • 負荷条件が高く、レガシーメソッドを使用する必要がある場合は、RDS DB インスタンスのリードレプリカを作成できます。リードレプリカでストレージスケーリング操作を実行し、リードレプリカ DB インスタンスをプライマリ DB インスタンスに昇格させることができます。
  • 高負荷状態の場合は、次の操作を行います。
  1. Amazon RDS DB インスタンスのリードレプリカを作成する。
  2. リードレプリカでストレージのスケーリング操作を実行する。
  3. リードレプリカ DB インスタンスをプライマリ DB インスタンスに昇格させる。

ストレージの変更が開始されると、操作をキャンセルすることはできません。DB インスタンスのステータスは、Amazon EBS オペレーションが完了するまで変更状態になります。指定した時間に DB インスタンスを復元するか、DB スナップショットから復元して、元のストレージ設定で新しい DB インスタンスを作成できます。復元された DB インスタンスは、変更状態になることはありません。


関連情報

Amazon RDS のトラブルシューティング

ModifyDBInstance

[すぐに適用] 設定の使用