Menu
Amazon Relational Database Service
User Guide (API Version 2014-10-31)

Working with Storage Types

Data storage in Amazon RDS is specified by selecting a storage type and providing a storage size (GB) when you create or modify a DB instance. You can change the type of storage your instance uses by modifying the DB instance, but changing the type of storage in some cases might result in a short outage for the instance. Changing from Magnetic to either General Purpose (SSD) or Provisioned IOPS (SSD) results in an outage. Also, changing from General Purpose (SSD) or Provisioned IOPS (SSD) to Magnetic results in an outage. The outage time is typically 60–120 seconds. For more information about Amazon RDS storage types, see Amazon RDS Storage Types.

Increasing the allocated storage does not result in an outage. Note that you cannot reduce the amount of storage once it has been allocated. The only way to reduce the amount of storage allocated to a DB instance is to dump the data out of the DB instance, create a new DB instance with less storage space, and then load the data into the new DB instance.

When estimating your storage needs, take into consideration that Amazon RDS allocates a minimum amount of storage for file system structures. This reserved space can be up to 3 percent of the allocated storage for a DB instance, though in most cases the reserved space is far less. You should set up an Amazon CloudWatch alarm for your DB instance's free storage space and react when necessary. For information on setting CloudWatch alarms, see the CloudWatch Getting Started Guide.

Modifying a DB Instance to Use a Different Storage Type

You can use the Amazon RDS console, the Amazon RDS API, or the Command Line Interface (CLI) to modify a DB instance to use Standard, General Purpose (SSD), or Provisioned IOPS storage. You must specify either a value for allocated storage or specify both allocated storage and IOPS values. You might need to modify the amount of allocated storage in order to maintain the required ratio between IOPS and storage. For more information about the required ratio between IOPS and storage, see the Using Provisioned IOPS Storage with Multi-AZ, Read Replicas, Snapshots, VPC, and DB Instance Classes.

Note

You cannot modify an existing SQL Server DB instance to change storage type or modify storage allocation.

In some cases an immediate outage occurs when you convert from one storage type to another. If you change from Magnetic to General Purpose (SSD) or Provisioned IOPS (SSD), a short outage occurs. Also, if you change from Provisioned IOPS (SSD) or General Purpose (SSD) to Magnetic, a short outage occurs. For DB instances in a single Availability Zone, the DB instance might be unavailable for a few minutes when the conversion is initiated. For multi-AZ deployments, the time the DB instance is unavailable is limited to the time it takes for a failover operation to complete, which typically takes less than two minutes. Although your DB instance is available for reads and writes during the conversion, you might experience degraded performance until the conversion process is complete. This process can take several hours.

Whenever you change the storage type of a DB instance, the data for that DB instance is migrated to a new volume. The duration of the migration depends on several factors such as database load, storage size, storage type, and amount of IOPS provisioned (if any). Typical migration times are under 24 hours, but can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation.

Caution

While the migration takes place, nightly backups are suspended and no other Amazon RDS operations can take place, including Modify, Reboot, Delete, Create Read Replica, and Take DB Snapshot.

AWS Management Console

To modify a DB instance to use a different storage type

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. On the navigation pane on the Amazon RDS console, choose DB Instances.

  3. Choose the DB instance that you want to modify.

  4. For Instance Actions, choose Modify.

  5. Choose the new Storage Type for the DB instance and type a value for Allocated Storage. If you are modifying your DB instance to use the Provisioned IOPS storage type, then you must also provide a Provisioned IOPS value. For more information, see Modifying IOPS and Storage Settings for a DB Instance That Uses Provisioned IOPS Storage.

    Modify the storage type of a DB instance
  6. To immediately initiate conversion of the DB instance to use the new storage type, select the Apply Immediately check box. If the check box is cleared (the default), the changes are applied during the next maintenance window. In some cases, an immediate outage occurs when the conversion is applied. Changing from Magnetic to General Purpose (SSD) or Provisioned IOPS (SSD) results in an outage. Also, changing from Provisioned IOPS (SSD) or General Purpose (SSD) to Magnetic results in an outage. For more information about storage, see Storage for Amazon RDS.

  7. When the settings are as you want them, choose Continue.

CLI

To modify a DB instance to use a different storage type use the AWS CLI modify-db-instance command. Set the following parameters:

  • --allocated-storage – Amount of storage to be allocated for the DB instance, in gigabytes.

  • --storage-type – The new storage type for the DB instance. You can specify gp2 for general purpose (SSD), io1 for Provisioned IOPS), or standard for magnetic storage.

  • --apply-immediately – Use --apply-immediately to initiate conversion immediately, or --no-apply-immediately (the default) to apply the conversion during the next maintenance window. In some cases, an immediate outage occurs when the conversion is applied. Changing from Magnetic to General Purpose (SSD) or Provisioned IOPS (SSD) will result in an outage. Also, changing from Provisioned IOPS (SSD) or General Purpose (SSD) to Magnetic will result in an outage. For more information about storage, see Storage for Amazon RDS.

API

Use the Amazon RDS API ModifyDBInstance action. Set the following parameters:

  • AllocatedStorage – Amount of storage to be allocated for the DB instance, in gigabytes.

  • StorageType – The new storage type for the DB instance. You can specify gp2 for general purpose (SSD), io1 for Provisioned IOPS), or standard for magnetic storage.

  • ApplyImmediately – Set to True if you want to initiate conversion immediately. If False (the default), the conversion is applied during the next maintenance window. In some cases an immediate outage occurs when the conversion is applied. Changing from Magnetic to General Purpose (SSD) or Provisioned IOPS (SSD) will result in an outage. Also, changing from Provisioned IOPS (SSD) or General Purpose (SSD) to Magnetic will result in an outage. For more information about storage, see Storage for Amazon RDS.

Modifying IOPS and Storage Settings for a DB Instance That Uses Provisioned IOPS Storage

You can modify the settings for an Oracle, PostgreSQL, MySQL, or MariaDB DB instance that uses Provisioned IOPS storage by using the AWS Management Console, the Amazon RDS API, or the Command Line Interface (CLI). You must specify the storage type, allocated storage, and the amount of Provisioned IOPS that you require. You can choose from 1000 IOPS and 100 GB of storage up to 30,000 IOPS and 3 TB (3000 GB) of storage, depending on your database engine. You cannot reduce the amount of allocated storage from the value currently allocated for the DB instance. For more information, see Using Provisioned IOPS Storage with Multi-AZ, Read Replicas, Snapshots, VPC, and DB Instance Classes.

Note

You cannot modify the IOPS rate or allocated storage settings for a SQL Server DB instance.

AWS Management Console

To modify the Provisioned IOPS settings for a DB instance

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the navigation pane, choose DB Instances.

    Note

    To filter the list of DB instances, for Search DB Instances, type a text string for Amazon RDS to use to filter the results. Only DB instances whose names contain the string appear.

  3. Choose the DB instance with Provisioned IOPS storage that you want to modify.

  4. For Instance Actions, choose Modify.

  5. On the Modify DB Instance page, type the value that you want for either Allocated Storage or Provisioned IOPS.

    Console Tags tab

    If the value you specify for either Allocated Storage or Provisioned IOPS is outside the limits supported by the other parameter, a warning message is displayed indicating the range of values required for the other parameter.

  6. To apply the changes to the DB instance immediately, select the Apply Immediately check box. If you leave the check box cleared, the changes are applied during the next maintenance window.

  7. Choose Continue.

  8. Review the parameters that will be changed, and choose Modify DB Instance to complete the modification.

    The new value for allocated storage or for provisioned IOPS appears in the Pending Values column.

    Pending Values column

CLI

To modify the Provisioned IOPS settings for a DB instance use the AWS CLI modify-db-instance command. Set the following parameters:

  • --storage-type – Set to io1 for Provisioned IOPS.

  • --allocated-storage – Amount of storage to be allocated for the DB instance, in gigabytes.

  • --iops – The new amount of Provisioned IOPS for the DB instance, expressed in I/O operations per second.

  • --apply-immediately – Use --apply-immediately to initiate conversion immediately. Use --no-apply-immediately (the default) to apply the conversion during the next maintenance window.

API

To modify the Provisioned IOPS settings for a DB instance use the Amazon RDS API ModifyDBInstance action. Set the following parameters:

  • StorageType – Set to io1 for Provisioned IOPS.

  • AllocatedStorage – Amount of storage to be allocated for the DB instance, in gigabytes.

  • Iops – The new IOPS rate for the DB instance, expressed in I/O operations per second.

  • ApplyImmediately – Set to True if you want to initiate conversion immediately. If False (the default), the conversion is applied during the next maintenance window.

Creating a DB Instance That Uses Provisioned IOPS Storage

You can create a DB instance that uses Provisioned IOPS by setting several parameters when you launch the DB instance. You can use the AWS Management Console, the Amazon RDS API, or the Command Line Interface (CLI). For more information about the settings you should use when creating a DB instance, see Creating a DB Instance Running the MySQL Database Engine, Creating a DB Instance Running the MariaDB Database Engine, Creating a DB Instance Running the Oracle Database Engine, or Creating a DB Instance Running the Microsoft SQL Server Database Engine.

AWS Management Console

To create a new DB instance that uses Provisioned IOPS storage

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. From the Amazon RDS console, choose Launch DB Instance.

  3. In the Launch RDS DB Instance wizard, on the Engine Selection page, choose the Select button next to the DB engine that you want.

  4. On the Specify DB Details page, choose Provisioned IOPS (SSD) for Storage Type.

  5. Specify values for Allocated Storage and Provisioned IOPS. You can change these values but the ratio between provisioned IOPS and allocated storage must be in a range between 3:1 and 10:1 for MySQL, MariaDB, and Oracle instances. SQL Server requires a ratio of 10:1.

    piops2

  6. When the settings are as you want them, choose Continue. Type the remaining values to create the DB instance.

CLI

To create a new DB instance that uses Provisioned IOPS storage use the AWS CLI create-db-instance command. Specify the required parameters and include values for the following parameters that apply to Provisioned IOPS storage:

  • --storage-type – Set to io1 for Provisioned IOPS.

  • --allocated-storage - Amount of storage to be allocated for the DB instance, in gigabytes.

  • --iops - The new IOPS rate for the DB instance, expressed in I/O operations per second.

API

To create a new DB instance that uses Provisioned IOPS storage use the Amazon RDS API CreateDBInstance action. Specify the required parameters and include values for the following parameters that apply to Provisioned IOPS storage:

  • StorageType – Set to io1 for Provisioned IOPS.

  • AllocatedStorage - Amount of storage to be allocated for the DB instance, in gigabytes.

  • Iops - The new IOPS rate for the DB instance, expressed in I/O operations per second.

Creating a MySQL or MariaDB Read Replica That Uses Provisioned IOPS Storage

You can create a MySQL or MariaDB Read Replica that uses Provisioned IOPS storage. You can create a Read Replica that uses Provisioned IOPS storage by using a source DB instance that uses either standard storage or Provisioned IOPS storage.

AWS Management Console

For a complete description on how to create a Read Replica, see Creating a Read Replica.

To create a Read Replica DB instance that uses Provisioned IOPS storage

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the Navigation pane, choose DB Instances.

  3. Choose the MySQL or MariaDB DB instance with Provisioned IOPS storage that you want to use as the source for the Read Replica, and choose Instance Actions, Create Read Replica.

    Important

    The DB instance that you are creating a Read Replica for must have allocated storage within the range of storage for MySQL and MariaDB PIOPS (100 GB–3 TB). If the allocated storage for that DB instance is not within that range, then the Provisioned IOPS storage type isn't available as an option when creating the Read Replica. Instead, you can set only the GP2 or Standard storage types. You can modify the allocated storage for the source DB instance to be within the range of storage for MySQL and MariaDB PIOPS before creating a Read Replica. For more information on the PIOPS range of storage, see Amazon RDS Provisioned IOPS Storage to Improve Performance. For information on modifying a MySQL DB instance, see Modifying a DB Instance Running the MySQL Database Engine. For information on modifying a MariaDB DB instance, see Modifying a DB Instance Running the MariaDB Database Engine.

  4. On the Create Read Replica DB Instance page, type a DB instance identifier for the Read Replica.

    Create Read Replica with Provisioned IOPS
  5. Choose Yes, Create Read Replica.

CLI

To create a Read Replica DB instance that uses Provisioned IOPS use the AWS CLI create-db-instance-read-replica command. Specify the required parameters and include values for the following parameters that apply to Provisioned IOPS storage:

  • --allocated-storage - Amount of storage to be allocated for the DB instance, in gigabytes.

  • --iops - The new IOPS rate for the DB instance, expressed in I/O operations per second.

API

To create a Read Replica DB instance that uses Provisioned IOPS use the Amazon RDS API CreateDBInstanceReadReplica action. Specify the required parameters and include values for the following parameters that apply to Provisioned IOPS storage:

  • AllocatedStorage - Amount of storage to be allocated for the DB instance, in gigabytes.

  • Iops - The new IOPS rate for the DB instance, expressed in I/O operations per second.