Modifying an Amazon RDS DB Instance - Amazon Relational Database Service
AWS services or capabilities described in AWS documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with AWS services in China.

Modifying an Amazon RDS DB Instance

You can change the settings of a DB instance to accomplish tasks such as adding additional storage or changing the DB instance class. In this topic, you can find out how to modify an Amazon RDS DB instance and learn about the settings for DB instances.

We recommend that you test any changes on a test instance before modifying a production instance, so that you fully understand the impact of each change. Testing is especially important when upgrading database versions.

Most modifications to a DB instance you can either apply immediately or defer until the next maintenance window. Some modifications, such as parameter group changes, require that you manually reboot your DB instance for the change to take effect.

Important

Some modifications result in an outage because Amazon RDS must reboot your DB instance for the change to take effect. Review the impact to your database and applications before modifying your DB instance settings.

To modify a DB instance

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.amazonaws.cn/rds/.

  2. In the navigation pane, choose Databases, and then choose the DB instance that you want to modify.

  3. Choose Modify. The Modify DB Instance page appears.

  4. Change any of the settings that you want. For information about each setting, see Settings for DB Instances.

  5. When all the changes are as you want them, choose Continue and check the summary of modifications.

  6. (Optional) Choose Apply immediately to apply the changes immediately. Choosing this option can cause an outage in some cases. For more information, see Using the Apply Immediately Setting.

  7. On the confirmation page, review your changes. If they are correct, choose Modify DB Instance to save your changes.

    Or choose Back to edit your changes or Cancel to cancel your changes.

To modify a DB instance by using the AWS CLI, call the modify-db-instance command. Specify the DB instance identifier and the values for the options that you want to modify. For information about each option, see Settings for DB Instances.

Example

The following code modifies mydbinstance by setting the backup retention period to 1 week (7 days). The code enables deletion protection by using --deletion-protection. To disable deletion protection, use --no-deletion-protection. The changes are applied during the next maintenance window by using --no-apply-immediately. Use --apply-immediately to apply the changes immediately. For more information, see Using the Apply Immediately Setting.

For Linux, macOS, or Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --backup-retention-period 7 \ --deletion-protection \ --no-apply-immediately

For Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --backup-retention-period 7 ^ --deletion-protection ^ --no-apply-immediately

To modify a DB instance by using the Amazon RDS API, call the ModifyDBInstance operation. Specify the DB instance identifier, and the parameters for the settings that you want to modify. For information about each parameter, see Settings for DB Instances.

Using the Apply Immediately Setting

When you modify a DB instance, you can apply the changes immediately. To apply changes immediately, you choose the Apply Immediately option in the AWS Management Console. Or you use the --apply-immediately parameter when calling the AWS CLI or set the ApplyImmediately parameter to true when using the Amazon RDS API.

If you don't choose to apply changes immediately, the changes are put into the pending modifications queue. During the next maintenance window, any pending changes in the queue are applied. If you choose to apply changes immediately, your new changes and any changes in the pending modifications queue are applied.

Important

If any of the pending modifications require downtime, choosing the apply immediately option can cause unexpected downtime.

When you choose to apply a change immediately, any pending modifications are also applied immediately, instead of during the next maintenance window.

If you don't want a pending change to be applied in the next maintenance window, you can modify the DB instance to revert the change. You can do this by using the AWS CLI and specifying the --apply-immediately option.

Changes to some database settings are applied immediately, even if you choose to defer your changes. To see how the different database settings interact with the apply immediately setting, see Settings for DB Instances.

Settings for DB Instances

In the following table, you can find details about which settings you can and can't modify, when changes can be applied, and whether the changes cause downtime for your DB instance.

You can modify a DB instance using the console, the modify-db-instance CLI command, or the ModifyDBInstance RDS API operation.

Console Setting and Description CLI Option and RDS API Parameter When the Change Occurs Downtime Notes Supported DB Engines

Allocated storage

The storage, in gibibytes, that you want to allocate for your DB instance. You can only increase the allocated storage. You can't reduce the allocated storage.

You can't modify the storage of some older DB instances, or DB instances restored from older DB snapshots. The Allocated storage setting is disabled in the console if your DB instance isn't eligible. You can check whether you can allocate more storage by using the CLI command describe-valid-db-instance-modifications. This command returns the valid storage options for your DB instance.

You can't modify allocated storage if the DB instance status is storage-optimization or if the allocated storage for the DB instance has been modified in the last six hours.

The maximum storage allowed depends on your DB engine and the storage type. For more information, see Amazon RDS DB Instance Storage.

CLI option:

--allocated-storage

RDS API parameter:

AllocatedStorage

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage doesn't occur during this change. Performance might be degraded during the change.

All DB engines

Auto minor version upgrade

Yes to enable your DB instance to receive preferred minor DB engine version upgrades automatically when they become available. Amazon RDS performs automatic minor version upgrades in the maintenance window. Otherwise, No.

For more information, see Automatically Upgrading the Minor Engine Version.

CLI option:

--auto-minor-version-upgrade|--no-auto-minor-version-upgrade

RDS API parameter:

AutoMinorVersionUpgrade

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

Only MariaDB, MySQL, Oracle, and PostgreSQL

Backup retention period

The number of days that automatic backups are retained. To disable automatic backups, set the backup retention period to 0.

For more information, see Working With Backups.

CLI option:

--backup-retention-period

RDS API parameter:

BackupRetentionPeriod

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, and you change the setting from a nonzero value to another nonzero value, the change is applied asynchronously, as soon as possible. Otherwise, the change occurs during the next maintenance window.

An outage occurs if you change from 0 to a nonzero value, or from a nonzero value to 0.

All DB engines

Backup window

The time range during which automated backups of your databases occur. The backup window is a start time in Universal Coordinated Time (UTC), and a duration in hours.

For more information, see Working With Backups.

CLI option:

--preferred-backup-window

RDS API parameter:

PreferredBackupWindow

The change is applied asynchronously, as soon as possible.

An outage doesn't occur during this change.

All DB engines

Certificate authority

The certificate that you want to use for SSL/TLS connections.

For more information, see Using SSL/TLS to Encrypt a Connection to a DB Instance.

CLI option:

--ca-certificate-identifier

RDS API parameter:

CACertificateIdentifier

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage occurs during this change.

All DB engines

Copy tags to snapshots

If you have any DB instance tags, enable this option to copy them when you create a DB snapshot.

For more information, see Tagging Amazon RDS Resources.

CLI option:

--copy-tags-to-snapshot or --no-copy-tags-to-snapshot

RDS API parameter:

CopyTagsToSnapshot

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Database port

The port that you want to use to access the DB instance.

The port value must not match any of the port values specified for options in the option group that is associated with the DB instance.

For more information, see Connecting to an Amazon RDS DB Instance.

CLI option:

--db-port-number

RDS API parameter:

DBPortNumber

The change occurs immediately. This setting ignores the apply immediately setting.

The DB instance is rebooted immediately.

All DB engines

DB engine version

The version of the DB engine that you want to use. Before you upgrade your production DB instance, we recommend that you test the upgrade process on a test DB instance to verify its duration and to validate your applications.

For more information, see Upgrading a DB Instance Engine Version.

CLI option:

--engine-version

RDS API parameter:

EngineVersion

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage occurs during this change.

All DB engines

DB instance class

The DB instance class that you want to use.

For more information, see DB Instance Classes.

CLI option:

--db-instance-class

RDS API parameter:

DBInstanceClass

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage occurs during this change.

All DB engines

DB instance identifier

The new DB instance identifier. This value is stored as a lowercase string.

For more information about the effects of renaming a DB instance, see Renaming a DB Instance.

CLI option:

--new-db-instance-identifier

RDS API parameter:

NewDBInstanceIdentifier

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage occurs during this change.

All DB engines

DB parameter group

The DB parameter group that you want associated with the DB instance.

For more information, see Working with DB Parameter Groups.

CLI option:

--db-parameter-group-name

RDS API parameter:

DBParameterGroupName

The parameter group change occurs immediately.

An outage doesn't occur during this change. However, you must manually reboot the DB instance before the new DB parameter group is used by the DB instance.

For more information, see Working with DB Parameter Groups and Rebooting a DB Instance.

All DB engines

Deletion protection

Enable deletion protection to prevent your DB instance from being deleted.

For more information, see Deleting a DB Instance.

CLI option:

--deletion-protection|--no-deletion-protection

RDS API parameter:

DeletionProtection

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Enhanced Monitoring

Enable Enhanced Monitoring to enable gathering metrics in real time for the operating system that your DB instance runs on.

For more information, see Enhanced Monitoring.

CLI option:

--monitoring-interval and --monitoring-role-arn

RDS API parameter:

MonitoringInterval and MonitoringRoleArn

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

IAM DB authentication

Enable IAM DB authentication to authenticate database users through IAM users and roles.

For more information, see IAM Database Authentication for MySQL and PostgreSQL.

CLI option:

--enable-iam-database-authentication|--no-enable-iam-database-authentication

RDS API parameter:

EnableIAMDatabaseAuthentication

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

A brief outage occurs during this change.

Only MySQL and PostgreSQL

Kerberos authentication

Choose the Active Directory to move the DB instance to. The directory must exist prior to this operation. If a directory is already selected, you can specify None to remove the DB instance from its current directory.

For more information, see Kerberos Authentication.

CLI option:

--domain and --domain-iam-role-name

RDS API parameter:

Domain and DomainIAMRoleName

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

A brief outage occurs during this change.

Only Microsoft SQL Server, MySQL, Oracle, and PostgreSQL

License model

Choose bring-your-own-license to use your license for Oracle.

Choose license-included to use the general license agreement for Microsoft SQL Server or Oracle.

For more information, see Licensing Microsoft SQL Server on Amazon RDS and Oracle Licensing.

CLI option:

--license-model

RDS API parameter:

LicenseModel

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage occurs during this change.

Only Microsoft SQL Server and Oracle

Log exports

The types of database log files to publish to Amazon CloudWatch Logs.

For more information, see Publishing Database Logs to Amazon CloudWatch Logs.

CLI option:

--cloudwatch-logs-export-configuration

RDS API parameter:

CloudwatchLogsExportConfiguration

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Maintenance window

The time range during which system maintenance occurs. System maintenance includes upgrades, if applicable. The maintenance window is a start time in Universal Coordinated Time (UTC), and a duration in hours.

If you set the window to the current time, there must be at least 30 minutes between the current time and the end of the window to ensure that any pending changes are applied.

For more information, see The Amazon RDS Maintenance Window.

CLI option:

--preferred-maintenance-window

RDS API parameter:

PreferredMaintenanceWindow

The change occurs immediately. This setting ignores the apply immediately setting.

If there are one or more pending actions that cause an outage, and the maintenance window is changed to include the current time, those pending actions are applied immediately and an outage occurs.

All DB engines

Multi-AZ deployment

Yes to deploy your DB instance in multiple Availability Zones. Otherwise, No.

For more information, see High Availability (Multi-AZ) for Amazon RDS.

CLI option:

--multi-az|--no-multi-az

RDS API parameter:

MultiAZ

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage doesn't occur during this change.

All DB engines

New master password

The password for your master user. The password must contain 8–41 alphanumeric characters.

CLI option:

--master-user-password

RDS API parameter:

MasterUserPassword

The change is applied asynchronously, as soon as possible. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Option group

The option group that you want associated with the DB instance.

For more information, see Working with Option Groups.

CLI option:

--option-group-name

RDS API parameter:

OptionGroupName

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage doesn't occur during this change.

All DB engines

Performance Insights

Enable Performance Insights to monitor your DB instance load so that you can analyze and troubleshoot your database performance.

Performance Insights isn't available for some DB engine versions and DB instance classes. The Performance Insights section doesn't appear in the console if it isn't available for your DB instance.

For more information, see Using Amazon RDS Performance Insights.

CLI option:

--enable-performance-insights|--no-enable-performance-insights

RDS API parameter:

EnablePerformanceInsights

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Performance Insights Master key

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

For more information, see Enabling Performance Insights.

CLI option:

--performance-insights-kms-key-id

RDS API parameter:

PerformanceInsightsKMSKeyId

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Performance Insights Retention period

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

For more information, see Enabling Performance Insights.

CLI option:

--performance-insights-retention-period

RDS API parameter:

PerformanceInsightsRetentionPeriod

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Processor features

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

For more information, see Configuring the Processor for a DB Instance Class.

CLI option:

--processor-features and --use-default-processor-features | --no-use-default-processor-features

RDS API parameter:

ProcessorFeatures and UseDefaultProcessorFeatures

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage occurs during this change.

Only Oracle

Provisioned IOPS

The new Provisioned IOPS (I/O operations per second) value for the DB instance. The setting is available only if Provisioned IOPS (SSD) is chosen for Storage type.

For more information, see Provisioned IOPS SSD Storage.

CLI option:

--iops

RDS API parameter:

Iops

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage doesn't occur during this change.

All DB engines

Public accessibility

Yes to give the DB instance a public IP address, meaning that it's accessible outside the VPC. To be publicly accessible, the DB instance also has to be in a public subnet in the VPC.

No to make the DB instance accessible only from inside the VPC.

For more information, see Hiding a DB Instance in a VPC from the Internet.

To connect to a DB instance from outside of its Amazon VPC, the DB instance must be publicly accessible, access must be granted using the inbound rules of the DB instance's security group, and other requirements must be met. For more information, see Can't Connect to Amazon RDS DB Instance.

CLI option:

--publicly-accessible|--no-publicly-accessible

RDS API parameter:

PubliclyAccessible

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Security group

The VPC security group that you want associated with the DB instance.

For more information, see Controlling Access with Security Groups.

CLI option:

--vpc-security-group-ids

RDS API parameter:

VpcSecurityGroupIds

The change is applied asynchronously, as soon as possible. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Storage autoscaling

Enable storage autoscaling to enable Amazon RDS to automatically increase storage when needed to avoid having your DB instance run out of storage space.

Use Maximum storage threshold to set the upper limit for Amazon RDS to automatically increase storage for your DB instance. The default is 1,000 GiB.

For more information, see Managing Capacity Automatically with Amazon RDS Storage Autoscaling.

CLI option:

--max-allocated-storage

RDS API parameter:

MaxAllocatedStorage

The change occurs immediately. This setting ignores the apply immediately setting.

An outage doesn't occur during this change.

All DB engines

Storage type

The storage type that you want to use.

After Amazon RDS begins to modify your DB instance to change the storage size or type, you can't submit another request to change the storage size or type for six hours.

For more information, see Amazon RDS Storage Types.

CLI option:

--storage-type

RDS API parameter:

StorageType

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

The following changes all result in a brief outage while the process starts. After that, you can use your database normally while the change takes place.

  • From General Purpose (SSD) to Magnetic.

  • From General Purpose (SSD) to Provisioned IOPS (SSD). The outage only happens if the DB instance is Single-AZ and you are using a custom parameter group. There is no outage for a Multi-AZ DB instance.

  • From Magnetic to General Purpose (SSD).

  • From Magnetic to Provisioned IOPS (SSD).

  • From Provisioned IOPS (SSD) to Magnetic.

  • From Provisioned IOPS (SSD) to General Purpose (SSD). The outage only happens if the DB instance is Single-AZ and you are using a custom parameter group. There is no outage for a Multi-AZ DB instance.

All DB engines

Subnet group

The subnet group for the DB instance. You can use this setting to move your DB instance to a different VPC. If your DB instance isn't in a VPC, you can use this setting to move your DB instance into a VPC.

For more information, see Amazon Virtual Private Cloud VPCs and Amazon RDS.

CLI option:

--db-subnet-group-name

RDS API parameter:

DBSubnetGroupName

If you choose to apply the change immediately, it occurs immediately.

If you don't choose to apply the change immediately, it occurs during the next maintenance window.

An outage occurs during this change.

All DB engines