RDS Instances explained: Single-AZ, Multi-AZ & Multi-AZ Cluster
The difference between the single-AZ RDS instance, the multi-AZ RDS instance, and the multi-AZ cluster, and how they affect application availability.
Apr 23, 2023 • 3 Minute Read
Amazon RDS (Relational Database Service) offers a variety of ways to configure your RDS database. It allows you to configure the instance to meet your specific application reliability and availability goals. However, as the number of instances go up, so does the cost. This is why it's important to understand the different configurations, and choose the correct one for your application!
In this article, we will discuss the Single-AZ RDS instance, the Multi-AZ RDS instance and the Multi-AZ cluster, and how they affect application availability.
What is a Single-AZ RDS instance?
The Single-AZ RDS database instance is the simplest database configuration, and consists of a single database instance within a single availability zone. This configuration offers no redundancy as only one availability zone is utilized. Considering this configuration only utilizes one DB instance, this is the cheapest option. Useful for development and QA testing instances, a Single-AZ configuration is not recommended for production loads.
What is a Multi-AZ RDS instance?
The Multi-AZ RDS instance consists of a DB instance plus a single standby DB instance in a separate Availability Zone. This configuration provides high availability and failover support via Amazon failover technology.
The standby replica is automatically provisioned by Amazon RDS in a separate availability zone. Data from the primary DB instance is synchronously replicated across availability zones to the standby instance. In addition to fault tolerance, a Multi-AZ database instance can enhance your availability during plan system maintenance as updates can be applied to the standby and then a failover triggered.
A Multi-AZ deployment is a good choice for a small production application. However, it is not a solution for scaling high read load applications, as standby replicas cannot serve read traffic.
What is a Multi-AZ RDS Cluster?
The Multi-AZ RDS cluster consists of three DB instances, each in separate availability zones. This configuration provides high availability and failover support in addition to scaling to support high read loads.
The cluster consists of one writer instance, plus two read-only replica instances known as readers. All three of these instances will be placed in separate availability zones within the same AWS region. The readers are kept in sync using the native database replication protocol and can serve as an automatic failover target. As the name readers implies, they can serve read-only traffic, and multiple readers may be added to a single writer.
The Multi-AZ RDS cluster deployment has all the benefits of a Multi-AZ instance plus the addition of two or more reader nodes that can serve to scale out high read traffic applications.
Conclusion
Amazon RDS provides the flexibility to meet differing application demands and budgets. Whether it is a single AZ deployment for quality assurance testing or a full Multi-AZ RDS cluster for a high read load application needs, RDS can meet the needs. By choosing the correct configuration you can ensure your database will meet your application and user needs while not exceeding your budget.
To learn more about working with Amazon RDS, check out my course, "How to Get Started with Amazon RDS." It covers all the basics you need to get started, from exploring a simple RDS instance, converting that instance to Multi-AZ, and backing up and monitoring the instance. When you're finished, you'll have the skills and knowledge of Amazon RDS needed to deploy a fully secure Multi-AZ RDS instance.