Actualizar la plantilla de pila
Para modificar los recursos o las propiedades de una pila de CloudFormation, debe actualizar la plantilla de la pila. Comience con la plantilla existente para esa pila y realice los cambios en ella. Si tiene su plantilla almacenada en un sistema de control de recursos, utilice una copia de dicha plantilla como punto de partida. De lo contrario, puede obtener una copia de la plantilla desde CloudFormation.
Si solo desea modificar los parámetros o los ajustes de una pila (como por ejemplo el tema de Amazon SNS de una pila), puede volver a utilizar la plantilla de la pila existente sin obtener una copia.
Puede modificar una plantilla de pila de CloudFormation por medio de Infrastructure Composer o de un editor de texto.
Actualización de una plantilla de pila existente mediante Infrastructure Composer
-
En la página Pilas de la consola de CloudFormation
, seleccione el nombre de la pila que desea actualizar. -
En el panel de detalles de la pila seleccionada, elija la pestaña Plantilla y, a continuación, elija Ver en Infrastructure Composer.
-
CloudFormation abre la plantilla en Infrastructure Composer. Aquí puede arrastrar, soltar, configurar y conectar recursos (tarjetas) desde la paleta Recursos. Para más información consulte Cómo crear una composición en AWS Infrastructure Composer.
Para actualizar una plantilla de conjunto de pilas con la AWS CLI
-
Para obtener la plantilla de la pila que desea actualizar, utilice el comando get-template de la CLI.
-
Copie la plantilla, péguela en un archivo de texto, modifíquela y guárdela. Copie únicamente la plantilla. El comando encierra la plantilla entre comillas, pero no copia las comillas alrededor de la plantilla. La plantilla comienza con una llave de apertura y termina con la llave de cierre final. Especifique los cambios a los recursos de la pila en este archivo.
Tenga en cuenta los siguientes puntos cuando realice cambios en la plantilla:
-
No puede agregar, modificar o eliminar un parámetro utilizado por un recurso que no admite actualizaciones.
-
Para la mayoría de los recursos, cambiar el nombre lógico de un recurso equivale a la eliminación de ese recurso y a la sustitución por otro nuevo. Cualquier otros recurso que dependa del recurso cuyo nombre se ha cambiado también tendrá que actualizarse y podría provocar su reemplazo. Otros recursos requieren que actualice una propiedad (no solo el nombre lógico) para iniciar una actualización.
-
Algunos recursos pueden tener restricciones en cuanto a los valores que se pueden establecer para determinadas propiedades. Por ejemplo, los cambios en la propiedad
AllocatedStorage
de una instancia de base de datos de RDS deben ser superiores al valor actual. Si la actualización infringe estas reglas, esa parte fallará. -
La actualización de un recurso también puede afectar a otros que hagan referencia a él. Si usa funciones como
Ref
oGetAtt
para establecer una propiedad basada en otro recurso, CloudFormation también actualizará el recurso de referencia cuando cambie el recurso al que se hace referencia. -
Consulte Referencia de tipos de recursos de AWS para obtener información sobre los efectos de actualizar propiedades específicas de recursos. Para cada propiedad, los efectos de una actualización serán uno de los siguientes:
-
Requisitos de actualización: sin interrupción
-
Requisitos de actualización: alguna interrupción
-
Requisitos de actualización: reemplazo
-
-
Puede comprobar la sintaxis JSON o YAML de la plantilla con el comando validate-template de la CLI o al especificar la plantilla en la consola. La consola realiza la validación automáticamente. Sin embargo, estos métodos solo comprueban la sintaxis de la plantilla y no validan que los valores de propiedad que ha especificado para un recurso sean válidos para ese recurso. Para validaciones más complejas o para comprobar las prácticas recomendadas, también puede utilizar herramientas adicionales como CloudFormation Linter (cfn-lint)
y CloudFormation Rain (rain fmt) .
nota
A veces, CloudFormation no permite ciertos cambios que intente realizar y le dirá que el cambio no está permitido. Este mensaje puede ocurrir de manera asincrónica, ya que CloudFormation crea y actualiza recursos en un orden no determinista de forma predeterminada.