Laboratorio: empezando con CloudFormation
Curso de Introducción a AWS: Redes, Gobernanza y Machine Learning
Contenido del curso
Redes
Crear componentes básicos de una VPC
Gobernanza
Machine Learning
Próximos pasos
Laboratorio: empezando con CloudFormation
Resumen
CloudFormation nos permite provisionar infraestructura como código. Para poner a prueba CloudFormation, mediante una plantilla vamos a crear un stack a partir del cual se desplegará un bucket de S3. Luego, actualizaremos el stack añadiendo otro bucket de S3, y finalmente lo eliminaremos.
Entendiendo la plantilla
En este repositorio encontrarás la plantilla de CloudFormation que usaremos. La plantilla tiene la siguiente estructura JSON (recuerda, CloudFormation acepta formato JSON o YAML):
{ ""AWSTemplateFormatVersion"": ""2010-09-09"", ""Description"": ""this template does XXXX"", ""Metadata"": {}, ""Parameters"": {}, ""Mappings"": {}, ""Conditions"": {}, ""Transform"": {}, ""Resources"": {}, ""Outputs"": {} }
Estos parámetros corresponden a lo siguiente:
- AWSTemplateFormatVersion: este parámetro es opcional. Aquí especificamos la versión de la plantilla
- Description: cadena de texto que describe la plantilla. Debe ir después de AWSTemplateFormatVersion
- Metadata: objetos que proporcionan información adicional sobre la plantilla
- Parameters: valores que pasaremos a la plantilla al ejecutarse, ya sea durante la creación o actualización del *stack
- Mappings: permite asignar un conjunto de valores a una clave específica. Por ejemplo, para establecer valores en función de una región, podemos crear un mapping que usa el nombre de una región como clave y contiene los valores que deseemos especificar para cada región
- Conditions: controla que se creen recursos o se asignen valores a dichos recursos en función de una condición. Por ejemplo, podemos asignar valores distintos para entornos de producción o de prueba
- Transform: especifica las macros que AWS CloudFormation usa para procesar la plantilla
- Resources: aquí se declaran los recursos a incluir en el stack. Por ejemplo, instancias EC2 o buckets de S3.
- Outputs: declara valores de salida que pueden ser usados en otros stacks
Pasos para crear el stack
- Nos dirigimos a la página de CloudFormation desde nuestra cuenta de AWS (en esta página podremos conocer más sobre el servicio en cuestión).
- Aquí le damos a ""Crear stack"".
- Para crear el stack, en ""Especificar plantilla"" seleccionamos ""Cargar un archivo de plantilla"", y cargamos el archivo createstack.json. Este archivo simplemente define un bucket de S3 llamado ""platzilab"".
{ ""Resources"": { ""platzilab"": { ""Type"": ""AWS::S3::Bucket"" } } }
Contribución creada con aportes de: Ciro Villafraz.