#amazon-web-services #amazon-rds
#amazon-веб-сервисы #amazon-rds
Вопрос:
Здесь рассматриваются две базы данных: «живая» и «предварительная». Каждый день рано утром делается снимок живого экземпляра rds. Чтобы получить свежую копию текущих данных, мы вручную удаляем prelive и создаем его из fresh с помощью live snapshot. prelive в основном используется для воспроизведения ошибок, связанных с данными. Как мы можем легко автоматизировать процесс получения свежего предварительного экземпляра из моментального снимка каждое утро?
Ответ №1:
Вы можете автоматизировать этот процесс с помощью CloudFormation.
Вы должны создать стек для своей среды «prelive» с 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
свойство, для которого обновление требует замены, будет создан новый экземпляр ‘prelive’, а старый экземпляр будет удален.