Importancia de la Infraestructura como c贸digo

1

Paso a paso para infraestructura c贸mo c贸digo

2

C贸mo desplegar infraestructura en Cloud

3

Herramientas para desplegar infraestructura como c贸digo

4

Introducci贸n y ventajas de usar Cloudformation

5

Laboratorio # 1: explorando la consola de Cloudformation

Funcionalidades y caracter铆sticas en Cloudformation

6

Anatom铆a de un template en Cloudformation

7

Clase pr谩ctica creaci贸n de un template

8

Despliegue del template en Cloudformation

9

Caracterist铆cas finales del template en Cloudformation

10

Stacks: caracter铆sticas y despliegue

11

Bonus: ejemplo de stack

12

Stack Sets: despliegues multicuenta

13

Laboratorio # 2: desplegando un Stack Set en un esquema multi-cuenta

14

Nested Stacks: composici贸n y ejemplos

15

Laboratorio # 3: creaci贸n de recursos del Stack

16

Laboratorio #3: pruebas de funcionamiento del stack

17

Laboratorio # 4: crear nuestro primer Nested Stack

18

Laboratorio #4: pruebas de funcionamiento del Nested Stack

19

Laboratorio # 5: c贸mo crear un stack de forma gr谩fica con Designer

Funciones en Cloudformation

20

Funciones intr铆nsecas: GetAtt, FindInMap, Join, Split y Select

21

Funciones intr铆nsecas: Sub, Ref y ImportValue.

22

Funciones condicionales: If, Not, And y Equals

Automatizaci贸n y despliegues de infraestructura como c贸digo

23

Importancia de la automatizaci贸n de infraestructura

24

C贸mo automatizar despliegues de infraestructura

25

Creaci贸n de pipelines para despliegue de infraestructura

26

Laboratorio #6: Estructura de repositorio para despliegue de funci贸n lambda

27

Laboratorio #6: prerequisitos para creaci贸n del pipeline

28

Laboratorio #6: despliegue de pre requisitos

29

Laboratorio #6: creaci贸n del pipeline para el despliegue de una funci贸n lambda

30

Laboratorio #6: verificaci贸n de recursos creados en el pipeline

Diagnostico de errores y seguridad en infraestructura como c贸digo.

31

Seguridad en templates

32

Troubleshooting

33

Seguridad en despliegues

34

Laboratorio # 7: identificaci贸n de errores en despliegues

Funciones lambda en Cloudformation

35

C贸mo desplegar lambda como funci贸n

36

C贸mo desplegar lambda como funci贸n serverless

37

Laboratorio # 8: puesta en producci贸n de nuestra funci贸n lambda

Conclusiones

38

Conclusiones finales

Curso de Infraestructura Como C贸digo en AWS

Curso de Infraestructura Como C贸digo en AWS

Carlos Andr茅s Zambrano Barrera

Carlos Andr茅s Zambrano Barrera

Anatom铆a de un template en Cloudformation

6/38
Recursos
Transcripci贸n

Aportes 11

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

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

馃槂 interesante

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: 鈥渧ersi贸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:

  • AWS::CloudFormation::Init
  • AWS::CloudFormation::Interface
  • AWS::CloudFormation::Designer
    鈥 Parameters: Valores que se le pasan al template cuando se crea o actualiza un Stack. Pueden ser referenciados desde Resources u Outputs. Ejemplo:
Parameters:
	myKeryPair:
		Description: Amazon EC2 Key Pair
		Type: 鈥淎WS::EC2::KeyPair::KeyName鈥
	mySubnetIDs:
		Description: Subnet IDs
		Type: 鈥淟ist<AWS::EC2::Subnet::Id>	DbSubnetIpBlocks:
		Description: 鈥淐omma-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:
			鈥淗VM64鈥: 鈥渁mi-0ff8a91507f77f867鈥
		us-west-1:
			鈥淗VM64鈥: 鈥渁mi-0bdb828fd58c52235鈥

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