如何使用aws每天复制生产数据库

问题描述 投票:0回答:2

这里讨论的两个数据库是“实时”和“活跃”。每天清晨都有一个关于实时rds实例的快照。要获取实时数据的全新副本,我们手动执行并删除prelive并使用实时快照从新创建它。 prelive主要用于复制数据特定的bug。我们怎样才能轻松地自动化每天早上从实时快照中获取新鲜的prelive实例的过程?

amazon-web-services amazon-rds
2个回答
1
投票

您可以使用CloudFormation自动执行此过程。

您应该使用AWS::RDS::DBInstance资源为“prelive”环境创建堆栈。您需要指定DBSnapshotIdentifier属性,但不是硬编码,而是引用堆栈参数,它将如下所示:

Parameters:
  Snapshot:
    Type: String

Resources:
  ...other resources...

  PreliveInstance:
    Type: AWS::RDS::DBInstance
    Properties:
      ...other properties...
      DBSnapshotIdentifier: !Ref Snapshot
      ...other properties...

  ...other resources...

这样,您可以每天早上通过CloudWatch事件触发Lambda函数,执行以下操作:

  1. 查看arn,了解“实时”环境的最新快照
  2. 使用步骤1中的arn更新“prelive”堆栈作为Snapshot参数的输入值。

因为DBSnapshotIdentifier是更新需要replacement的属性,所以将创建一个新的“prelive”实例,并删除旧的实例。

© www.soinside.com 2019 - 2024. All rights reserved.