在本文中,我将向您展示如何通过Amazon RDS管理控制台创建高可用的Aurora群集,添加2个具有不同优先级的Aurora副本,并且在不同的可用性区域中,测试失败情况,场景,失败情况,然后终止整个基础结构。
-
默认情况下,Amazon Aurora群集只有一个主要的计算实例执行读/写操作。
-
通过在群集中添加一个或多个Aurora副本,读取可伸缩性和高可用性。
-
如果集群中的主要实例失败,Aurora会自动提升具有最高优先级的现有副本为新的主要实例。
-
通常,您希望在不同的可用性区(AZ)中创建Aurora副本,而不是主要实例。
-
以这种方式,您的数据库可以在基础架构的另一个AZ中迅速失败到另一个AZ中的副本,检测到主要AZ中的问题。
-
但是,如果您没有在集群中添加Aurora副本,则必须等待Aurora在检测到故障时为您创建一个新的替换主实例,这可能需要更长的时间。
-
Amazon Aurora使用MySQL兼容性,但是您可以遵循PostgreSQL版本的类似过程。
请访问我的 GitHub Repository for Aurora articles 有关各种主题的不断更新。
让我们开始!
目标:
1。创建一个亚马逊极光群
2。创建高可用性的极光副本
3。设置故障转移的数据库群集
4。测试数据库故障转移
5。终止资源
先决条件:
- AWS用户帐户带有管理员访问,而不是根帐户。
- aws cli。
使用的资源:
Creating a RDS MySQL DB instance
该项目实施的步骤:
1.创建一个Amazon Aurora群集
-
在“选择引擎”页面上,选择“标准创建”。
-
创建具有以下参数的Amazon RDS数据库 -
Standard create Amazon Aurora engine, Dev/Test, database-1, <username> admin, <password>, db.r5.large, default vpc, DB subnet group - default, public access - no, Under Multi-AZ deployment - select No, VPC security group - create new - aurora-sg, us-east-1a, under additional configuration - myrds
-
创建数据库。
-
等待3-4分钟,直到状态更改为
available
-
注意:
availability zone - us-east-1a
2.创建2个Aurora副本以进行高可用性
-
您可以通过在AWS区域内的不同可用性区域(AZS)中添加读取副本来增加计算可用性。
-
最多可以在区域内的AZS上添加15个Aurora副本。
创建第一读者
-
选择集群的“单选”按钮,并通过选择操作>添加阅读器来创建Aurora副本。
reader-1, us-east-1c, Under Additional configuration - Failover priority - 0
-
单击添加读取器。
创建第二读者
-
选择集群的“单选”按钮,并通过选择操作>添加阅读器来创建Aurora副本。
reader-2, us-east-1d, Under Additional configuration - Failover priority - 1
-
单击添加读取器。
3.设置故障转移的数据库群集
仅使用此步骤,如果您在创建步骤2中显示的读取副本时不使用优先顺序。
-
选择阅读器db实例旁边的单选按钮 -
reader-1
并选择修改。 -
设置最高优先级。在故障转移下,选择tier-0。
- 在故障转移期间,Amazon RDS将促进具有最高优先级(从第0层开始)的副本,以成为新的主要实例。
-
选择继续,然后修改DB实例。
4.测试数据库故障转移
-
在目标作者实例上选择“单选”按钮。
-
然后选择操作>故障转移。
-
在故障转移期间,Amazon RDS将促进具有最高优先级的副本(从第0层开始),成为新的主要实例。
-
这将导致副本 -
reader-1 with tier-0
被提升,因为新的主要(或作者)实例和旧的primary(或writer)实例成为新的读取副本。 -
reader-2
仍然是读取复制品,因为我们将优先顺序设置为 -tier-1
-
故障转移所需的时间取决于故障转移时数据库活动的数量,但通常不到60秒。
-
您可以在日志和事件下监视故障转移过程。
-
通过使用端点,故障转移对应用程序透明。
-
当群集和读取器端点用作数据库的DNS时,实例连接将保持相同并自动使用新的DB实例。
5.终止资源
-
delete
reader-1 and reader-2
。 -
删除Amazon Aurora群集
-
不要创建最终快照,然后选择确认。输入删除我并选择删除。此步骤将删除Aurora群集,包括存储和所有自动DB备份。
- 一段时间后,您将将该数据库1作为删除
到目前为止我们所做的
- 我们已经通过Amazon RDS管理控制台创建了一个高可用的Aurora群集,添加了2个具有不同优先级的Aurora副本,并在不同的可用性区域中进行了测试,然后测试了一个失败的场景,然后终止了整个基础结构。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /li>