AWS RDS modification downtime notes

To Nha Notes | April 7, 2022, 10:23 a.m.

The top most frequently changes includes:

  • DB instance class => Downtime occurs during this change.
  • DB engine version => Downtime occurs during this change.
  • Storage type => The following changes all result in a brief downtime while the process starts. After that, you can use your database normally while the change takes place.
  • Allocated storage => Downtime doesn't occur during this change. Performance might be degraded during the change.
  • Provisioned IOPS => Downtime doesn't occur during this change.
  • DB parameter group => Downtime doesn't occur during this change. When you associate a new DB parameter group with a DB instance, the modified static and dynamic parameters are applied only after the DB instance is rebooted. However, if you modify dynamic parameters in the newly associated DB parameter group, these changes are applied immediately without a reboot. For more information, see Working with parameter groups and Rebooting a DB instance.

Example of modifying IOPS:

  • Applying modification to allocated storage at 2022-04-13 16:49:52.405
  • Finished applying modification to allocated storage at 2022-04-13 16:52:37.233

Example of downgrading/upgrading RDS instance class (downtime 20-25 mins):

  • Applying modification to database instance class at 2021-06-16 18:02:09.976
  • DB instance shutdown at 2021-06-16 18:09:04.080
  • Multi-AZ instance failover started at 2021-06-16 18:09:41.906
  • DB instance restarted at 2021-06-16 18:10:01.527
  • The RDS instance was modified by customer at 2021-06-16 18:10:21.849
  • Multi-AZ instance failover completed at 2021-06-16 18:10:21.849
  • Finished applying modification to DB instance class at 2021-06-16 18:22:08.132
  • Performance Insights has been enabled at 2021-06-16 18:23:14.365
  • Monitoring Interval changed to 1 at 2021-06-16 18:23:14.365
  • Finished updating DB parameter group at 2021-06-16 18:24:18.154

Example of modifying MySQL engine (downtime 30 mins):

April 21, 2022, 8:18:56 AM UTC

Restored from snapshot

April 21, 2022, 8:19:20 AM UTC

DB instance shutdown

April 21, 2022, 8:19:48 AM UTC

DB instance restarted

April 21, 2022, 8:20:39 AM UTC

Backing up DB instance

April 21, 2022, 8:24:24 AM UTC

Finished DB Instance backup

April 21, 2022, 8:30:51 AM UTC

Backing up DB instance

April 21, 2022, 8:34:55 AM UTC

Finished DB Instance backup

April 21, 2022, 8:41:16 AM UTC

DB instance shutdown

April 21, 2022, 8:54:49 AM UTC

DB instance restarted

April 21, 2022, 8:58:09 AM UTC

Database instance patched

April 21, 2022, 8:58:26 AM UTC

Backing up DB instance

Modification types:

Console setting and description CLI option and RDS API parameter When the change occurs Downtime notes
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.
Downtime doesn't occur during this change. Performance might be degraded during the change.
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. Downtime doesn't occur during this change.
Backup replicationChoose Enable replication to another AWS Region to create backups in an additional Region for disaster recovery.
Then choose the Destination Region for the additional backups.
Not available when modifying a DB instance. For information on enabling cross-Region backups using the AWS CLI or RDS API, see Enabling cross-Region automated backups. The change is applied asynchronously, as soon as possible. Downtime doesn't occur during this change.
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.
Note
If you use AWS Backup to manage your backups, this option doesn't appear. For information about AWS Backup, see the AWS Backup Developer Guide.
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.
Downtime occurs if you change from 0 to a nonzero value, or from a nonzero value to 0.
This applies to both Single-AZ and Multi-AZ DB instances.
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.
Note
If you use AWS Backup to manage your backups, this option doesn't appear. For information about AWS Backup, see the AWS Backup Developer Guide.
CLI option:
--preferred-backup-window
RDS API parameter:
PreferredBackupWindow
The change is applied asynchronously, as soon as possible. Downtime doesn't occur during this change.
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.
Downtime occurs during this change.
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. Downtime doesn't occur during this change.
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.
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.
Downtime occurs during this change.
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.
Downtime occurs during this change.
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.
Downtime occurs during this change.
DB parameter group
The DB parameter group that you want associated with the DB instance.
For more information, see
Working with parameter groups.
CLI option:
--db-parameter-group-name
RDS API parameter:
DBParameterGroupName
The parameter group change occurs immediately. Downtime doesn't occur during this change.
When you associate a new DB parameter group with a DB instance, the modified static and dynamic parameters are applied only after the DB instance is rebooted. However, if you modify dynamic parameters in the newly associated DB parameter group, these changes are applied immediately without a reboot.
For more information, see Working with parameter groups and Rebooting a DB instance.
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. Downtime doesn't occur during this change.
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
Monitoring OS metrics with 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. Downtime doesn't occur during this change.
IAM DB authentication
Enable IAM DB authentication to authenticate database users through IAM users and roles.
For more information, see
IAM database authentication for MariaDB, 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.
Downtime doesn't occur during this change.
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 downtime occurs during this change.
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 options.
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.
Downtime occurs during this change.
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. Downtime doesn't occur during this change.
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 downtime, and the maintenance window is changed to include the current time, those pending actions are applied immediately and downtime occurs.
Multi-AZ deployment
Yes to deploy your DB instance in multiple Availability Zones. Otherwise, No.
For more information, see
Multi-AZ deployments for high availability.
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.
Downtime doesn't occur during this change.
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. Downtime doesn't occur during this change.
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.
Downtime doesn't occur during this change.
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 Monitoring DB load with Performance Insights on Amazon RDS and Amazon RDS DB engine support for 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. Downtime doesn't occur during this change.
Performance Insights AWS KMS key
The AWS KMS key identifier for the AWS KMS key for encryption of Performance Insights data. The key identifier is the Amazon Resource Name (ARN), AWS KMS key identifier, or the key alias for the KMS key.
For more information, see
Turning Performance Insights on and off.
CLI option:
--performance-insights-kms-key-id
RDS API parameter:
PerformanceInsightsKMSKeyId
The change occurs immediately. This setting ignores the apply immediately setting. Downtime doesn't occur during this change.
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
Turning Performance Insights on and off.
CLI option:
--performance-insights-retention-period
RDS API parameter:
PerformanceInsightsRetentionPeriod
The change occurs immediately. This setting ignores the apply immediately setting. Downtime doesn't occur during this change.
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.
Downtime occurs during this change.
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.
Downtime doesn't occur during this change.
Public access
Publicly accessible 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.
Not publicly accessible 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.
If your DB instance is isn't publicly accessible, you can also use an AWS Site-to-Site VPN connection or an AWS Direct Connect connection to access it from a private network. For more information, see Internetwork traffic privacy.
CLI option:
--publicly-accessible|--no-publicly-accessible
RDS API parameter:
PubliclyAccessible
The change occurs immediately. This setting ignores the apply immediately setting. Downtime doesn't occur during this change.
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. Downtime doesn't occur during this change.
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. Downtime doesn't occur during this change.
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 downtime 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 downtime only happens if the DB instance is Single-AZ and you are using a custom parameter group. There is no downtime 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 downtime only happens if the DB instance is Single-AZ and you are using a custom parameter group. There is no downtime for a Multi-AZ DB instance.
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.
Downtime occurs during this change.
References

 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html