Amazon RDS のストレージ変更が24時間に最大4回まで可能になったので試してみた

Amazon RDS のストレージ変更が24時間に最大4回まで可能になったので試してみた

Amazon RDS でストレージのサイズ変更・タイプ変更・性能変更が24時間で最大4回まで可能になりました。従来の6時間クールオフ制限が撤廃されています。RDS for PostgreSQL で実際にストレージサイズを連続変更し、4回成功と5回目のエラーを確認しました。
2026.07.16

はじめに

2026年7月15日のアップデートにより、Amazon RDS でストレージのサイズ変更・タイプ変更・性能(IOPS/スループット)変更が、24時間あたり最大4回まで実行できるようになりました。従来はストレージ変更のたびに必要だった6時間のクールオフは撤廃されています。

https://aws.amazon.com/about-aws/whats-new/2026/07/amazon-rds-upto-four-storage-modifications-24-hours

項目 旧仕様 新仕様(2026-07-15〜)
ストレージ変更後のクールオフ 6時間待機が必要 最適化完了次第、即次の変更可能
24時間あたりの変更回数上限 実質4回(ただし各変更後6時間の待機が必要) 4回(最適化完了次第、連続実行可能)
storage-optimization 中の変更 不可 不可(変更なし)

同様の緩和は2026年1月に Amazon EBS 側で先行して適用されていました。今回、EBS で先行していたものと同様の制限緩和が RDS のストレージ変更にも導入されました。EBS 側の検証は以下の記事にまとめています。

https://dev.classmethod.jp/articles/ebs-elastic-volumes-4-modifications/

本記事では、RDS for PostgreSQL でストレージサイズの連続変更を試し、4回の変更が成功すること、そして5回目でエラーになることを確認します。ストレージタイプ変更・IOPS変更は EBS(EC2)側の記事で検証済みのため、本記事ではスコープ外とします。

検証内容

検証環境

項目
AWS CLI 2.35.22
リージョン ap-northeast-1
インスタンス識別子 test-storage-4mod
エンジン PostgreSQL 18.3
インスタンスクラス db.t4g.micro
ストレージタイプ gp3
初期ストレージ 20 GB
初期 IOPS 3000
初期スループット 125 MB/s
マルチAZ なし(Single-AZ)
パブリックアクセス なし
削除保護 なし
自動バックアップ保持期間 1日

RDS インスタンスの作成

以下のコマンドで、検証用の RDS for PostgreSQL インスタンスを作成しました。

aws rds create-db-instance \
    --db-instance-identifier test-storage-4mod \
    --db-instance-class db.t4g.micro \
    --engine postgres \
    --engine-version 18.3 \
    --allocated-storage 20 \
    --storage-type gp3 \
    --iops 3000 \
    --storage-throughput 125 \
    --master-username postgres \
    --manage-master-user-password \
    --no-multi-az \
    --no-publicly-accessible \
    --no-deletion-protection \
    --backup-retention-period 1 \
    --region ap-northeast-1

約6分で available になりました。

aws rds wait db-instance-available --db-instance-identifier test-storage-4mod --region ap-northeast-1

gp3 のストレージサイズ制約の確認

連続変更の前に、describe-valid-db-instance-modifications で変更可能なストレージサイズを確認します。

aws rds describe-valid-db-instance-modifications \
    --db-instance-identifier test-storage-4mod \
    --region ap-northeast-1

レスポンスの ValidStorageOptions に含まれる StorageSize は以下のとおりでした。

"StorageSize": [
    {
        "From": 22,
        "To": 65536,
        "Step": 1
    }
]

初期サイズ 20 GB に対して、次の変更で指定できる最小値は 22 GB でした。gp3 のストレージサイズ変更には「現在のサイズから最低10%増やす」という制約があります。当初は1 GB刻みで変更を計画していましたが、この制約により不可でした。各回の describe-valid-db-instance-modifications で確認した有効な最小サイズをまとめると、以下のとおりです。

現在のサイズ 次の有効な最小サイズ 増分
20 GB 22 GB +2 GB (10%)
22 GB 25 GB +3 GB (≈14%)
25 GB 28 GB +3 GB (12%)
28 GB 31 GB +3 GB (≈11%)
31 GB 35 GB +4 GB (≈13%)

1回目: 20 GB → 22 GB

aws rds modify-db-instance \
    --db-instance-identifier test-storage-4mod \
    --allocated-storage 22 \
    --apply-immediately \
    --region ap-northeast-1

レスポンスの PendingModifiedValues.AllocatedStorage22 でした。ステータスは以下のコマンドで確認しました。

aws rds describe-db-instances \
    --db-instance-identifier test-storage-4mod \
    --query 'DBInstances[0].DBInstanceStatus' \
    --output text \
    --region ap-northeast-1
  • ステータス遷移:available → modifying → storage-optimization → available
  • storage-optimization の所要時間:約10分

2回目: 22 GB → 25 GB

aws rds modify-db-instance \
    --db-instance-identifier test-storage-4mod \
    --allocated-storage 25 \
    --apply-immediately \
    --region ap-northeast-1

レスポンスの PendingModifiedValues.AllocatedStorage25 でした。ステータスは1回目と同様に確認しました。

  • ステータス遷移:available → modifying → storage-optimization → available
  • storage-optimization の所要時間:約15分

3回目: 25 GB → 28 GB

aws rds modify-db-instance \
    --db-instance-identifier test-storage-4mod \
    --allocated-storage 28 \
    --apply-immediately \
    --region ap-northeast-1

レスポンスの PendingModifiedValues.AllocatedStorage28 でした。ステータスは同様に確認しました。

  • ステータス遷移:available → modifying → storage-optimization → available
  • storage-optimization の所要時間:約20分

4回目: 28 GB → 31 GB

aws rds modify-db-instance \
    --db-instance-identifier test-storage-4mod \
    --allocated-storage 31 \
    --apply-immediately \
    --region ap-northeast-1

レスポンスの PendingModifiedValues.AllocatedStorage31 でした。ステータスは同様に確認しました。

  • ステータス遷移:available → modifying → storage-optimization → available
  • storage-optimization の所要時間:約20分

5回目: 31 GB → 35 GB(24時間制限超過)

4回目の最適化が完了し available に戻った状態で、5回目の変更を試みました。

aws rds modify-db-instance \
    --db-instance-identifier test-storage-4mod \
    --allocated-storage 35 \
    --apply-immediately \
    --region ap-northeast-1

InvalidParameterCombination エラーになりました。

An error occurred (InvalidParameterCombination) when calling the ModifyDBInstance operation: You can't modify the storage because you've exceeded the maximum number of storage modifications allowed in the last 24 hours. Try again in approximately 22 hours.

補足: storage-optimization 中の変更試行

storage-optimization の途中で次の変更を試みた場合も InvalidParameterCombination エラーになります。

An error occurred (InvalidParameterCombination) when calling the ModifyDBInstance operation: You can't currently modify the storage of this DB instance because the previous storage change is being optimized.

クリーンアップ

検証後、インスタンスを削除しました。検証用途のため、最終スナップショットと自動バックアップを残さず削除しています。

aws rds delete-db-instance \
    --db-instance-identifier test-storage-4mod \
    --skip-final-snapshot \
    --delete-automated-backups \
    --region ap-northeast-1

まとめ

EBS で先行していた「24時間あたり最大4回」のストレージ変更緩和が、RDS にも適用されたことを確認できました。本番環境の段階的な増強や、負荷テスト環境で最適なストレージサイズを探る際などに活用ください。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事