Вы можете автоматизировать этот процесс с помощью CloudFormation.
Вы должны создать стек для вашей «предварительной» среды с ресурсом AWS::RDS::DBInstance
.Вам нужно указать свойство DBSnapshotIdentifier
, но вместо его жесткого кодирования вы будете ссылаться на параметр стека, он будет выглядеть следующим образом:
Parameters:
Snapshot:
Type: String
Resources:
...other resources...
PreliveInstance:
Type: AWS::RDS::DBInstance
Properties:
...other properties...
DBSnapshotIdentifier: !Ref Snapshot
...other properties...
...other resources...
Таким образом, вы можете использовать лямбда-функцию, запускаемую CloudWatch.Каждое утро происходит следующее событие:
- Поиск
arn
последнего снимка вашей «живой» среды - Обновление вашего «предварительного» стека с помощью
arn
из шага 1 в качестве входного значения для параметра Snapshot
.
Поскольку DBSnapshotIdentifier
- это свойство, для которого для обновления требуется замена ,Будет создан новый «предварительный» экземпляр, а старый будет удален.