

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Utilización AWS CloudFormation como herramienta de iAC
<a name="cloudformation"></a>

[AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)es una Servicio de AWS que utiliza archivos de plantilla para automatizar el aprovisionamiento de AWS recursos. Usted crea una plantilla que describe todos los AWS recursos que desea implementar y CloudFormation aprovisiona y configura esos recursos por usted.

CloudFormation las plantillas se escriben mediante JSON o YAML. Una CloudFormation *pila* es la implementación de los recursos definidos en tu plantilla. Puedes gestionar tus CloudFormation pilas mediante el Consola de administración de AWS, mediante programación, mediante el CloudFormation SDK o mediante (). AWS Command Line Interface AWS CLI Para obtener más información sobre cómo CloudFormation funciona, consulta [AWS CloudFormation los conceptos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html) y [Cómo AWS CloudFormation funciona](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-howdoesitwork.html) en la documentación. CloudFormation 

**Ventajas de usar CloudFormation:**
+ CloudFormation [Los conjuntos de cambios](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html#cfn-concepts-change-sets) permiten obtener una vista previa de los cambios en una pila en ejecución antes de implementarlos. *Los conjuntos de cambios* resumen los cambios propuestos en los recursos en ejecución de una pila existente. Esto puede ayudarle a identificar conflictos o consecuencias imprevistas antes de la implementación. Por ejemplo, si cambias el nombre de una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) CloudFormation , se creará una nueva base de datos y se eliminará la anterior. Perdería los datos de la base de datos anterior a menos que ya haya realizado una copia de seguridad de la misma. Si genera un conjunto de cambios, verá que el cambio provocará el reemplazo de la base de datos y podrá planificar en consecuencia antes de actualizar la pila.
+ Si se produce un error durante la implementación de un conjunto de cambios, CloudFormation se restablece automáticamente al último estado de funcionamiento conocido.
+ Puede usar [conjuntos de CloudFormation pilas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) para implementar recursos en varios Cuentas de AWS y Regiones de AWS.
+ El uso CloudFormation con proveedores de recursos en los siguientes espacios de nombres es gratuito: AWS: :\$1, Alexa: :\$1 y Custom: :\$1. En estos casos, solo paga por los AWS recursos que aprovisiona, como si los hubiera aprovisionado manualmente.
+ CloudFormation administra el estado por usted. Esto significa que CloudFormation realiza llamadas al servicio subyacente AWS para aprovisionar y configurar los recursos tal y como se define en CloudFormation las plantillas.
+ CloudFormation proporciona herramientas para detectar y corregir los errores de configuración. Para obtener más información, consulte [Detectar cambios de configuración no gestionados en pilas y recursos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) en la documentación. CloudFormation 
+ Puede utilizarlos CloudFormation para crear recursos [personalizados](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html). Puedes escribir una lógica de aprovisionamiento personalizada en las plantillas para que CloudFormation se ejecute cada vez que crees, actualices o elimines pilas.
+ CloudFormation [admite el modelado, el aprovisionamiento y la administración de recursos de aplicaciones de terceros mediante el registro. CloudFormation ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html)
+ CloudFormation admite la [importación de los recursos existentes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) a la CloudFormation administración.

**Desventajas del uso de CloudFormation:**
+ Si no estás familiarizado con la sintaxis de JSON o YAML, puede que te lleve un tiempo acostumbrarte. JSON no se diseñó para ser legible por humanos y no permite hacer comentarios en línea. YAML te permite hacer comentarios y es más fácil de leer. Sin embargo, su sintaxis se basa en tabulaciones y espacios, por lo que es fácil cometer errores de indentación.
+ CloudFormation no admite despliegues multinube.
+ Debe utilizar una implementación de nivel superior, como la AWS Cloud Development Kit (AWS CDK), para crear construcciones reutilizables y otro tipo de código modularizado.