Atributo UpdateReplacePolicy - AWS CloudFormation

Atributo UpdateReplacePolicy

Use o atributo UpdateReplacePolicy para reter ou, em alguns caso, fazer backup da instância física existente de um recurso quando ele é substituído durante uma operação de atualização da pilha.

Ao iniciar a atualização de uma pilha, o AWS CloudFormation atualiza os recursos com base nas diferenças entre o que você enviou e os parâmetros e modelo atuais da pilha. Se você atualizar uma propriedade de recurso que requer que o recurso seja substituído, o CloudFormation recriará o recurso durante a atualização. Recriar o recurso gera um novo ID físico. O CloudFormation cria o recurso de substituição primeiro e, então, altera as referências de outros recursos dependentes para apontar para o recurso de substituição. Por padrão, o CloudFormation, então, exclui o recurso antigo. Com o UpdateReplacePolicy, você pode especificar que o CloudFormation retenha ou, em alguns casos, crie um snapshot do recurso antigo.

Para os recursos que oferecem apoio a snapshots, como o AWS::EC2::Volume, especifique Snapshot para que o CloudFormation crie um snapshot antes de excluir a instância do recurso antigo.

Você pode aplicar o atributo UpdateReplacePolicy a qualquer recurso. O UpdateReplacePolicy é executado somente se você atualizar uma propriedade de recurso cujo comportamento de atualização seja especificado comoReplacement, fazendo assim com que CloudFormation substitua o recurso antigo por um novo, com um novo ID físico. Por exemplo, se você atualizar a propriedade Engine de um tipo de recurso AWS::RDS::DBInstance, o CloudFormation cria um novo recurso e substitui o recurso de instância de banco de dados atual pelo novo recurso. O atributo UpdateReplacePolicy poderia então determinar se o CloudFormation excluiu, reteve ou criou um snapshot da instância de banco de dados antiga. O comportamento da atualização de cada propriedade de um recurso é especificado no tópico de referência para esse recurso no Referência de tipos de propriedades e recursos da AWS. Para obter mais informações sobre o comportamento de atualização de recurso, consulte Atualizar comportamentos de recursos da pilha.

O atributo UpdateReplacePolicy se aplica a atualizações de pilha que você executa diretamente, além de atualizações de pilha executadas usando conjuntos de alterações.

nota

Os recursos que são retidos continuam a existir e a incorrer em cobranças aplicáveis até que você exclua esses recursos. Os snapshots criados com esta política continuam a existir e continuam a incorrer em cobranças aplicáveis até que você os exclua. UpdateReplacePolicy retém o recurso físico antigo ou instantâneo, mas o remove do escopo do CloudFormation.

A UpdateReplacePolicy difere do atributo DeletionPolicy, em que ele se aplica somente a recursos substituídos durante as atualizações da pilha. Use DeletionPolicy para recursos excluídos quando uma pilha é excluída, ou quando a própria definição do recurso é excluída do modelo como parte de uma atualização da pilha.

O trecho a seguir contém um recurso de instância de banco de dados do Amazon RDS com uma política Retain para substituição. Quando esse recurso é substituído por um novo recurso com um novo ID físico, o CloudFormation deixa a antiga instância de banco de dados sem excluí-la.

JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myDB" : { "Type" : "AWS::RDS::DBInstance", "DeletionPolicy" : "Retain", "UpdateReplacePolicy" : "Retain", "Properties" : {} } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Resources: myDB: Type: 'AWS::RDS::DBInstance' DeletionPolicy: Retain UpdateReplacePolicy: Retain Properties: {}

Opções de UpdateReplacePolicy

Excluir

O CloudFormation exclui o recurso e todo o conteúdo dele, se aplicável, durante a substituição do recurso. Você pode adicionar esta política a qualquer tipo de recurso. Por padrão, se você não especificar um UpdateReplacePolicy, CloudFormation excluirá seus recursos. No entanto, esteja ciente do seguinte:

Para buckets do Amazon S3, você deverá excluir todos os objetos no bucket para a exclusão para ser bem-sucedida.

Reter

O CloudFormation mantém o recurso sem excluir o recurso ou o conteúdo dele quando ele é substituído. Você pode adicionar esta política a qualquer tipo de recurso. Os recursos que são retidos continuam a existir e a incorrer em cobranças aplicáveis até que você exclua esses recursos.

Se um recurso é substituído, a UpdateReplacePolicy retém o recurso físico antigo, mas o remove do escopo do CloudFormation.

Snapshot

Para os recursos que oferecem suporte a snapshots, o CloudFormation cria um snapshot para o recurso antes de excluí-lo. Snapshots criados com essa política continuam a existir e continuam a incorrer em cobranças aplicáveis até que você os exclua.

nota

Se você especificar a opção Snapshot em UpdateReplacePolicy para um recurso que não oferece apoio a snapshots, o CloudFormation reverterá para a opção padrão, que é Delete.

Os recursos que oferecem suporte a snapshots incluem: