如果在 Aurora 中启用 MultiAZ,是否需要提供多个数据库实例?

问题描述

我正在阅读此文档:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html 关于 aurora 的高可用性。它支持 aurora 集群中数据库实例的多可用区配置。根据文档 Amazon RDS automatically provisions and maintains a synchronous standby replica in a different Availability Zone,这是否意味着它会为该区域中的每个可用区创建一个数据库实例?

在我当前的配置中,我有三个数据库实例 AWS::RDS::DBInstance,每个实例都在一个可用区中进行配置。我还需要创建三个实例吗?一个实例可以完成这项工作吗?我了解多个读者有助于提高吞吐量和性能。但是就High available而言,我还需要为三个AZ提供三个实例吗?

解决方法

您正在阅读 MultiAZ 的错误链接。您的链接适用于 RDS 中的 MultiAZ,而不是 Aurora。这很重要,因为在 Aurora 中没有备用副本。 Aurora 中的 MultiAZ 与 RDS 中的工作方式不同。

正确的链接是 High availability for Amazon AuroraReplication with Amazon Aurora

基本上,在 Aurora 中,您的副本是其 HA 和 MultiAZ 的来源。如果 Aurora 写入器失败,Aurora 将自动将其副本之一提升为新写入器。

一个实例可以完成这项工作吗?

不,不能。对于 Aurora,您至少需要一个 Replcia。

我了解多个阅读器有助于提高吞吐量和性能。

不仅如此。副本为 Aurora 提供故障转移功能。

但是就High available而言,我还需要为三个AZ提供三个实例吗?

不需要三个。最少两个 - 一个 AZ 中的写入器,第二个 AZ 中的副本。