How do I minimize downtime during required Amazon RDS maintenance?
Last updated: 2019-07-19
I received a maintenance notification that says one of my Amazon Relational Database Service (Amazon RDS) DB instances requires maintenance. What are some strategies that I can use to minimize downtime?
Occasionally, AWS performs maintenance to the hardware, operating system (OS), or database engine version for a DB instance or cluster. For more information, see Maintaining a DB Instance.
For information about pending maintenance events for your Amazon RDS instances, check the Events pane of the Amazon RDS console. Then, check for engine-specific maintenance events. You can also run describe-pending-maintenance-actions using the AWS Command Line Interface (AWS CLI) or the Amazon RDS API for DescribeDBInstances. You can also check Amazon RDS Recommendations for Pending maintenance available.
You'll receive an email notification about scheduled hardware maintenance windows that includes the time of the maintenance and the Availability Zones that will be affected. During hardware maintenance, Single-AZ deployments are unavailable for a few minutes. Multi-AZ deployments are unavailable for the time it takes the instance to failover (usually about 60 seconds) if the Availability Zone is affected by the maintenance. If only the secondary Availability Zone is affected, then there is no failover or downtime.
After OS maintenance is scheduled for the next maintenance window, maintenance can be postponed by adjusting your preferred maintenance window. Maintenance can also deferred by choosing Defer Upgrade from the Actions drop-down menu. To minimize downtime, modify the Amazon RDS instance to a Multi-AZ deployment. For Multi-AZ deployments, OS maintenance is applied to the secondary instance first, then the instance fails over, and then the primary instance is updated. The downtime is during failover. For more information, see Maintenance for Multi-AZ Deployments.
DB engine maintenance
Not all maintenance requires downtime, but occasionally AWS schedules a deployment of important updates to an instance, which results in a short period of downtime. For DB maintenance, the updates are applied to both the instances at the same time.