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

Working with Storage Types

To specify how you want your data stored in Amazon RDS, you select a storage type and provide a storage size (in gibibytes) 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 storage type results in a short outage for the instance. However, increasing the allocated storage doesn't result in an outage. For more information about Amazon RDS storage types, see Amazon RDS Storage Types.

You can't 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 and create a new DB instance with less storage space. You then load the data into the new DB instance.

When estimating your storage needs, consider 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. We recommend that you 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 Management Console, the Amazon RDS API, or the AWS Command Line Interface (AWS CLI) to modify a DB instance to use Standard (Magnetic), 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 Using Provisioned IOPS Storage with Multi-AZ, Read Replicas, Snapshots, VPC, and DB Instance Classes.

An immediate outage occurs when you convert from one storage type to another. 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). The typical migration time is a few minutes, and the DB instance is available for use during the migration. However, when you are migrating to or from magnetic storage, the migration time usually takes longer, up to several days in some cases. During the migration to or from magnetic storage, the DB instance is available for use, but might experience performance degradation.

For DB instances in a single Availability Zone, the DB instance is 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.

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. In the navigation pane, choose Instances.

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

  4. For Instance actions, choose Modify.

  5. For Storage type, choose a value 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 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. ChooseContinue to move to the next screen.

  7. To immediately initiate conversion of the DB instance to use the new storage type, select the Apply immediately check box in the Scheduling of modifications section. If you want the changes to be applied in the next maintenance window, choose that option. An immediate outage occurs when the conversion is applied. For more information about storage, see Storage for Amazon RDS.

  8. When the settings are as you want them, choose Modify DB instance.

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 gibibytes.

  • --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. An immediate outage occurs when the conversion is applied. 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 gibibytes.

  • 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. An immediate outage occurs when the conversion is applied. 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 AWS Command Line Interface (AWS 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 GiB of storage up to 40,000 IOPS and 16 TiB (16384 GiB) 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.

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 Instances.

    Note

    To filter the list of DB instances, for Filter 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, choose Provisioned IOPS (SSD) for Storage type, and then set the amount of Provisioned IOPS you want for 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. Choose Continue.

  7. To apply the changes to the DB instance immediately, select the Apply immediately check box in the Scheduling of modifications section. Alternatively, you can choose Apply during the next scheduled maintenance window.

  8. Review the parameters to be changed, and choose Modify DB instance to complete the modification.

    The new value for allocated storage or for provisioned IOPS appears in the Status 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 gibibytes.

  • --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 gibibytes.

  • 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 AWS Command Line Interface (AWS 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 Instances.

  3. Choose Launch DB instance.

  4. In the Launch RDS DB Instance wizard, on the Engine Selection page, choose the DB engine that you want.

  5. Choose Next.

  6. On the Choose use case page, choose either the Production or Dev/Test environment.

  7. Choose Next.

  8. On the Specify DB details page, choose Provisioned IOPS (SSD) for Storage type.

  9. Specify values for Allocated Storage and Provisioned IOPS. For information about the allowed ranges and ratios, see Provisioned IOPS Storage.

    
								piops2
  10. Choose Next.

  11. Add the details on the Configure advanced settings page.

  12. When the settings are as you want them, choose Launch 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 gibibytes.

  • --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 gibibytes.

  • 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 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 GiB–16 TiB). 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 Provisioned IOPS Storage. 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.

  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 gibibytes.

  • --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 gibibytes.

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