Description:
When Multi-AZ is enabled, AWS automatically provision and maintains a synchronous database standby replica on dedicated hardware in a different datacenter (known as Availability Zone). AWS RDS will automatically switch from the primary cluster to the available standby replica in the event of a failure such as an Availability Zone outage, internal hardware or network outage, a software failure, or in case of planned interruptions such as software patching or changing the RDS cluster type.
Rationale:
Using the RDS console, you can create a Multi-AZ deployment by simply specifying Multi-AZ when creating a DB instance. You can use the console to convert existing DB instances to Multi-AZ deployments by modifying the DB instance and specifying the Multi-AZ option. You can also specify a Multi-AZ deployment with the AWS CLI or Amazon RDS API.
Impact:
In the event of a planned or unplanned outage of your DB instance, Amazon RDS automatically switches to a standby replica in another Availability Zone if you have enabled Multi-AZ. The time it takes for the failover to complete depends on the database activity and other conditions at the time the primary DB instance became unavailable. Failover times are typically 60–120 seconds. When the failover is complete, it can take additional time for the RDS console to reflect the new Availability Zone.
Default Value:
By default, the Multi availability zone was not available or not enabled, which means it was set No.
Pre-requisites:
Sign in as admin or IAM user with required permissions
Remediation:
Test plan:
1: Log in to the AWS Management Console.
2: Go to the RDS dashboard at https://console.aws.amazon.com/rds/.
3: In the navigation panel, under Amazon RDS, click Databases
4: Select the RDS databases that you want to examine.
5: Go to the configuration tab
6: Under the Availability section, see for the Multi-AZ status
If the current status is set to No, the feature is not enabled, which means that the selected RDS cluster is not deployed in multiple Availability Zones.
Implementation Steps:
Via AWS Console:
Step 1: Log in to the AWS Management Console.
Step 2: Go to RDS dashboard at https://console.aws.amazon.com/rds/
Step 3: Click on the Databases in the left navigation pane
Step 5: Select the Database you want to edit and click on modify
Step 6: On the Modify DB instances page, under Availability & durability, choose Create a standby instance (recommended for production usage)
Step 9: Click on Continue
Step 10: In the Scheduling of modifications section, perform one of the following actions based on your requirements:
Select Apply during the next scheduled maintenance window to apply the changes automatically during the next scheduled maintenance window.
Select Apply immediately to apply the changes right away.
Step 11: Click on Modify DB Instance
Via CLI:
aws rds modify-db-intanse
--region us-east-1
--db-instanse-identifier <DbName>
--multi-az
--apply-immediately
Backout Plan:
If you want to revoke the changes follow the Implementation steps and choose Do not create a standby Instance and click on modify DB Instance.
Reference:-
High availability (Multi-AZ) for Amazon RDS - Amazon Relational Database Service
describe-db-clusters — AWS CLI 1.20.36 Command Reference