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

Do I need to provide multiple db instance if I enable MultiAZ in Aurora?

我正在阅读此文档: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,这是否意味着它在该区域的每个 AZ 创建一个数据库实例?

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

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

正确的 link 是 High availability for Amazon Aurora and Replication with Amazon Aurora

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

Can one instance do the job?

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

I understand multiple readers help on high throughput and performance.

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

But in terms of High available, do I still need to provide three instances for three AZ?

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