¿Qué es AWS CloudFormation? - AWS CloudFormation

¿Qué es AWS CloudFormation?

AWS CloudFormation es un servicio que le ayuda a modelar y configurar sus recursos de AWS, por lo que podrá dedicar menos tiempo a la administración de dichos recursos y más tiempo a centrarse en las aplicaciones que se ejecutan en AWS. Puede crear una plantilla que describa todos los recursos de AWS que desea (como instancias de Amazon EC2 o instancias de base de datos de Amazon RDS) y CloudFormation se encargará del aprovisionamiento y la configuración de dichos recursos. No es necesario crear y configurar individualmente los recursos de AWS ni averiguar qué depende de qué; CloudFormation se encarga de todo eso. Las siguientes situaciones demuestran cómo puede ayudarle CloudFormation.

Simplificación de la administración de la infraestructura

Para una aplicación web escalable que también incluye una base de datos backend, puede utilizar un grupo de escalado automático, un equilibrador de carga de Elastic Load Balancing y una instancia de base de datos relacional de Amazon Relational Database Service. Podría usar cada servicio individual para aprovisionar estos recursos y después de crear los recursos, tendría que configurarlos para que funcionen conjuntamente. Todas estas tareas pueden aumentar la complejidad y el tiempo incluso antes de tener en funcionamiento su aplicación.

En su lugar, puede crear o modificar una plantilla de CloudFormation existente. Una plantilla describe todos los recursos y las propiedades de estos. Cuando utiliza dicha plantilla para crear una pila de CloudFormation, CloudFormation se encarga de aprovisionar el grupo de Auto Scaling, el balanceador de carga y la base de datos. Después de que se haya creado correctamente la pila, los recursos de AWS se ponen en marcha. Es igual de fácil eliminar la pila. En este caso, se eliminan todos los recursos de la pila. Al utilizar CloudFormation, es fácil administrar un conjunto de recursos como una única unidad.

Replicación rápida de la infraestructura

Si su aplicación necesita más disponibilidad, puede replicarla en varias regiones, de modo que si una región deja de estar disponible, los usuarios pueden seguir utilizando su aplicación en otras regiones. El problema durante la replicación de la aplicación es que también requiere que se repliquen los recursos. No solo necesita registrar todos los recursos que requiere su aplicación, sino que además debe aprovisionar y configurar esos recursos en cada región.

Vuelva a utilizar la plantilla de CloudFormation para crear sus recursos de una manera consistente y repetible. Para reutilizar sus plantillas, tiene que describir los recursos una vez y luego aprovisionar los mismos recursos una y otra vez en varias regiones.

Control y seguimiento sencillos de los cambios en la infraestructura

En algunos casos, es posible que tenga recursos subyacentes que desee actualizar de forma incremental. Por ejemplo, puede pasar a un tipo de instancia de mayor rendimiento en su configuración de lanzamiento de Auto Scaling, por lo que puede reducir el número máximo de instancias en su grupo de Auto Scaling. Si se producen problemas después de completar la actualización, es posible que necesite restaurar la configuración original de su infraestructura. Para hacerlo manualmente, no solo tiene que recordar qué recursos se han cambiado, sino también necesita conocer la configuración original.

Cuando aprovisiona su infraestructura con CloudFormation, la plantilla de CloudFormation describe exactamente qué recursos se aprovisionan y su configuración. Dado que estas plantillas son archivos de texto, solo tiene que realizar un seguimiento de las diferencias en las plantillas para realizar un seguimiento de los cambios en la infraestructura, de forma similar al modo en que los desarrolladores controlan las revisiones del código fuente. Por ejemplo, puede utilizar un sistema de control de versiones con las plantillas para saber exactamente qué cambios se han realizado, quién los ha realizado y cuándo. Si en cualquier momento necesita revertir los cambios de su infraestructura, puede utilizar una versión anterior de la plantilla.