2016-07-06 2 views
1

Я использую CloudFormation для создания ресурса AWS::DynamoDB::Table, и у меня есть DeletionPolicy, установленный в Retain. Предположим, что я вношу изменения в свойства этого логического ресурса AttributeDefinitions, например, переименовать хэш-ключ, а затем выполнить CloudFormation update_stack; такое изменение требует «замены» ресурса. Все идет нормально; Я ожидаю, что существующая таблица DynamoDB будет «удалена», а новая создана вместо нее с измененным определением ключа.Почему не сохраняет свойство DeletionPolicy в CloudFormation, сохраняет измененную таблицу DynamoDB?

Однако я удивлен, что исходная таблица не «оставлена» в результате DeletionPolicy. Разумеется, можно было бы полностью заблокировать обновление с помощью политики стека, но я надеялся, что DeletionPolicy приведет к тому, что ныне не существующая таблица будет выгружена из стека CloudFormation, а новая возникает на своем месте, но, тем не менее, удален.

Ожидается ли такое поведение?

ответ

4

Да, это ожидаемое поведение. DeletionPolicy применяется, когда вы на самом деле удалить весь CloudFormation Stack. Если вы хотите сохранить свои прежние таблицы DynamoDB во время обновления , вам нужно будет сделать резервную копию вручную заранее. Вы можете использовать AWS Data Pipeline для резервного копирования таблиц DynamoDB на Amazon S3.

Смежные вопросы