Skip to main content

AWS RDS Multi Az Remediation - Remediation Guide

Triage and Remediation

Remediation

Using Console

To remediate the misconfiguration of not using Multi-AZ Deployment for an AWS RDS instance, follow these steps using the AWS Management Console:

  1. Login to AWS Console: Go to the AWS Management Console (https://aws.amazon.com/) and log in to your account.

  2. Navigate to RDS Service: Click on the "Services" dropdown menu at the top left corner and select "RDS" under the Database category.

  3. Select the RDS Instance: From the list of RDS instances, select the instance for which you want to enable Multi-AZ Deployment by clicking on its identifier.

  4. Enable Multi-AZ Deployment: In the RDS instance details page, click on the "Instance actions" dropdown menu and select "Modify".

  5. Modify the Deployment Options: Scroll down to the "Deployment options" section and check the box next to "Enable Multi-AZ deployment".

  6. Review and Apply Changes: Review the other configuration settings to ensure they are correct. Click on the "Continue" button.

  7. Apply Changes: On the next page, review the summary of changes and click on the "Modify DB Instance" button to apply the changes.

  8. Monitor the Modification: The modification process will start, and you can monitor the progress on the RDS console. Once the modification is complete, the Multi-AZ Deployment will be enabled for your RDS instance.

By following these steps, you have successfully remediated the misconfiguration of not using Multi-AZ Deployment for your AWS RDS instance.

Using CLI

To remediate the misconfiguration of not using Multi-AZ deployment for an AWS RDS instance using AWS CLI, follow these steps:

  1. Open the AWS CLI on your local machine.

  2. Run the following command to modify your RDS instance to enable Multi-AZ deployment:

    aws rds modify-db-instance \
    --db-instance-identifier YOUR_DB_INSTANCE_IDENTIFIER \
    --multi-az \
    --apply-immediately

    Replace YOUR_DB_INSTANCE_IDENTIFIER with the actual identifier of your RDS instance.

  3. Wait for the modification to complete. You can check the status of the modification by running the following command:

    aws rds describe-db-instances --db-instance-identifier YOUR_DB_INSTANCE_IDENTIFIER --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceStatus]'
  4. Once the modification is complete and the status shows as "available", the Multi-AZ deployment for your RDS instance has been successfully enabled.

By following these steps, you can remediate the misconfiguration of not using Multi-AZ deployment for an AWS RDS instance using AWS CLI.

Using Python

To remediate the misconfiguration of not using Multi-AZ deployment for an AWS RDS instance using Python, you can follow these steps:

  1. Import the necessary libraries:
import boto3
  1. Define the AWS region and the RDS instance identifier:
region = 'your_aws_region'
instance_identifier = 'your_rds_instance_identifier'
  1. Create an RDS client using Boto3:
rds_client = boto3.client('rds', region_name=region)
  1. Modify the RDS instance to enable Multi-AZ deployment:
response = rds_client.modify_db_instance(
DBInstanceIdentifier=instance_identifier,
MultiAZ=True
)
  1. Check the response to ensure the modification was successful:
if response['DBInstance']['MultiAZ']:
print(f"Multi-AZ deployment enabled for RDS instance {instance_identifier}")
else:
print(f"Failed to enable Multi-AZ deployment for RDS instance {instance_identifier}")
  1. Run the Python script to enable Multi-AZ deployment for the specified RDS instance.

By following these steps, you can remediate the misconfiguration of not using Multi-AZ deployment for an AWS RDS instance using Python.

Using Terraform
resource "aws_rds_cluster" "THIS_CLUSTER" {
# EXISTING REQUIRED ARGS (examples)
cluster_identifier = "YOUR_CLUSTER_IDENTIFIER"
engine = "YOUR_ENGINE"
master_username = "YOUR_MASTER_USERNAME"
master_password = "YOUR_MASTER_PASSWORD"

# Enable Multi-AZ deployment (matches: aws rds modify-db-cluster --multi-az)
multi_az = true

# Optional: uncomment to apply outside the maintenance window (causes immediate outage)
# apply_immediately = true
}

Enabling multi_az may cause a brief outage when the change is applied; with apply_immediately = false (the default), this occurs in the next maintenance window, and with apply_immediately = true it happens immediately.

Verification: terraform plan should show an in-place update on aws_rds_cluster.THIS_CLUSTER with multi_az changing from false (or unset) to true.