Secciones de la plantilla de CloudFormation - AWS CloudFormation

Secciones de la plantilla de CloudFormation

Cada plantilla de CloudFormation consta de una o más secciones, cada una con un propósito específico.

La sección Recursos es obligatoria en todas las plantillas de CloudFormation y constituye el núcleo de la plantilla. Esta sección especifica los recursos de la pila y sus propiedades, como una instancia de Amazon EC2 o un bucket de Amazon S3. Cada recurso se define con un identificador lógico único, un tipo y detalles de configuración específicos.

La sección de Parámetros, si bien es opcional, desempeña un rol importante a la hora de hacer que las plantillas sean más flexibles. Permite a los usuarios pasar valores en tiempo de ejecución al crear o actualizar una pila. Se puede referenciar estos parámetros en las secciones Resources y Outputs y, de este modo, se puede personalizar sin alterar la propia plantilla. Por ejemplo, puede usar los parámetros para especificar los tipos de instancias o la configuración del entorno que varían de una implementación a otra.

La sección Salidas, también opcional, define los valores que se devuelven al ver las propiedades de una pila. Los resultados ofrecen información útil, como identificadores de recursos o URL, que se pueden utilizar con fines operativos o para integrarlos con otras pilas. Esta sección ayuda a los usuarios a recuperar y utilizar detalles importantes sobre los recursos creados por la plantilla.

Otras secciones opcionales incluyen las Asignaciones, que funcionan como tablas de búsqueda para administrar los valores condicionales. Con las asignaciones, se definen pares clave-valor y se utilizan con la función intrínseca Fn::FindInMap en las secciones Resources y Outputs. Esto resulta útil en situaciones en las que es necesario ajustar las configuraciones según condiciones tales como Región de AWS o el entorno.

Las secciones Metadatos y Reglas, aunque se utilizan con menos frecuencia, ofrecen funciones adicionales. Metadata puede incluir información adicional sobre la plantilla, mientras que Rules valida un parámetro o una combinación de parámetros durante la creación o las actualizaciones de la pila, lo que garantiza que se cumplan criterios específicos. La sección Condiciones mejora aún más la flexibilidad al controlar si determinados recursos se crean o si a las propiedades se les asigna un valor según condiciones como el tipo de entorno.

Por último, la sección Transformar se utiliza para aplicar macros durante el procesamiento de la plantilla. Para las aplicaciones sin servidor (también denominadas aplicaciones de Lambda), especifica la versión de AWS Serverless Application Model (AWS SAM) que hay que utilizar. Cuando especifique una transformación, puede utilizar sintaxis de AWS SAM para declarar los recursos en la plantilla. El modelo define la sintaxis que puede utilizar y la forma en la que se procesa. También puede usar la transformación AWS::Include para incluir fragmentos de plantilla que se almacenan por separado de la plantilla principal de CloudFormation.

Los siguientes temas brindan más información y ejemplos de uso de cada sección.