🛡️ AWS RDS Aurora Cluster Multi-AZ Deployment is not enabled🟢
- Contextual name: 🛡️ Aurora Cluster Multi-AZ Deployment is not enabled🟢
- ID:
/ce/ca/aws/rds/aurora-cluster-multi-az-deployment - Tags:
- Policy Type:
COMPLIANCE_POLICY - Policy Categories:
RELIABILITY
Logic
Similar Policies
Description
Description
This policy identifies AWS RDS Aurora Clusters that are not configured for Multi-AZ deployment. In Amazon Aurora, Multi-AZ is achieved by provisioning at least one Aurora Replica in a different Availability Zone from the primary instance.
Rationale
Multi-AZ deployment is a critical best practice for production database workloads. In the event of a primary instance failure, Amazon Aurora automatically fails over to an available Aurora Replica located in a separate AZ. While Aurora replicates data across multiple AZs at the storage layer by default, deploying instances across multiple AZs ensures resilience at the compute layer as well.
Failover typically completes within approximately 30 seconds, and because Aurora uses shared, distributed storage, the failover process does not result in data loss.
Impact
Multi-AZ deployments may increase costs due to the additional compute resources required to maintain Aurora Replicas. However, for business-critical applications, the improved availability and reduced risk of downtime generally outweigh the associated costs.
... see more
Remediation
Remediation
Enable Multi-AZ for an Aurora Cluster
To enable Multi-AZ deployment for an Amazon Aurora cluster, provision at least one Aurora Replica in a different Availability Zone than the primary instance. This ensures high availability at the compute layer and allows automatic failover in the event of an instance or AZ failure.
Multi-AZ for Aurora is achieved by adding a reader instance to the existing cluster and placing it in a separate AZ.
From Command Line
Use the
create-db-instancecommand to add an Aurora Replica to the cluster. Ensure that the replica is created in a different Availability Zone than the primary instance.aws rds create-db-instance \
--db-instance-identifier {{replica-instance-id}} \
--db-cluster-identifier {{cluster-name}} \
--engine {{aurora-postgresql}} \
--db-instance-class {{db.r5.large}} \
--availability-zone {{us-east-1b}}Considerations
- The Availability Zone specified for the replica must differ from the primary instance’s AZ.
- Instance class and engine type must be compatible with the existing Aurora cluster.
... see more