【问题标题】:How can we create cross region RDS read replica using AWS cloud formation template?我们如何使用 AWS 云形成模板创建跨区域 RDS 只读副本?
【发布时间】:2020-10-12 06:48:08
【问题描述】:

我很容易找到一种使用 AWS 云形成在同一区域创建 RDS 只读副本的方法,但是:
1. 我们可以用CF模板在不同区域创建相同的吗?
2. 也可以使用CF模板将其提升为primary吗?

【问题讨论】:

  • Aurora 引擎似乎并非如此。我相信我们可以通过 AWS CLI、Aurora 管理控制台创建只读副本,但我在 CF 模板中看不到对它的支持,如果我错了,有人可以纠正我。

标签: amazon-web-services amazon-cloudformation amazon-rds read-replication


【解决方案1】:

1) 可以,您可以使用 CloudFormation 在不同区域创建 RDS 只读副本。在目标区域(您要在其中创建只读副本)中创建 CloudFormation 模板,并将 源数据库实例 arn(位于源区域中)作为 @ 的输入987654322@。

Resources:
  # Create Data DB
  myReplciaDB:
    Type: AWS::RDS::DBInstance
    Properties:
      DBInstanceIdentifier: "read-replica"
      PubliclyAccessible: false
      SourceDBInstanceIdentifier: "arn:aws:rds:us-east-1:XXXXXX:db:source-database"
      StorageType: gp2

查看此link 了解更多信息。

2) 目前,我认为无法使用 cloudformation 提升只读副本。但是您可以使用 lambda 函数来实现这一点。

  • 在目标区域中创建一个 lambda 函数,该函数使用您选择的 sdk 中的 promote-read-replica api。
  • 在源区域创建一个 sns 主题,并将其添加为 lambda 函数的触发器。 不要忘记使用 SNSTopicArn 为 Lambda 添加 SNS 的调用权限

  • 在源 RDS 控制台中,转到事件订阅并选择您在上面创建的 sns 主题 arn 作为接收事件的目标 arn。在事件类别下,为您的源数据库选择 deletion, failure

【讨论】:

  • for 1) 需要先创建DBCluster吗?
猜你喜欢
  • 1970-01-01
  • 2018-03-20
  • 2020-12-19
  • 2021-07-22
  • 2021-02-28
  • 2017-01-15
  • 2021-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多