- [[AWS Relational Database Service - RDS|RDS]] Multi-AZ deployments provide high availability and automatic failover support for DB instances - Multi-AZ helps improve the durability and availability of a critical system, enhancing availability during planned system maintenance, DB instance failure, and Availability Zone disruption. - A [[AWS RDS Multi-AZ DB Instance|Multi-AZ DB instance deployment]] - has one standby DB instance that provides failover support but doesn’t serve read traffic. - There is only one row for the DB instance. - The value of **Role** is **Instance** or **Primary**. - The value of **Multi-AZ** is **Yes**. - A [[AWS RDS Multi-AZ DB Cluster|Multi-AZ DB cluster deployment]] - has two standby DB instances that provide failover support and can also serve read traffic. - There is a cluster-level row with three DB instance rows under it. - For the cluster-level row, the value of **Role** is **Multi-AZ DB cluster**. - For each instance-level row, the value of **Role** is **Writer instance** or **Reader instance**. - For each instance-level row, the value of **Multi-AZ** is **3 Zones**. ## [[AWS RDS Multi-AZ DB Instance|RDS Multi-AZ DB Instance Deployment]] - RDS automatically creates a primary DB Instance and synchronously replicates the data to a standby instance in a different AZ. - RDS performs an automatic failover to the standby, so that database operations can be resumed as soon as the failover is complete. - RDS Multi-AZ deployment maintains the same endpoint for the DB Instance after a failover, so the application can resume database operation without the need for manual administrative intervention. - Multi-AZ is a high-availability feature and NOT a scaling solution for read-only scenarios; a standby replica can’t be used to serve read traffic. To service read-only traffic, use a Read Replica. - RDS performs an automatic failover to the standby, so that database operations can be resumed as soon as the failover is complete. - Multi-AZ deployments for Oracle, PostgreSQL, MySQL, and MariaDB DB instances use Amazon technology, while SQL Server DB instances use SQL Server Mirroring. ![[RDS_Multi-AZ_Instance_Deployment.png|650]] ## [[AWS RDS Multi-AZ DB Cluster|RDS Multi-AZ DB Cluster Deployment]] - [[AWS Relational Database Service - RDS|RDS]] Multi-AZ DB cluster deployment is a high-availability deployment mode of RDS with two readable standby DB instances. - RDS Multi-AZ DB cluster has a writer DB instance and two reader DB instances in three separate AZs in the same AWS Region. - With a Multi-AZ DB cluster, RDS semi-synchronously replicates data from the writer DB instance to both of the reader DB instances using the DB engine’s native replication capabilities. - Multi-AZ DB clusters provide high availability, increased capacity for read workloads, and lower write latency when compared to Multi-AZ DB instance deployments. - If an event of an outage, RDS manages failover from the writer DB instance to one of the reader DB instances. RDS does this based on which reader DB instance has the most recent change record. ![[Multi-AZ-DB-Cluster.png|650]] ## Multi-AZ DB Instance vs Multi-AZ DB Cluster ![[RDS-Multi-AZ-Comparison.jpg|650]] ## [[AWS RDS Replication - Multi-AZ vs Read Replica|RDS Multi-AZ vs Read Replicas]] ![[RDS-Mulit-AZ-vs-Multi-Region-vs-Read-Replicas.png|650]] ## Sources [AWS RDS Multi-AZ Deployment](https://jayendrapatil.com/rds-multi-az-deployment/)