Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 为什么要为AWS Aurora使用多AZ部署_Amazon Web Services_Amazon Aurora - Fatal编程技术网

Amazon web services 为什么要为AWS Aurora使用多AZ部署

Amazon web services 为什么要为AWS Aurora使用多AZ部署,amazon-web-services,amazon-aurora,Amazon Web Services,Amazon Aurora,通常,在使用AWS RDS时,实现高可用性的推荐做法是在不同的AZ中部署热复制副本(多AZ部署)。此外,还可以创建一些读取副本以提高读取性能 我读过AWS Aurora文档,它使用公共虚拟存储层,在3AZ上复制,每个AZ中有两个副本 我的问题是:如果Aurora本身能够自我修复,并且其存储分布在多个AZ上,是否有必要使用Amazon多AZ部署Aurora DB集群?如果它在3个AZ中的每个AZ中保留2个存储副本,则其可靠性与使用多AZ副本设置进行故障切换一样。此外,在故障切换期间。它会自动创建

通常,在使用AWS RDS时,实现高可用性的推荐做法是在不同的AZ中部署热复制副本(多AZ部署)。此外,还可以创建一些读取副本以提高读取性能

我读过AWS Aurora文档,它使用公共虚拟存储层,在3AZ上复制,每个AZ中有两个副本

我的问题是:如果Aurora本身能够自我修复,并且其存储分布在多个AZ上,是否有必要使用Amazon多AZ部署Aurora DB集群?如果它在3个AZ中的每个AZ中保留2个存储副本,则其可靠性与使用多AZ副本设置进行故障切换一样。此外,在故障切换期间。它会自动创建另一个实例(如果不存在读取副本)或切换主副本。我真的不理解是否需要创建使用多AZ aurora群集来“提高”可用性的附加要求


在默认的Aurora部署下,是否存在可用性受到影响的场景?丢失包含主Aurora DB节点的整个AZ时会发生什么情况?

如果您只对数据不丢失感兴趣,那么非多AZ可能会正常工作,因为正如您所说,数据是为您复制的

但是运行中的Aurora实例仍然存在于一台物理机器上,而该物理机器存在于一个AZ中,因此如果AZ下降,而您可能不会丢失任何数据,那么您就不必访问它

多AZ部署有一台在多个AZ中运行的物理机器,因此,如果一个AZ发生故障,另一个AZ中的数据库服务器仍然可以为您的请求提供服务。

对于Aurora部署,RDS比对于非Aurora部署要简单得多:除了读取扩展端点之外,An是多AZ故障切换目标,因此,创建多AZ Aurora部署非常简单,只需将Aurora副本部署在与主实例不同的可用性区域中即可

此行为不同于标准的非Aurora Multi-AZ部署,后者维护一个单独的同步复制“备用实例”,该实例不能用作读取扩展端点,反之亦然(标准RDS读取副本不能用作多AZ故障切换目标)

即使跨AZs备份了Aurora数据,但让副本实例已经运行仍然可以显著减少从主实例故障中恢复所需的时间。Aurora使用可用的Aurora副本从故障切换中恢复所需的典型时间为1-2分钟,而不使用副本则为10分钟,如中所述:

如果DB集群中的主实例出现故障,Aurora会通过以下两种方式之一自动故障切换到新的主实例:

  • 通过将现有的Aurora复制副本升级到新的主实例
  • 通过创建新的主实例
如果DB集群有一个或多个Aurora副本,则在故障事件期间,Aurora副本将升级到主实例。[…]但是,服务通常在不到120秒的时间内恢复,并且通常不到60秒。[……]

如果DB集群不包含任何Aurora副本,则会在故障事件期间重新创建主实例。[…]在创建新的主实例时恢复服务,这通常需要不到10分钟的时间

将Aurora复制副本升级到主实例要比创建新的主实例快得多


读取副本不是在虚拟机上运行吗?所以,如果AZ下降的话,可以将主选项改为其中一个?这是迄今为止我读到的与此相关的最好的解释和答案之一。谢谢@wjordan顺便说一句,我们仍然可以为副本提供不同的db实例,对吗?比如说,对于我的产品,我可以将db.r4.2xlarge作为我的主设备,将db.r4.2xlarge作为副本/多AZ备用设备?