繁体   English   中英

我们如何使用 AWS 云形成模板创建跨区域 RDS 只读副本?

[英]How can we create cross region RDS read replica using AWS cloud formation template?

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

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

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

查看此链接以获取更多信息。

2) 目前,我认为使用 cloudformation 推广只读副本是不可能的。 但是您可以使用 lambda 函数来实现这一点。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM