AWS CloudFormation Clásico2011年〜
Un servicio de IaC que define y aprovisiona recursos AWS como código mediante plantillas
Qué hace
AWS CloudFormation es un servicio de Infrastructure as Code (IaC) que permite definir recursos AWS en plantillas JSON o YAML y aprovisionarlos automáticamente. Al describir la infraestructura como código, puedes crear, actualizar y eliminar entornos de forma reproducible. Los recursos se gestionan como "stacks", y si ocurre un error durante la actualización, se revierte automáticamente.
Casos de uso
Se utiliza para gestión de infraestructura reproducible, construcción automatizada de entornos multi-etapa (desarrollo, staging, producción), estandarización de infraestructura organizacional, recuperación ante desastres y gestión de configuración auditable. Es la base de la gestión de infraestructura AWS.
Analogía cotidiana
Piensa en él como un plano arquitectónico. Así como un arquitecto dibuja planos y los constructores construyen exactamente según ellos, CloudFormation construye la infraestructura exactamente como se describe en la plantilla. Si necesitas el mismo entorno en otro lugar, solo usa el mismo plano.
¿Qué es AWS CloudFormation?
AWS CloudFormation es un servicio de IaC que gestiona la infraestructura AWS como código. En lugar de crear recursos manualmente desde la consola, defines toda la configuración en un archivo de plantilla (JSON o YAML) y CloudFormation crea y configura automáticamente los recursos. Esto permite construir exactamente el mismo entorno de forma repetible.
Plantillas y stacks
Una plantilla de CloudFormation describe los recursos AWS que deseas crear y sus configuraciones. Cuando despliegas una plantilla, se crea un "stack" que agrupa todos los recursos como una unidad. Puedes actualizar o eliminar todos los recursos del stack de una vez. Las plantillas soportan parámetros, condiciones, outputs y referencias cruzadas entre recursos.
Gestión de cambios y rollback
Cuando actualizas un stack, CloudFormation calcula las diferencias y aplica solo los cambios necesarios. Los Change Sets te permiten previsualizar los cambios antes de aplicarlos. Si una actualización falla, CloudFormation revierte automáticamente al estado anterior, evitando estados inconsistentes. También puedes configurar protección contra eliminación para stacks críticos. Para comprender la gestión de cambios en profundidad, los libros en Amazon son un buen recurso.
Cómo empezar
Crea un archivo YAML con la sección Resources definiendo al menos un recurso (por ejemplo, un bucket S3). En la consola de CloudFormation, haz clic en "Crear stack", sube tu plantilla y sigue el asistente. CloudFormation creará los recursos automáticamente. Para plantillas más complejas, considera usar SAM (para serverless) o CDK (para definir con lenguajes de programación).
Aspectos a tener en cuenta
- スタックの更新時に一部のリソースは置換 (削除して再作成) が発生する場合がある。変更セットで事前に確認すること
- テンプレートのサイズ上限は S3 経由で 1 MB。大規模なテンプレートはネストされたスタックで分割を検討すること
- ROLLBACK_COMPLETE 状態のスタックは更新できないため、削除して再作成する必要がある