AWS CloudFormation - Introduction a DevOps en AWS

AWS CloudFormation

AWS CloudFormation es un servicio que permite a los desarrolladores crear recursos de AWS de forma ordenada y predecible. Los recursos se escriben en archivos de texto con formato JavaScript Object Notation (JSON) o Yet Another Markup Language (YAML). Las plantillas requieren una sintaxis y una estructura específicas que dependen de los tipos de recursos que se crean y administran. Usted crea sus recursos en JSON o YAML con cualquier editor de código como AWS Cloud9, los registra en un sistema de control de versiones y, a continuación, CloudFormation crea los servicios especificados de manera segura y repetible.

Se implementa una plantilla de CloudFormation en el entorno de AWS como una pila. Puede administrar pilas a través de la consola de administración de AWS, la interfaz de línea de comandos de AWS o las API de AWS CloudFormation. Si necesita realizar cambios en los recursos que están ejecutándose en una pila, actualice la pila. Antes de realizar cambios en los recursos, puede generar un conjunto de cambios, que es un resumen de los cambios propuestos. Los conjuntos de cambios le permiten ver cómo afectan los cambios a sus recursos en ejecución, en especial para los recursos cruciales, antes de implementarlos.

Figura 1

Figura 1: AWS CloudFormation crea un entorno completo (pila) a partir de un flujo de trabajo de plantilla

Puede usar una sola plantilla para crear y actualizar un entorno completo o plantillas independientes para administrar varias capas dentro de un entorno. Esto permite modular las plantillas y también proporciona una capa de gobernanza que es importante para muchas organizaciones.

Al crear o actualizar una pila en la consola, aparecen eventos que muestran el estado de la configuración. Si se produce un error, de forma predeterminada, la pila vuelve a su estado anterior. Amazon Simple Notification Service (Amazon SNS) proporciona notificaciones sobre eventos. Por ejemplo, puede utilizar Amazon SNS para realizar un seguimiento del curso de las operaciones de creación y eliminación de pilas mediante correo electrónico e integrar otros procesos de manera programática.

AWS CloudFormation facilita la organización e implementación de una colección de recursos de AWS, además de permitirle describir cualquier dependencia o transmitir parámetros especiales cuando se configura la pila.

Con las plantillas de CloudFormation, puede trabajar con un amplio conjunto de servicios de AWS, como Amazon S3, Auto Scaling, Amazon CloudFront, Amazon DynamoDB, Amazon EC2, Amazon ElastiCache, AWS Elastic Beanstalk, Elastic Load Balancing, IAM, AWS OpsWorks y Amazon VPC. Para obtener la lista más reciente de recursos compatibles, consulte la Referencia de tipos de recursos y propiedades de AWS.