También puedes colocar todos tus mappings en un documento externo y referenciarlo desde este documento utilizando:
Mappings: Fn::Transform: Name: AWS::Include Parameters: Location:
location puedes usar un bucket s3
Importancia de la Infraestructura como código
Paso a paso para infraestructura cómo código
Cómo desplegar infraestructura en Cloud
Herramientas para desplegar infraestructura como código
Introducción y ventajas de usar Cloudformation
Laboratorio # 1: explorando la consola de Cloudformation
Funcionalidades y características en Cloudformation
Anatomía de un template en Cloudformation
Clase práctica creación de un template
Despliegue del template en Cloudformation
Caracteristícas finales del template en Cloudformation
Stacks: características y despliegue
Bonus: ejemplo de stack
Stack Sets: despliegues multicuenta
Laboratorio # 2: desplegando un Stack Set en un esquema multi-cuenta
Nested Stacks: composición y ejemplos
Laboratorio # 3: creación de recursos del Stack
Laboratorio #3: pruebas de funcionamiento del stack
Laboratorio # 4: crear nuestro primer Nested Stack
Laboratorio #4: pruebas de funcionamiento del Nested Stack
Laboratorio # 5: cómo crear un stack de forma gráfica con Designer
Funciones en Cloudformation
Funciones intrínsecas: GetAtt, FindInMap, Join, Split y Select
Funciones intrínsecas: Sub, Ref y ImportValue.
Funciones condicionales: If, Not, And y Equals
Automatización y despliegues de infraestructura como código
Importancia de la automatización de infraestructura
Cómo automatizar despliegues de infraestructura
Creación de pipelines para despliegue de infraestructura
Laboratorio #6: Estructura de repositorio para despliegue de función lambda
Laboratorio #6: prerequisitos para creación del pipeline
Laboratorio #6: despliegue de pre requisitos
Laboratorio #6: creación del pipeline para el despliegue de una función lambda
Laboratorio #6: verificación de recursos creados en el pipeline
Diagnostico de errores y seguridad en infraestructura como código.
Seguridad en templates
Troubleshooting
Seguridad en despliegues
Laboratorio # 7: identificación de errores en despliegues
Funciones lambda en Cloudformation
Cómo desplegar lambda como función
Cómo desplegar lambda como función serverless
Laboratorio # 8: puesta en producción de nuestra función lambda
Conclusiones
Conclusiones finales
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Carlos Andrés Zambrano Barrera
Aportes 12
Preguntas 3
También puedes colocar todos tus mappings en un documento externo y referenciarlo desde este documento utilizando:
Mappings: Fn::Transform: Name: AWS::Include Parameters: Location:
location puedes usar un bucket s3
AWSTemplateFormatVersion: '2021-09-09'
Parameters:
DynamoAttribute:
Type: String
DynamoTableName:
Type: String
Resources:
DynamoSinceZero:
Type: AWS::DynamoDB::Table
Properties:
AttributeDefinitions:
- AttributeName: !Ref DynamoAttribute
AttributeType: S
KeySchema:
- AttributeName: !Ref DynamoAttribute
KeyType: HASH
BillingMode: PAY_PER_REQUEST
SSESpecification:
SSEEnabled: true
TableName: !Ref DynamoTableName
Outputs:
DynamoTableName:
Value: !Ref DynamoSinceZero
Export:
Name: DynamoTableName
TEMPLATES:
• AWSTemplateFormatVersion: “versión date”: Define las capacidades de la plantilla
• Description: String. Texto que describe la plantilla, es opcional.
• Metadata: Información adicional del template. Se pueden crear tres subregistros:
Parameters:
myKeryPair:
Description: Amazon EC2 Key Pair
Type: “AWS::EC2::KeyPair::KeyName”
mySubnetIDs:
Description: Subnet IDs
Type: “List<AWS::EC2::Subnet::Id>”
DbSubnetIpBlocks:
Description: “Comma-delimited list of three CIDR blocks”
Type: CommaDelimitedList
Default: “10.0.48.0/24, 10.0.112.0/24, 10.0.176.0/24”
DBPort:
Default: 3306
Description: TCP/IP port for the database
Type: Number
MinValue: 1150
MaxValue: 65535
DBPwd:
NoEcho: true
Description: The database admin account password
Type: String
MinLength: 1
MaxLength: 41
AllowedPattern: ^[a-zA-z0-9]*$
• Mappings: Arreglos de llave valor asociados que se usan para agregar parámetros condicionales. Similar a una tabla de búsqueda. Utiliza la función Fn::FindInMap, Ej:
Mappings:
RegionMap:
us-east-1:
“HVM64”: “ami-0ff8a91507f77f867”
us-west-1:
“HVM64”: “ami-0bdb828fd58c52235”
😃 interesante
Los templates tienen diferentes características que nos ayudaran a desplegar nuestros recursos en AWS entre estos se encuentran
Version de Aws: Este es el versionado de aws, si hay otra version se añadirá nuevas características
Description: Descripción de la plantilla, el que hace.
Metadata: En donde tenemos diferentes parámetros que veremos mas adelante
Parameters: EL mas importante, aquí pondremos nuestros distintos parámetros que se utilizaran para la creación de nuestro recurso, Podemos poner parámetros como el nombre, en el caso de lamda su runtime entre otros
Mappings: estos ayudan a ubicar el servidor en la region que le asignemos
Excelente contenido. Pregunta… Bajo que condiciones AWS puede actualizar la función Lambda que uno a desarrollado?. Lo pregunto por el nivel de confiabilidad que del código que uno haya desarrollado.
Parameters: (opcional)
Definicion de recursos que utilizara cloudformation para el despliegue:
Subnets, rutine, keyPairs, ips, etc.
Metadata: (Opcional)
Init
Interface
designer
Las templates son realmente un gran ahorro de tiempo
increíble 😃
La descripción cumple una función similar a un TAG
Una de las claves mas importantes para hacer un plantilla reutilizable es la parametrizacion, cloud formation implementa esto perfectamente con los parametros parameters
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?