Atributo UpdateReplacePolicy - AWS CloudFormation

Atributo UpdateReplacePolicy

Utilice el atributo UpdateReplacePolicy para conservar o, en ciertos casos, hacer una copia de seguridad de la instancia física existente de un recurso cuando se sustituye durante una operación de actualización de la pila.

Cuando inicie la actualización de una pila, AWS CloudFormation actualiza los recursos en función de las diferencias entre lo que envía y la plantilla y los parámetros actuales de la pila. Si actualiza una propiedad de recurso que requiere la sustitución del recurso, CloudFormation recrea el recurso durante la actualización. La recreación del recurso genera un nuevo ID físico. CloudFormation crea primero el recurso de sustitución y, a continuación, cambia las referencias de otros recursos dependientes para que apunten al recurso de sustitución. De forma predeterminada, CloudFormation elimina seguidamente el recurso antiguo. Mediante el uso de UpdateReplacePolicy, puede especificar que CloudFormation conserve o, en ciertos casos, cree una instantánea del recurso antiguo.

Para los recursos que admiten instantáneas, como por ejemplo AWS::EC2::Volume, puede especificar Snapshot para que CloudFormation cree una instancia del recurso antiguo.

Puede aplicar el atributo UpdateReplacePolicy a cualquier recurso. UpdateReplacePolicy solo se ejecuta si actualiza una propiedad de recurso cuyo comportamiento de actualización está especificado como Replacement, lo que provoca que CloudFormation sustituya el recurso anterior por uno nuevo con un ID físico nuevo. Por ejemplo, si actualiza la propiedad Engine de un tipo de recurso AWS::RDS::DBInstance, CloudFormation crea un recurso nuevo y sustituye el recurso de la instancia de base de datos actual por uno nuevo. A continuación, el atributo UpdateReplacePolicy debería dictaminar si CloudFormation ha eliminado, retenido o creado una instantánea de la instancia de base de datos antigua. El comportamiento de actualización de cada propiedad de un recurso se especifica en el tema de referencia de dicho recurso en la Referencia de tipos de recursos y propiedades de AWS. Para obtener más información acerca del comportamiento de actualización de un recurso, consulte Comportamientos de actualización de los recursos de la pila.

El atributo UpdateReplacePolicy se aplica a las actualizaciones de pila realizadas directamente, además de las actualizaciones de pila realizadas mediante conjuntos de cambios.

nota

Los recursos que se conservan siguen existiendo y continúan incurriendo en cargos aplicables hasta que se eliminan. Las instantáneas creadas con esta política siguen existiendo y siguen incurriendo en cargos aplicables hasta que elimine esas instantáneas. UpdateReplacePolicy retiene el recurso físico antiguo o la instantánea, pero lo elimina del alcance de CloudFormation.

UpdateReplacePolicy difiere del atributo DeletionPolicy en que solo se aplica a los recursos sustituidos durante las actualizaciones de la pila. Utilice DeletionPolicy para los recursos eliminados cuando se elimina una pila o cuando la propia definición de un recurso se elimina de la plantilla como parte de una actualización de la pila.

El siguiente fragmento de código contiene un recurso de instancia de base de datos de Amazon RDS con una política Retain de sustitución. Cuando este recurso se sustituye por un nuevo recurso con un ID físico nuevo, CloudFormation no elimina la instancia de base de datos antigua.

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: {}

Opciones de UpdateReplacePolicy

Delete

CloudFormation elimina el recurso y todo su contenido, si procede, durante la sustitución del recurso. Puede añadir esta política a cualquier tipo de recurso. De forma predeterminada, si no especifica un UpdateReplacePolicy, CloudFormation elimina los recursos. Sin embargo, debe tener en cuenta la siguiente consideración:

Para buckets de Amazon S3, debe eliminar todos los objetos en el bucket para una correcta eliminación.

Retain

Cuando el recurso se sustituye, CloudFormation mantiene el recurso sin eliminar el recurso ni su contenido. Puede añadir esta política a cualquier tipo de recurso. Los recursos que se conservan siguen existiendo y continúan incurriendo en cargos aplicables hasta que se eliminan.

Si un recurso se sustituye, UpdateReplacePolicy conserva el recurso físico antiguo, pero lo elimina del alcance de CloudFormation.

Snapshot

Para los recursos que admiten instantáneas, CloudFormation crea una instantánea para el recurso antes de eliminarlo. Las instantáneas que se crean con esta política siguen existiendo y continúan incurriendo en cargos aplicables hasta que se eliminan.

nota

Si especifica la opción Snapshot en el UpdateReplacePolicy para un recurso que no admite instantáneas, CloudFormation revertirá a la opción predeterminada, que es Delete.

Entre los recursos que admiten instantáneas se incluyen: