No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Laboratorio: empezando con CloudFormation

13/19
Recursos

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.
Diagrama de stack de CloudFormation

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

  1. 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).
  2. Aqu铆 le damos a 鈥淐rear stack鈥.
  3. Para crear el stack, en 鈥淓specificar plantilla鈥 seleccionamos 鈥淐argar un archivo de plantilla鈥, y cargamos el archivo createstack.json. Este archivo simplemente define un bucket de S3 llamado 鈥減latzilab鈥.
{
  "Resources": {
    "platzilab": {
      "Type": "AWS::S3::Bucket"
    }
  }
}

Subir plantilla
4. Le damos clic a siguiente y, a continuaci贸n, escogemos un nombre para el stack o pila. En este caso, la llamamos cfnlab, y le damos a siguiente.
5. Opcionalmente, podemos a帽adir etiquetas para identificar la pila, y un rol de IAM.
6. Dejamos el resto de configuraciones por defecto y le damos a siguiente. Entonces nos llevar谩 a revisar las configuraciones, y le damos a 鈥淐rear pila鈥.
7. Podremos ver el proceso de creaci贸n de la pila, los eventos y los recursos que fueron creados. Si te fijas en el nombre del bucket creado, ver谩s que este est谩 compuesto por el nombre de la pila, el nombre que le asignamos al bucket en la plantilla, y una cadena de texto aleatoria. Esto es para evitar crear recursos con nombre duplicados.

Pila y bucket creados

Contribuci贸n creada con aportes de: Ciro Villafraz.

Aportes 9

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Como aporte, hay varios frameworks que nos permiten modelar los recursos en .yaml, .ts (typescript) entre otros que integrandolos con GitOps los CI de infraestructura se vuelve muy r谩pido 馃槂, ejemplos:

  • Serverless Framework
  • Pulumi
  • Terraform

Laboratorio: empezando con CloudFormation

.
Esto es lo que vamos a realizar en este laboratorio
.

.

Paso a Paso del laboratorio

.

  1. En el buscador escribimos CloudFormation


    .

  2. Damos click en create stack

    .

  3. En Choose File cargamos el JSON que se encarga de crear el stack. Los archivos los dej贸 el profe en el repositorio: https://github.com/platzi/aws-cloud-practitioner/tree/main/lab-cloudformation


    .

  4. Damos el nombre del stack


    .

  5. Configuramos los tags y dejamos el resto igual

Me puse a revisar y en donde trabajo utilizan yaml para crear el template de cloudformation

Si no quiere descargar nada, puede trabajarlo desde la web
VSC WEB

Otros frameworks de mas alto nivel, son AWS CDK y AWS SAM

APORTE IMPORTANTE!

Para que puedan seguir el flujo de la clase por favor primero elijan la Region

Se podr铆a emplear codebuild y cloud formation para automatizar por completo el despliegue. Una rama de la infraestructura en prueba y la otra en producci贸n, que cambie menos.

Yo tengo que aprender esto, pero sinceramente soy mas de Terraform, es una alternativa excelente, aunque no s茅 si se equipara con Cloud Formation en sus capacidades.

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • CloudFormation nos permite construir toda la infraestructura como c贸digo en formato Json

  • Es buena idea tomar el curso de infraestructura como c贸digo para entender bien como crear y estructurar el archivo Json

  • Podemos utilizar Json o Yaml

  • El Bucket y Stack de Cloudformation deben estar creados en la misma regi贸n

  • Los Stacks pueden tener etiquetas para que sean f谩cilmente identificables

  • Dentro de S3 los Buckets deben tener 煤nico nombre