

# Amazon RDS DB インスタンスのストレージを使用する
<a name="USER_PIOPS.StorageTypes"></a>

データを Amazon RDS に保存する方法を指定するには、DB インスタンスを作成または変更する際にストレージタイプを選択し、ストレージサイズを指定します。後で、量を増加するか、あるいは DB インスタンスを編集してストレージタイプを変更できます。ワークロードに使用されるストレージタイプについての詳細は、「[Amazon RDS ストレージタイプ](CHAP_Storage.md#Concepts.Storage)」を参照してください。

インスタンスが RDS for Oracle または RDS for SQL Server を実行している場合、各 DB インスタンスに最大 3 つのボリュームを追加できます。ボリュームタイプとして gp3 または io2 を選択できます。これにより、データアクセスパターンに基づいてコストとパフォーマンスを最適化できます。追加ボリュームを使用する DB インスタンスの最大ストレージ容量は 256 TiB です。

**Topics**
+ [DB インスタンスのストレージボリュームの詳細の表示](rds-storage-viewing.md)
+ [DB インスタンスストレージの容量を増加する](USER_PIOPS.ModifyingExisting.md)
+ [追加ストレージボリュームの削除](USER_PIOPS.RemovingAdditionalVolumes.md)
+ [Amazon RDS ストレージの自動スケーリングによる容量の自動管理](USER_PIOPS.Autoscaling.md)
+ [DB インスタンスのストレージファイルシステムのアップグレード](USER_PIOPS.UpgradeFileSystem.md)
+ [プロビジョンド IOPS SSD ストレージの設定を変更する](User_PIOPS.Increase.md)
+ [I/O を大量に消費するストレージの変更](USER_PIOPS.IOIntensive.md)
+ [汎用 SSD (gp3) ストレージの設定変更](USER_PIOPS.gp3.md)
+ [専用ログボリューム (DLV) を使用する](USER_PIOPS.dlv.md)

# DB インスタンスのストレージボリュームの詳細の表示
<a name="rds-storage-viewing"></a>

ストレージボリュームの設定は、AWS マネジメントコンソールまたは AWS CLI から表示できます。これには、プライマリストレージボリュームと DB インスタンスにアタッチされた追加のストレージボリュームの両方に関する詳細が含まれます。

# コンソール
<a name="rds-storage-viewing.console"></a>

コンソールからストレージボリューム設定を表示するには:

1. AWS マネジメントコンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) にサインインします。

1. ナビゲーションペインで、**[Databases]** (データベース) を選択します。

1. DB インスタンスを選択します。

1. **[設定]** タブを選択すると、ストレージボリュームの詳細が表示されます。ストレージ情報は、以下のセクションにあります。
   + **[プライマリストレージ]**
   + **[追加のストレージボリューム]**

   **[追加のストレージボリューム]** では、**[ストレージボリュームを追加する]** を選択して別のボリュームを追加できます。

# CLI
<a name="rds-storage-viewing.cli"></a>

AWS CLI からストレージボリューム設定を表示するには、`describe-db-instances` コマンドを使用します。

```
aws rds describe-db-instances --db-instance-identifier my-database
```

出力で、追加されたボリュームの詳細を表示する `AdditionalStorageVolumes` 配列を見つけます。

```
    "AdditionalStorageVolumes": [
        {
            "VolumeName": "rdsdbdata2",
            "StorageVolumeStatus": "Not-in-use",
            "AllocatedStorage": 5000,
            "IOPS": 25000,
            "StorageThroughput": 500,
            "StorageType": "gp3"
        }
    ]
```

`StorageVolumeStatus` フィールドは、ボリュームがデータベースで現在使用されているかどうかを示します。`Not-in-use` ステータスは、ボリュームがアタッチされているが、データベースエンジンまたは RDS 機能で使用されていないことを意味します。

# DB インスタンスストレージの容量を増加する
<a name="USER_PIOPS.ModifyingExisting"></a>

DB インスタンスのストレージ容量を増やすには、次のいずれかの方法を使用します。

**ストレージボリュームをスケールアップする**  
すべての DB インスタンスには、最大容量が 64 TiB のプライマリストレージボリュームがあります。ストレージボリュームの割り当て領域を少なくとも 10% 増やすことができます。スペースの割り当てを解除することはできません。

**最大 3 つのストレージボリューム (io2 または gp3) を追加する**  
RDS for Oracle または RDS for SQL Server インスタンスの合計ストレージ容量を増やすには、各 DB インスタンスに最大 3 つのボリュームを追加します。追加ボリュームごとに最大 64 TiB のストレージが割り当てられ、インスタンスごとに最大 256 TiB のストレージが割り当てられます。  
RDS for Oracle DB インスタンスの場合、最小ストレージサイズが 200 GiB のストレージボリュームを追加できます。

上記の手法には、Amazon RDS マネジメントコンソール、Amazon RDS API、または AWS Command Line Interface (AWS CLI) を使用できます。ストレージの制限に関する詳細は、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

# DB インスタンスストレージのスケールアップ
<a name="USER_PIOPS.ModifyingExisting.ScalingUp"></a>

プライマリボリュームに割り当てられたストレージを増やすことで、既存の DB インスタンスのストレージをスケールアップできます。ストレージ割り当てを増やす場合は、少なくとも 10 パーセント単位で増やす必要があります。10 パーセントに満たない単位で増やそうとすると、エラーになります。ボリュームにストレージを割り当てた後で、ボリューム上のストレージ容量を減らすことはできません。

**注記**  
RDS for SQL Server DB インスタンスの場合、汎用 SSD およびプロビジョンド IOPS SSD ストレージタイプに対してのみストレージをスケーリングできます。

必要に応じて対応できるように DB インスタンスの空きストレージ領域をモニタリングするには、Amazon CloudWatch アラームを作成することをお勧めします。CloudWatch アラームの設定の詳細については、「[CloudWatch でのアラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html)」を参照してください。

ストレージをスケーリングしても、通常、DB インスタンスの停止やパフォーマンスの低下は発生しません。DB インスタンスのストレージサイズを変更すると、DB インスタンスのステータスは [**ストレージの最適化**] になります。

ストレージの最適化には数時間かかることがあります。その後 6 時間、またはインスタンスでストレージの最適化が完了するまでのいずれか長い方の時間まで、ストレージにそれ以上の変更を加えることはできません。ストレージ最適化の進捗状況は、AWS マネジメントコンソール で、または [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI コマンドを使用して確認できます。

## コンソール
<a name="USER_PIOPS.ModifyingExisting.console"></a>

**DB インスタンスのストレージを増加するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

1. 変更する DB インスタンスを選択します。

1. [**Modify**] を選択します。

1. [**ストレージ割り当て**] に新しい値を入力します。現在値より少なくとも 10% 大きい値である必要があります。  
![\[DB インスタンスのストレージ量の変更\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/scale-gs2.png)

1. [**続行**] をクリックしてください。

1. DB インスタンスのストレージの変更をすぐに適用するには、[**変更のスケジュール**] セクションの [**すぐに適用**] を選択します。

   または、[**次に予定されるメンテナンスウィンドウ中に適用します**] を選択して、次のメンテナンスウィンドウ中に変更を適用します。

1. 設定が適切な場合は、[**Modify DB instance**] (DB インスタンスの変更) を選択します。

## AWS CLI
<a name="USER_PIOPS.ModifyingExisting.cli"></a>

DB インスタンスのストレージを増量するには、AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドを使用します。以下のパラメータを設定します。
+ `--allocated-storage` – DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `--apply-immediately` - すぐにストレージの変更を適用するには、`--apply-immediately` を使用します。

  または `--no-apply-immediately` (デフォルト) を使用して、次のメンテナンスウィンドウ中に変更を適用します。変更が適用されると、すぐに停止が発生します。

次の例では、`mydbinstance` のストレージを 1,000 GiB にスケールアップし、変更をすぐに適用します。このコマンドは、ストレージボリュームを gp3 に移行し、プロビジョンド IOPS を 6000 に設定します。

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --allocated-storage 1000 \
    --storage-type gp3 \
    --iops 6000 \
    --apply-immediately
```

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

## RDS API
<a name="USER_PIOPS.ModifyingExisting.api"></a>

DB インスタンスのストレージを増やすには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。以下のパラメータを設定します。
+ `AllocatedStorage` – DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `ApplyImmediately` - すぐに変更を適用するには、このオプションを `True` に設定します。このオプションを `False` (デフォルト) に設定して、次のメンテナンスウィンドウ中に変更を適用します。変更が適用されると、すぐに停止が発生します。

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

# ストレージボリュームの追加
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes"></a>

RDS for Oracle および RDS for SQL Server DB インスタンスの場合、最大 3 つのストレージボリュームを追加して、インスタンスあたりの合計ストレージ容量を最大 256 TiB まで増やすことができます。追加のストレージボリュームを使用すると、さまざまなストレージタイプ (gp3 と io2) を使用して、データアクセスパターンに基づいてコストとパフォーマンスを最適化できます。

**注記**  
RDS for Oracle DB インスタンスの場合、最小ストレージサイズが 200 GiB のストレージボリュームを追加できます。

AWS マネジメントコンソールまたは AWS CLI を使用して、追加のストレージボリュームを追加、変更、または削除できます。割り当てられたストレージ、IOPS、スループットの設定が異なるボリュームを設定できます。例えば、io2 ボリュームに高性能データを配置し、gp3 ボリュームに履歴データを配置できます。

追加のボリュームでは、次の表に示すボリューム名を使用する必要があります。


| RDS for Oracle ボリューム名 | RDS for SQL Server ボリューム名 | 
| --- | --- | 
| rdsdbdata2 | H: | 
| rdsdbdata3 | I: | 
| rdsdbdata4 | J: | 

## コンソール
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.console"></a>

**DB インスタンスにストレージボリュームを追加するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

1. 変更する DB インスタンスを選択します。

1. **[Modify]** (変更) を選択します。

1. **[ストレージ]** セクションで、**[追加のストレージボリュームを追加]** を選択します。

1. 追加のストレージボリュームを設定します。
   + **ボリューム名** – `rdsdbdata2`、`rdsdbdata3`、または `rdsdbdata4` を選択します。
   + **ストレージタイプ** – **[汎用 SSD (gp3)]** または **[プロビジョンド IOPS SSD (io2)]** を選択します。
   + **割り当てられたストレージ** – ストレージサイズを GiB (最小 200 GiB) で入力します。
   + io2 ストレージの場合は、**[プロビジョンド IOPS]** を設定します。
   + gp3 ストレージの場合は、オプションで **[ストレージスループット]** を設定します。

1. [**続行**] をクリックしてください。

1. 設定が適切な場合は、**[DB インスタンスを変更]** を選択します。

**重要**  
`modify-db-instance` オペレーションを使用してストレージボリュームを追加すると、RDS は `--no-apply-immediately` パラメータに関係なくストレージボリュームをすぐに追加します。リクエストに他の変更がある場合、RDS はスケジュールの変更に基づいて変更を適用します。「[スケジュール変更設定の使用](USER_ModifyInstance.ApplyImmediately.md)」を参照してください。

## AWS CLI
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.cli"></a>

DB インスタンスにストレージボリュームを追加するには、AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) を使用します。追加または変更する追加のストレージボリュームを指定する JSON 配列として `--additional-storage-volumes` を設定します。

次の例では、5000 GiB の gp3 ストレージを持つ `rdsdbdata2` という名前のストレージボリュームを `mydbinstance` に追加します。

ストレージボリュームを追加すると、RDS は `--no-apply-immediately` パラメータに関係なくすぐに変更を適用します。

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --additional-storage-volumes '[
        {
            "VolumeName": "rdsdbdata2",
            "StorageType": "gp3",
            "AllocatedStorage": 5000,
            "StorageThroughput": 725
        }
    ]'
```

## RDS API
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.api"></a>

DB インスタンスにストレージボリュームを追加するには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。`AdditionalStorageVolumes` パラメータを追加のストレージボリューム仕様の配列として設定します。

ModifyDBInstance API オペレーションを使用してストレージボリュームを追加すると、RDS は `ApplyImmediately` オプションが True か False かに関係なく、ストレージボリュームをすぐに追加します。

# 追加ストレージボリュームの削除
<a name="USER_PIOPS.RemovingAdditionalVolumes"></a>

不要になった追加のストレージボリュームは、RDS for Oracle および RDS for SQL Server DB インスタンスから削除できます。ボリュームを削除する前に、すべてのデータベースファイルをボリュームから移動し、それを参照しているデータベースオブジェクトがないことを確認してください。ボリュームステータスが `Not-in-use` になっていることを確認します。

**重要**  
プライマリストレージボリュームを削除することはできません。追加のストレージボリュームのみを削除できます。

## コンソール
<a name="USER_PIOPS.RemovingAdditionalVolumes.console"></a>

**DB インスタンスから追加のストレージボリュームを削除するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、**データベース** を選択します。

1. 削除するボリュームを含む DB インスタンスを選択します。

1. **[Modify]** (変更) を選択します。

1. **[ストレージ]** セクションで、削除する追加のストレージボリュームを見つけます。

1. 削除するボリュームで **[ボリュームを削除]** を選択します。
**注記**  
ステータスが `Not-in-use` のボリュームのみを削除できます。ボリュームがまだ使用されている場合は、すべてのデータベースファイルをボリューム外に移動します。

1. [**続行**] をクリックしてください。

1. 設定が適切な場合は、**[DB インスタンスを変更]** を選択します。

## AWS CLI
<a name="USER_PIOPS.RemovingAdditionalVolumes.cli"></a>

DB インスタンスから追加のストレージボリュームを削除するには、AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) を使用します。次のパラメータを設定します。
+ `--additional-storage-volumes` – 残りの追加のストレージボリュームを指定する JSON 配列。この配列から削除するボリュームを省略します。

次の例では、残りのボリュームのみを指定して、`rdsdbdata3` という名前の追加ストレージボリュームを `mydbinstance` から削除し、変更をすぐに適用します。

```
aws rds modify-db-instance \
	--db-instance-identifier mydbinstance \
	--additional-storage-volumes '[{ \
		"VolumeName": "rdsdbdata3", \
		"SetForDelete": true
	}]'
```

## RDS API
<a name="USER_PIOPS.RemovingAdditionalVolumes.api"></a>

DB インスタンスから追加のストレージボリュームを削除するには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。以下のパラメータを設定します。
+ `AdditionalStorageVolumes` – 保持するボリュームの追加ストレージボリューム仕様の配列。この配列から削除するボリュームを省略します。
+ `ApplyImmediately` - すぐに変更を適用するには、このオプションを `True` に設定します。このオプションを `False` (デフォルト) に設定して、次のメンテナンスウィンドウ中に変更を適用します。

# Amazon RDS ストレージの自動スケーリングによる容量の自動管理
<a name="USER_PIOPS.Autoscaling"></a>

ワークロードが予測不能な場合は、Amazon RDS DB インスタンスのストレージの自動スケーリングを有効にすることができます。そのためには、Amazon RDS コンソール、Amazon RDS API、または AWS CLI を使用できます。

**注記**  
ストレージの自動スケーリングは、追加のストレージボリュームではサポートされていません。

例えば、ユーザーの導入が急速に拡大している新しいモバイルゲームアプリケーションでこの機能を使用できます。この場合、急激に増加するワークロードは、利用可能なデータベースストレージを超過する可能性があります。データベースストレージを手動でスケールアップしなくても済むように、Amazon RDS ストレージの自動スケーリングを使用できます。

ストレージの自動スケーリングが有効になっている場合、Amazon RDS でデータベースでの空き領域が不足していることが検出されると、自動的にストレージがスケールアップされます。次の要因が当てはまる場合、Amazon RDS によって自動スケーリングが有効な DB インスタンスのストレージ変更が開始されます。
+ 使用可能な空き領域は、割り当てられたストレージの 10% 未満です。
+ 低ストレージ状態は 5 分以上続きます。
+ 最後のストレージ変更、あるいはインスタンスでストレージの最適化が完了してから少なくとも 6 時間経過しています。

追加のストレージは、次のうちいずれか大きい方の増分です。
+ 10 GiB
+ 現在割り当てられているストレージの 10%
+ 過去 1 時間の `FreeStorageSpace` メトリクスから、今後 7 時間以内にストレージが現在割り当てられているストレージサイズを超えると予測されます。メトリクスの詳細については、[Amazon CloudWatch によるモニタリング](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MonitoringOverview.html#monitoring-cloudwatch)を参照してください。

ストレージの最大しきい値は、DB インスタンスの自動スケーリングに設定する制限です。以下の制約があります。
+ 最大ストレージしきい値は、現在割り当てられているストレージより少なくとも 10% 多く設定する必要があります。ストレージサイズが最大ストレージしきい値に近づいているという[イベントの通知](USER_Events.Messages.md#RDS-EVENT-0225)を受け取らないように、少なくとも 26% 以上に設定することをお勧めします。

  例えば、1000 GiB の割り当て済みストレージを持つ DB インスタンスがある場合、最大ストレージしきい値を少なくとも 1100 GiB に設定します。そうしないと、*engine\$1name* の最大ストレージサイズが無効ですようなエラーが発生します。ただし、イベントの通知を回避するために、最大ストレージしきい値を 1260 GiB 以上に設定することを推奨します。
+ プロビジョンド IOPS (io1 または io2 Block Express) ストレージを使用する DB インスタンスの場合、IOPS と最大ストレージしきい値の比率 (GiB 単位) が特定の範囲内である必要があります。詳細については、「[プロビジョンド IOPS SSD ストレージ](CHAP_Storage.md#USER_PIOPS)」を参照してください。
+ 自動スケーリング対応のインスタンスの場合、ストレージの最大しきい値を、データベースエンジンおよび DB インスタンスクラスに割り当てられた最大ストレージより大きい値に設定することはできません。

  例えば、db.m5.xlarge にある SQL Server Standard Edition には、20 GiB (最小) のインスタンスに対するデフォルトのストレージ割り当てと 16,384 GiB の最大ストレージ割り当てがあります。自動スケーリングに対するデフォルトの最大ストレージしきい値は 1,000 GiB です。このデフォルトを使用する場合、インスタンスは 1,000 GiB を超えて自動スケーリングしません。これは、インスタンスの最大ストレージ割り当てが 16,384 GiB であっても、該当します。

**注記**  
使用パターンと顧客のニーズに基づいて、最大ストレージしきい値を慎重に選択することをお勧めします。使用パターンに異常があり、Auto Scaling で予測しきい値が非常に高くなった場合、最大ストレージしきい値により、ストレージが予期しない高い値にスケーリングされることを防止できます。DB インスタンスが自動スケーリングされた後、割り当てられたストレージを減らすことはできません。

**Topics**
+ [ストレージの自動スケーリングの制限](#autoscaling-limitations)
+ [新しい DB インスタンスのストレージの自動スケーリングを有効化する](#USER_PIOPS.EnablingAutoscaling)
+ [DB インスタンスのストレージの自動スケーリング設定を変更する](#USER_PIOPS.ModifyingAutoscaling)
+ [DB インスタンスを手動でスケールダウンまたはスケールインする](#USER_PIOPS.ScalingDown)
+ [DB インスタンスのストレージの自動スケーリングをオフにする](#USER_PIOPS.DisablingAutoscaling)

## ストレージの自動スケーリングの制限
<a name="autoscaling-limitations"></a>

ストレージの自動スケーリングには、次の制限が適用されます。
+ ストレージの増分により最大ストレージしきい値を超える場合、自動スケーリングは実行されません。
+ オートスケーリングの場合、RDS は後続のオートスケーリングオペレーションのストレージサイズを予測します。後続のオペレーションが最大ストレージしきい値を超えると予測される場合、RDS では最大ストレージしきい値にオートスケーリングします。
+ 自動スケーリングでは、大量のデータロードに伴うストレージ不足状態を完全に防ぐことはできません。その後 6 時間、またはインスタンスでストレージの最適化が完了するまでのいずれか長い方の時間まで、ストレージにそれ以上の変更を加えることができないためです。

  大量のデータロードを実行し、Auto Scaling で十分な領域が得られない場合、データベースは数時間ストレージ不足状態になることがあります。これはデータベースに悪影響を与える場合があります。
+ Amazon RDS が自動スケーリングオペレーションを開始するのと同時にストレージのスケーリングオペレーションを開始した場合は、ストレージの変更が優先されます。自動スケーリングオペレーションはキャンセルされます。
+ 自動スケーリングでは、割り当てられたストレージを減らすことはできません。ストレージを割り当てた後に DB インスタンスのストレージ容量を減らすことはできません。
+ 自動スケーリングは磁気ストレージでは使用できません。
+ 自動スケーリングは、順序付け可能なストレージが 6 TiB 未満の旧世代のインスタンスクラス (db.m3.large、db.m3.xlarge、db.m3.2xlarge) では使用できません。
+ 自動スケーリング操作は、AWS CloudTrail でログに記録されません。CloudTrail の詳細については、「[AWS CloudTrail での Amazon RDS API コールのモニタリング](logging-using-cloudtrail.md)」を参照してください。
+ 自動スケーリングは、追加のストレージボリュームではサポートされていません。ストレージボリュームの追加方法については、「[ストレージボリュームの追加](USER_PIOPS.ModifyingExisting.AdditionalVolumes.md)」を参照してください。

自動スケーリングは Amazon RDS DB インスタンスのストレージを動的に増やすのに役立ちますが、それでも DB インスタンスの初期ストレージを通常のワークロードに適したサイズに設定する必要があります。

## 新しい DB インスタンスのストレージの自動スケーリングを有効化する
<a name="USER_PIOPS.EnablingAutoscaling"></a>

Amazon RDS DB インスタンスを作成する場合は、ストレージの自動スケーリングを有効にするかどうかを選択することができます。また、Amazon RDS が DB インスタンスに対して割り当てることができるストレージの上限を設定することもできます。

ストレージの自動スケーリングを有効にしても、データベースを再起動する必要はなく、ダウンタイムも発生しません。この機能は、データベースの操作を中断することなく、すぐに有効になります。

**注記**  
ストレージの自動スケーリングが有効になっている Amazon RDS DB インスタンスのクローンを作成する場合、その設定は、クローンを作成したインスタンスに自動的に継承されません。新しい DB インスタンスには、元のインスタンスと同じ量のストレージが割り当てられます。クローンを作成したインスタンスのストレージ要件を再度増やしている場合は、新しいインスタンスに対してストレージの自動スケーリングを再度有効にすることができます。

### コンソール
<a name="USER_PIOPS.EnablingAutoscaling.console"></a>

**新しい DB インスタンスのストレージの自動スケーリングを有効にするには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1.  Amazon RDS コンソールの右上で、DB インスタンスを作成する AWS リージョンを選択します。

1.  ナビゲーションペインで、[**データベース**] を選択します。

1.  [**データベースの作成**] を選択します。[**エンジンの選択**] ページで、データベースエンジンを選択し、[Amazon RDS のスタート方法](CHAP_GettingStarted.md) に示されている DB インスタンスの情報を指定します。

1. [**Storage autoscaling (ストレージの自動スケーリング)**] セクションで、DB インスタンスの [**Maximum storage threshold (ストレージの最大しきい値)**] を設定します。

1. [Amazon RDS のスタート方法](CHAP_GettingStarted.md) に示されているように、DB インスタンス情報の残りを指定します。

### AWS CLI
<a name="USER_PIOPS.EnablingAutoscaling.cli"></a>

新しい DB インスタンスのストレージの自動スケーリングを有効にするには、AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) を使用します。次のパラメータを設定します。
+  `--max-allocated-storage` – ストレージの自動スケーリングをオンにして、ストレージサイズの上限 (ギビバイト単位) を設定します。

 DB インスタンスに対して Amazon RDS ストレージの自動スケーリングが使用可能であることを確認するには、AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html) コマンドを使用します。インスタンスを作成する前に、インスタンスクラスに基づいて確認するには、[https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html) コマンドを使用します。戻り値の以下のフィールドを確認します。
+  `SupportsStorageAutoscaling` – DB インスタンスまたはインスタンスクラスでストレージの自動スケーリングがサポートされているかどうかを示します。

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

### RDS API
<a name="USER_PIOPS.EnablingAutoscaling.api"></a>

新しい DB インスタンスのストレージの自動スケーリングを有効にするには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) を使用します。次のパラメータを設定します。
+  `MaxAllocatedStorage` – Amazon RDS のストレージの自動スケーリングをオンにして、ストレージサイズの上限 (ギビバイト単位) を設定します。

 Amazon RDS ストレージの自動スケーリングが DB インスタンスに対して使用可能なことを確認するには、Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html) オペレーションを既存インスタンスに対して使用するか、インスタンスの作成前に [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html) オペレーションを使用します。戻り値の以下のフィールドを確認します。
+  `SupportsStorageAutoscaling` – DB インスタンスでストレージの自動スケーリングがサポートされているかどうかを示します。

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

## DB インスタンスのストレージの自動スケーリング設定を変更する
<a name="USER_PIOPS.ModifyingAutoscaling"></a>

既存の Amazon RDS DB インスタンスのストレージの自動スケーリングをオンにすることができます。また、Amazon RDS が DB インスタンスに対して割り当てることができるストレージの上限を変更することもできます。

ストレージの自動スケーリング設定を変更しても、データベースを再起動する必要はなく、ダウンタイムも発生しません。変更は、データベースの操作を中断することなく、すぐに有効になります。

### コンソール
<a name="USER_PIOPS.ModifyingAutoscaling.console"></a>

**DB インスタンスのストレージ自動スケーリング設定を変更するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

1. 変更する DB インスタンスを選択してから、[**変更**] を選択します。[**Modify DB instance**] ページが表示されます。

1.  [**自動スケーリング**] セクションのストレージ制限を変更します。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

1.  すべての変更が正しいことを確認したら、[**Continue**] を選択して変更の概要を確認します。

1.  確認ページで、変更内容を確認します。正しい場合は、**[DB インスタンスを変更]** を選択して変更を保存します。正しくない場合は、[**戻る**] を選択して変更を編集するか、[**キャンセル**] を選択して変更を取り消します。

   ストレージの自動スケーリングの制限の変更はただちに実行されます。この設定は、[**Apply immediately**] 設定を無視します。

### AWS CLI
<a name="USER_PIOPS.ModifyingAutoscaling.cli"></a>

DB インスタンスのストレージ自動スケーリング設定を変更するには、AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) を使用します。次のパラメータを設定します。
+  `--max-allocated-storage` – ストレージサイズの上限 (ギビバイト単位) を設定します。値が `--allocated-storage` パラメータを超える場合、ストレージの自動スケーリングはオンになります。値が `--allocated-storage` パラメータと同一の場合、ストレージの自動スケーリングはオフになります。

 DB インスタンスに対して Amazon RDS ストレージの自動スケーリングが使用可能であることを確認するには、AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html) コマンドを使用します。インスタンスを作成する前に、インスタンスクラスに基づいて確認するには、[https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html) コマンドを使用します。戻り値の以下のフィールドを確認します。
+  `SupportsStorageAutoscaling` – DB インスタンスでストレージの自動スケーリングがサポートされているかどうかを示します。

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

### RDS API
<a name="USER_PIOPS.ModifyingAutoscaling.api"></a>

 DB インスタンスのストレージ自動スケーリング設定を変更するには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。次のパラメータを設定します。
+  `MaxAllocatedStorage` – ストレージサイズの上限 (ギビバイト単位) を設定します。

 Amazon RDS ストレージの自動スケーリングが DB インスタンスに対して使用可能なことを確認するには、Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html) オペレーションを既存インスタンスに対して使用するか、インスタンスの作成前に [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html) オペレーションを使用します。戻り値の以下のフィールドを確認します。
+  `SupportsStorageAutoscaling` – DB インスタンスでストレージの自動スケーリングがサポートされているかどうかを示します。

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

## DB インスタンスを手動でスケールダウンまたはスケールインする
<a name="USER_PIOPS.ScalingDown"></a>

Amazon RDS は、需要の増加に合わせたストレージの自動スケーリングを提供しています。ただし、スケールダウンとスケールインには制限があります。
+ **RDS ストレージ** – RDS は需要の増加に応じてストレージの自動スケールアップをサポートしていますが、自動的にスケールダウンすることはありません。
+ **リードレプリカ** – RDS は、リードレプリカの自動スケールアウト (追加) またはスケールイン (削除) をサポートしていません。ロード要件に従って、リードレプリカを手動で追加または削除する必要があります。

RDS リソースをスケールダウンするには、次の手動アクションを実行します。
+ ストレージの場合、`modify-db-instance` コマンドを使用して DB インスタンスの割り当てられたストレージを手動で減らすことはできません。代わりに、次のいずれかの方法を選択します。
  + DB エンジンがブルー/グリーンデプロイをサポートしている場合は、ブルー/グリーンデプロイを使用します。小さいストレージサイズでグリーンデータベースを作成し、グリーンデータベースをブルーデータベースに昇格させます。詳細については、「[ストレージとパフォーマンスの設定を変更する](blue-green-deployments-creating.md#blue-green-deployments-resize)」を参照してください。
  + 小さく割り当てられたストレージで新しい DB インスタンスを作成し、現在のデータベースから新しく作成されたデータベースインスタンスにデータを手動で移行して、データベースエンドポイントを切り替えます。
+ リードレプリカの場合は、RDS コンソールまたは AWS CLI を使用して未使用のレプリカを手動で削除します。

## DB インスタンスのストレージの自動スケーリングをオフにする
<a name="USER_PIOPS.DisablingAutoscaling"></a>

 Amazon RDS で Amazon RDS DB インスタンスのストレージを自動的に増やす必要がなくなった場合は、ストレージの自動スケーリングをオフにできます。オフにしても、DB インスタンスのストレージ領域は手動で増やすことができます。

### コンソール
<a name="USER_PIOPS.DisablingAutoscaling.console"></a>

**DB インスタンスのストレージの自動スケーリングをオフにするには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

1. 変更する DB インスタンスを選択してから、[**変更**] を選択します。[**Modify DB instance**] ページが表示されます。

1.  [**Storage autoscaling (ストレージの自動スケーリング)**] セクションの [**Enable storage autoscaling (ストレージの自動スケーリングを有効にする)**] チェックボックスをオフにします。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

1.  すべての変更が正しいことを確認したら、[**Continue**] を選択して変更の概要を確認します。

1. 確認ページで、変更内容を確認します。正しい場合は、**[DB インスタンスを変更]** を選択して変更を保存します。正しくない場合は、[**戻る**] を選択して変更を編集するか、[**キャンセル**] を選択して変更を取り消します。

ストレージの自動スケーリングの制限の変更はただちに実行されます。この設定は、[**Apply immediately**] 設定を無視します。

### AWS CLI
<a name="USER_PIOPS.DisablingAutoscaling.cli"></a>

 DB インスタンスのストレージの自動スケーリングをオフにするには、AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) および次のパラメータを使用します。
+  `--max-allocated-storage` – `--allocated-storage` 設定と同等の値を指定して、指定された DB インスタンスでそれ以上 Amazon RDS ストレージの自動スケーリングが行われるのを防ぐことができます。

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

### RDS API
<a name="USER_PIOPS.DisablingAutoscaling.api"></a>

 DB インスタンスのストレージの自動スケーリングをオフにするには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。次のパラメータを設定します。
+  `MaxAllocatedStorage` – `AllocatedStorage` 設定と同等の値を指定して、指定された DB インスタンスでそれ以上 Amazon RDS ストレージの自動スケーリングが行われるのを防ぐことができます。

ストレージの詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

# DB インスタンスのストレージファイルシステムのアップグレード
<a name="USER_PIOPS.UpgradeFileSystem"></a>

ほとんどの RDS DB インスタンスでは、RDS for MariaDB、MySQL、および PostgreSQL データベースの最大ストレージサイズは 64 TiB です。ただし、一部の古い 32 ビットファイルシステムでは、ストレージ容量が少なくなっています。DB インスタンスのストレージ容量を確認するには、[describe-valid-db-instance-modifications](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html) AWS CLI コマンドを使用します。

RDS は、ストレージシステムに 16 TiB のストレージサイズ、2 TiB のファイルサイズ制限、または最適化されていない書き込みがあるかどうかをチェックします。DB インスタンスがこれらの条件を満たしている場合、RDS はファイルシステム設定がアップグレードの対象であることを警告します。DB インスタンスのアップグレード資格は、DB インスタンスの詳細ページの **[ストレージ]** パネルで確認できます。

![\[DB インスタンスのストレージ設定のアップグレード資格を確認します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/upgrade-storage-config.png)


DB インスタンスがファイルシステムアップグレードの対象である場合は、次のいずれかの方法を使用します。
+ Blue/Green デプロイを作成し、**[ストレージファイルシステム設定のアップグレード]** を指定します。

  このオプションは、グリーン環境のファイルシステムを適切な設定にアップグレードします。その後、ブルー/グリーンデプロイを切り替えて、グリーン環境を新しい本番環境に昇格できます。詳細な手順については、「[Amazon RDS でのブルー/グリーンデプロイの作成](blue-green-deployments-creating.md)」を参照してください。
+ DB インスタンスのリードレプリカを作成し、**[ストレージファイルシステム設定のアップグレード]** を指定します。

  このオプションは、リードレプリカのファイルシステムを適切な設定にアップグレードします。次に、リードレプリカをスタンドアロンインスタンスに昇格させることができます。詳細な手順については、「[リードレプリカの作成](USER_ReadRepl.Create.md)」を参照してください。

ストレージのアップグレード中は、データベースエンジンは使用できません。ストレージ設定のアップグレードは I/O の負荷が高い操作であり、リードレプリカとブルー/グリーンデプロイでは作成時間が長くなります。次の条件の両方が満たされると、ストレージのアップグレードプロセスが高速になります。
+ ソース DB インスタンスは、プロビジョンド IOPS SSD (io1 または io2 Block Express) ストレージを使用します。
+ インスタンスサイズが 4xlarge 以上のグリーン環境またはリードレプリカをプロビジョニングしました。

汎用 SSD (gp2) ストレージを含むストレージをアップグレードすると、I/O クレジットバランスを使い切る可能性があり、よってよりアップグレード時間が長くなります。詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

ストレージのアップグレード中に、次の条件の両方が満たされた場合、RDS はグリーンインスタンスまたはリードレプリカに割り当てられたストレージサイズを 10% 増やします。
+ ソース DB インスタンスのストレージ消費量は、割り当てられたストレージサイズの 90% 以上です。
+ ストレージの自動スケーリングが有効になっています。

新しいストレージサイズがインスタンスに設定された最大割り当てストレージ以上の場合、RDS は自動スケーリングをオフにします。ストレージのアップグレードの開始前にストレージのオートスケーリングが無効になっている場合、アップグレード中にストレージサイズは増加しません。

# プロビジョンド IOPS SSD ストレージの設定を変更する
<a name="User_PIOPS.Increase"></a>

Amazon RDS コンソール、AWS CLI、または Amazon RDS API を使用して、プロビジョンド IOPS SSD ストレージを使用する DB インスタンスの設定を変更できます。必要なストレージタイプ、割り当て済みストレージ、プロビジョンド IOPS の量を指定します。この範囲は、データベースエンジンとインスタンスタイプによって異なります。

インスタンスにプロビジョニングされた IOPS の量を減少することはできますが、ストレージサイズを減少させることはできません。

ほとんどの場合、ストレージのスケーリングには停止が必要ではなく、サーバーのパフォーマンスを低下させません。DB インスタンスのストレージ IOPS を変更すると、DB インスタンスのステータスは **storage-optimization** になります。

**注記**  
ストレージの最適化には数時間かかることがあります。その後 6 時間、またはインスタンスでストレージの最適化が完了するまでのいずれか長い方の時間まで、ストレージにそれ以上の変更を加えることはできません。

各データベースエンジンで使用できる割り当て済みストレージとプロビジョンド IOPS の範囲については、「[プロビジョンド IOPS SSD ストレージ](CHAP_Storage.md#USER_PIOPS)」を参照してください。

## コンソール
<a name="User_PIOPS.Increase.con"></a>

**DB インスタンスのプロビジョンド IOPS の設定を変更するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

   DB インスタンスの一覧をフィルターするには、[**Filter databases (データベースのフィルター)**] に、結果をフィルターするために使用する Amazon RDS のテキスト文字列を入力します。その文字列を名前に含む DB インスタンスのみが表示されます。

1. 変更するプロビジョンド IOPS を使う DB インスタンスを選択します。

1. **Modify** を選択します。

1. **[DB インスタンスを変更]** ページの **[ストレージタイプ]** で **[プロビジョンド IOPS SSD (io1)[プロビジョンド** or **[プロビジョンド IOPS SSD (io2)[プロビジョンド** を選択します。

1. **プロビジョンド IOPS** に値を入力します。

   **ストレージの割り当て** または **プロビジョンド IOPS** で指定した値が、他のパラメータでサポートされている制限を超えている場合、警告メッセージが表示されます。このメッセージには他のパラメータで必要な値の範囲が表示されます。

1. **[Continue]** (続行) をクリックします。

1. DB インスタンスの変更をすぐに適用するには、**[Scheduling of modifications]** (変更のスケジュール) セクションの **[Apply immediately]** (すぐに適用) を選択します。または、[**次に予定されるメンテナンスウィンドウ中に適用します**] を選択して、次のメンテナンスウィンドウ中に変更を適用します。

1. 変更するパラメータを確認し、[**Modify DB instance**] (DB インスタンスの変更) を選択して変更を完了します。

   ストレージの割り当てまたはプロビジョンド IOPS の新しい値が **ステータス** 列に表示されます。

## AWS CLI
<a name="User_PIOPS.Increase.cli"></a>

DB インスタンスのプロビジョンド IOPS の設定を変更するには、AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドを使用します。以下のパラメータを設定します。
+ `--storage-type` – プロビジョンド IOPS には `io1` または `io2` を指定します。
+ `--allocated-storage` – DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `--iops` – DB インスタンスのプロビジョンド IOPS の新しい値。1 秒あたりの I/O オペレーション数で表されます。
+ `--apply-immediately` – `--apply-immediately` を使用して、すぐに変更を適用します。`--no-apply-immediately` (デフォルト) を使用して、次のメンテナンスウィンドウ中に変更を適用します。

## RDS API
<a name="User_PIOPS.Increase.api"></a>

DB インスタンスのプロビジョンド IOPS の設定を変更するには、Amazon RDS API オペレーションの [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。以下のパラメータを設定します。
+ `StorageType` – プロビジョンド IOPS には `io1` または `io2` を指定します。
+ `AllocatedStorage` – DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `Iops` – DB インスタンスの新しい IOPS レート。1 秒あたりの I/O オペレーション数で表されます。
+ `ApplyImmediately` – このオプションを `True` に設定して、すぐに変更を適用します。または `False` (デフォルト) を設定して、次のメンテナンスウィンドウ中にストレージの変更を適用します。

# I/O を大量に消費するストレージの変更
<a name="USER_PIOPS.IOIntensive"></a>

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 メトリクスの表示](USER_Monitoring.OS.Viewing.md)」を参照してください。
+ 変更リクエストのターゲットサイズにより、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 インスタンスのリードレプリカの操作](USER_ReadRepl.md)」を参照してください。

詳細については、次を参照してください。「[割り当てられたストレージを増やそうとすると、Amazon RDS DB インスタンスが変更中の状態で止まるのはなぜですか?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-stuck-modifying/)」

# 汎用 SSD (gp3) ストレージの設定変更
<a name="USER_PIOPS.gp3"></a>

Amazon RDS コンソール、AWS CLI、または Amazon RDS API を使用して、汎用 SSD (gp3) ストレージを使用する DB インスタンスの設定を変更できます。必要なストレージタイプ、割り当て済みストレージ、プロビジョンド IOPS の量、ストレージのスループットを指定します。

DB インスタンスのプロビジョンド IOPS の量とストレージスループットを減らすことはできますが、ストレージサイズを減らすことはできません。

ほとんどの場合、ストレージをスケーリングしても停止する必要はありません。DB インスタンスのストレージ IOPS を変更すると、DB インスタンスのステータスは **storage-optimization** になります。ストレージの最適化中は、レイテンシーが高くなることが予想されますが、それでも数ミリ秒の範囲内です。ストレージ変更後、DB インスタンスは完全に動作します。

**注記**  
インスタンスでストレージの最適化が完了してから 6 時間後まではストレージをこれ以上変更することはできません。

各データベースエンジンで使用できる割り当て済みストレージ、プロビジョンド IOPS、ストレージのスループットの範囲については、「[gp3 ストレージ (推奨)](CHAP_Storage.md#gp3-storage)」を参照してください。

## コンソール
<a name="USER_PIOPS.gp3.Console"></a>

**DB インスタンスのストレージのパフォーマンス設定を変更するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

   DB インスタンスの一覧をフィルターするには、[**Filter databases (データベースのフィルター)**] に、結果をフィルターするために使用する Amazon RDS のテキスト文字列を入力します。その文字列を名前に含む DB インスタンスのみが表示されます。

1. 変更する gp3 ストレージを使用する DB インスタンスを選択します。

1. **Modify** を選択します。

1. **[DB インスタンスを変更]** ページで、**[ストレージタイプ]** に **[汎用 SSD (gp3)]** を選択し、次の操作を行います。

   1. **プロビジョンド IOPS** で、値を選択します。

      **ストレージの割り当て** または **プロビジョンド IOPS** で指定した値が、他のパラメータでサポートされている制限を超えている場合、警告メッセージが表示されます。このメッセージには他のパラメータで必要な値の範囲が表示されます。

   1. **ストレージスループット** で値を選択します。

      **プロビジョンド IOPS** または**ストレージのスループット**で指定した値が、他のパラメータでサポートされている制限を超えている場合、警告メッセージが表示されます。このメッセージには他のパラメータで必要な値の範囲が表示されます。

1. **[Continue]** (続行) をクリックします。

1. DB インスタンスの変更をすぐに適用するには、**[Scheduling of modifications]** (変更のスケジュール) セクションの **[Apply immediately]** (すぐに適用) を選択します。または、[**次に予定されるメンテナンスウィンドウ中に適用します**] を選択して、次のメンテナンスウィンドウ中に変更を適用します。

1. 変更するパラメータを確認し、[**Modify DB instance**] (DB インスタンスの変更) を選択して変更を完了します。

   プロビジョンド IOPS の新しい値が **ステータス** 列に表示されます。

## AWS CLI
<a name="USER_PIOPS.gp3.CLI"></a>

DB インスタンスのストレージのパフォーマンス設定を変更するには、AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) を使用します。以下のパラメータを設定します。
+ `--storage-type` – 汎用 SSD (gp3) の場合は `gp3` に設定します。
+ `--allocated-storage` – DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `--iops` – DB インスタンスのプロビジョンド IOPS の新しい値。1 秒あたりの I/O オペレーション数で表されます。
+ `--storage-throughput` – DB インスタンスの新しいストレージスループットで、MIBP で表します。
+ `--apply-immediately` – `--apply-immediately` を使用して、すぐに変更を適用します。`--no-apply-immediately` (デフォルト) を使用して、次のメンテナンスウィンドウ中に変更を適用します。

## RDS API
<a name="USER_PIOPS.gp3.API"></a>

DB インスタンスのストレージのパフォーマンス設定を変更するには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。以下のパラメータを設定します。
+ `StorageType` – 汎用 SSD (gp3) の場合は `gp3` に設定します。
+ `AllocatedStorage` – DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `Iops` – DB インスタンスの新しい IOPS レート。1 秒あたりの I/O オペレーション数で表されます。
+ `StorageThroughput` – DB インスタンスの新しいストレージスループットで、MIBP で表します。
+ `ApplyImmediately` – このオプションを `True` に設定して、すぐに変更を適用します。または `False` (デフォルト) を設定して、次のメンテナンスウィンドウ中にストレージの変更を適用します。

# 専用ログボリューム (DLV) を使用する
<a name="USER_PIOPS.dlv"></a>

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

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

Amazon RDS は、次のバージョンについて、すべての AWS リージョン の DLV でサポートします。
+ MariaDB 10.6.7 以上の 10 バージョン
+ MySQL 8.0.28 以上の 8.0 バージョン、MySQL 8.4.3 以上の 8.4 バージョン
+ PostgreSQL 13.10 以上の 13 バージョン、14.7 以上の 14 バージョン、15.2 以上の 15 バージョン

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

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

**注記**  
5 TiB 以上のデータベース設定には DLV をお勧めします。

DLV の利点について詳しくは、以下のブログ投稿を参照してください。
+ [Amazon RDS 専用ログボリュームによるデータベースパフォーマンスの向上](https://aws.amazon.com/blogs/database/enhance-database-performance-with-amazon-rds-dedicated-log-volumes/)
+ [Amazon RDS for PostgreSQL を専用ログボリュームでベンチマークする](https://aws.amazon.com/blogs/database/benchmark-amazon-rds-for-postgresql-with-dedicated-log-volumes/)
+ Percona ドキュメントの「[Maximizing performance of AWS RDS for MySQL with dedicated log volumes](https://www.percona.com/blog/maximizing-performance-of-aws-rds-for-mysql-with-dedicated-log-volumes/)」

各データベースエンジンで使用できる割り当て済みストレージ、プロビジョンド IOPS、ストレージのスループットの範囲については、「[プロビジョンド IOPS SSD ストレージ](CHAP_Storage.md#USER_PIOPS)」を参照してください。

**Topics**
+ [DLV を有効または無効にする際の考慮事項](#USER_PIOPS.dlv.considerations)
+ [DB インスタンス作成時に DLV を有効にする](#USER_PIOPS.create-dlv)
+ [既存の DB インスタンスで DLV を有効にする](#USER_PIOPS.modify-dlv)
+ [DLV ストレージのモニタリング](#USER_PIOPS.dlv.monitoring)

## DLV を有効または無効にする際の考慮事項
<a name="USER_PIOPS.dlv.considerations"></a>

DLV の有効化と無効化には時間がかかり、ダウンタイムが発生する可能性があります。このプロセスでは、有効化時にすべてのトランザクションログ、または REDO ログとバイナリログ (データベースエンジンによって異なります) を新しいボリュームにコピーするか、無効化時に元のストレージに戻します。このオペレーションの期間は、いくつかの要因の影響を受けます。
+ トランザクションログの数:
  + トランザクションが多いデータベースが大きいほどログが生成され、コピーにかかる時間が長くなります。
  + レプリケーションスロットが非アクティブの場合、またはレプリケーションが遅延している場合、トランザクションログがプライマリ DB インスタンスに蓄積され、コピーに必要な時間が長くなります。レプリケーションが最新であることを確認し、不要なスロットをすべて削除します。
+ ストレージ設定:
  + DB インスタンスの EBS 帯域幅 – 帯域幅が大きいほど、データ転送が速くなります。
  + プロビジョンド IOPS の数 – 1 秒あたりの入出力オペレーション (IOPS) が増えると、コピープロセスが高速化されます。
+ データベースアクティビティ – 設定中のデータベースアクティビティのレベルが高いと、プロセスが遅くなる可能性があります。

ダウンタイムを最小限に抑えるために、アクティビティが少ない期間やメンテナンス期間中に計画とスケジュールを設定することをお勧めします。

## DB インスタンス作成時に DLV を有効にする
<a name="USER_PIOPS.create-dlv"></a>

DLV を有効にした DB インスタンスを作成するには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用できます。

### コンソール
<a name="USER_PIOPS.create-dlv.CON"></a>

**新しい DB インスタンスで DLV を有効にするには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. [**データベースの作成**] を選択します。

1. **[DB インスタンスの作成]** ページで、DLV をサポートする DB エンジンを選択します。

1. **ストレージ**:

   1. **[プロビジョンド IOPS SSD (io1)]** または **[プロビジョンド IOPS SSD (io2)]** を選択します。

   1. 使用する **[割り当て済みストレージ]** と **[プロビジョンド IOPS]** を入力します。

   1. **[専用ログボリューム]** を展開して、**[専用ログボリュームを有効にする]** を選択します。  
![\[新しい DB インスタンスで DLV を有効にする\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/enable-dlv.png)

1. 必要に応じて、その他の設定を選択します。

1. **[データベースの作成]** を選択します。

データベースが作成されると、専用ログボリュームの値がデータベースの詳細ページの **[設定]** タブに表示されます。

### CLI
<a name="USER_PIOPS.create-dlv.CLI"></a>

プロビジョンド IOPS ストレージを使用して DB インスタンスを作成する際に DLV を有効にするには、AWS CLI コマンド [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) を使用します。以下のパラメータを設定します:
+ `--dedicated-log-volume` – 専用ログボリュームを有効にします。
+ `--storage-type` – プロビジョンド IOPS には `io1` または `io2` を指定します。
+ `--allocated-storage` - DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `--iops` – DB インスタンスのプロビジョンド IOPS の量 (1 秒あたりの I/O オペレーション数単位)。

### RDS API
<a name="USER_PIOPS.create-dlv.API"></a>

プロビジョンド IOPS ストレージを使用して DB インスタンスを作成する際に DLV を有効または無効にするには、Amazon RDS API オペレーション [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CretaeDBInstance.html) を使用します。以下のパラメータを設定します:
+ `DedicatedLogVolume` — `true` に設定して、専用のログボリュームを有効にします。
+ `StorageType` – プロビジョンド IOPS には `io1` または `io2` を指定します。
+ `AllocatedStorage` - DB インスタンスに割り当てるストレージの量 (ギビバイト単位)。
+ `Iops` – この DB インスタンスの新しい IOPS レート (1 秒あたりの I/O オペレーション数単位)。

## 既存の DB インスタンスで DLV を有効にする
<a name="USER_PIOPS.modify-dlv"></a>

DB インスタンスを更新して DLV を有効にするには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用できます。

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

### コンソール
<a name="USER_PIOPS.modify-dlv.CON"></a>

**既存の DB インスタンスで DLV を有効にするには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

   DB インスタンスの一覧をフィルターするには、[**Filter databases (データベースのフィルター)**] に、結果をフィルターするために使用する Amazon RDS のテキスト文字列を入力します。その文字列を名前に含む DB インスタンスのみが表示されます。

1. 変更するプロビジョンド IOPS ストレージを使用する DB インスタンスを選択します。

1. **[Modify]** (変更) を選択します。

1. **[DB インスタンスを変更]** ページで、以下を実行します。

   1. **[ストレージ]** では、**[専用ログボリューム]** を展開して、**[専用ログボリュームを有効にする]** を選択します。

1. [**続行**] をクリックしてください。

1. DB インスタンスへの変更を直ちに適用するには、**[すぐに適用]** をクリックします。または、[**次に予定されるメンテナンスウィンドウ中に適用します**] を選択して、次のメンテナンスウィンドウ中に変更を適用します。

1. 変更するパラメータを確認し、[**Modify DB instance**] (DB インスタンスの変更) を選択して変更を完了します。

専用ログボリュームの新しい値がデータベースの詳細ページの **[設定]** タブに表示されます。

### CLI
<a name="USER_PIOPS.modify-dlv.CLI"></a>

プロビジョンド IOPS ストレージを使用して既存の DB インスタンスで DLV を有効または無効にするには、AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) を使用します。以下のパラメータを設定します:
+ `--dedicated-log-volume` – 専用ログボリュームを有効にします。

  `--no-dedicated-log-volume` (デフォルト) を使用して、専用ログボリュームを無効にします。
+ `--apply-immediately` – `--apply-immediately` を使用して、すぐに変更を適用します。

  `--no-apply-immediately` (デフォルト) を使用して、次のメンテナンスウィンドウ中に変更を適用します。

### RDS API
<a name="USER_PIOPS.modify-dlv.API"></a>

プロビジョンド IOPS ストレージを使用して既存の DB インスタンスで DLV を有効または無効にするには、Amazon RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) を使用します。以下のパラメータを設定します:
+ `DedicatedLogVolume` - このオプションを `true` に設定して、専用ログボリュームを有効にします。

  このオプションを `false` に設定して、専用ログボリュームを無効にします。これは、デフォルト値です。
+ `ApplyImmediately` – このオプションを `True` に設定して、すぐに変更を適用します。

  または `False` (デフォルト) を設定して、次のメンテナンスウィンドウ中にストレージの変更を適用します。

## DLV ストレージのモニタリング
<a name="USER_PIOPS.dlv.monitoring"></a>

CloudWatch の `FreeStorageSpaceLogVolume` メトリクスを使用して、DLV ストレージの使用状況をモニタリングできます。

RDS for PostgreSQL の次のクエリを使用して、トランザクションログが占めるサイズを確認することができます。

```
SELECT pg_size_pretty(COALESCE(sum(size), 0)) AS total_wal_generated_size
FROM pg_catalog.pg_ls_waldir();
```

DLV のストレージが不足すると、DB インスタンスは `storage-full` 状態になり、ダウンタイムが発生します。