Importancia de la Infraestructura como código

1

Automatización de Infraestructura como Código en AWS

2

Despliegue de Infraestructura como Código con Terraform

3

Infraestructura como Código con Terraform y Pulumi

4

Curso Completo de AWS CloudFormation: Infraestructura como Código

5

Anatomía de un Template en CloudFormation

Funcionalidades y características en Cloudformation

6

Creación y Gestión de Templates en AWS CloudFormation

7

Creación de Tablas en DynamoDB paso a paso

8

Manejo de Tablas con Amazon DynamoDB desde Cero

9

Conexión de Funciones Lambda con Bases de Datos DynamoDB

10

Gestión de recursos con CloudFormation en AWS

11

Gestión de Funciones Lambda en AWS con CloudFormation

12

Despliegue Multi Cuenta con AWS CloudFormation Stack Sets

13

Despliegue Multi Cuenta con AWS CloudFormation

14

Creación y gestión de Stacks anidados en AWS CloudFormation

15

Despliegue de Recursos en AWS con CloudFormation

16

Manejo de funciones Lambda con DynamoDB y API Gateway en AWS

17

Despliegue de Recursos en AWS con CloudFormation

18

Consulta de Datos con API REST y AWS Lambda

19

Valida tu aplicación con AWS CloudFormation Designer

Funciones en Cloudformation

20

Funciones en AWS CloudFormation: Uso de Ref y GetAtt

21

Funciones de reemplazo y referencia en AWS CloudFormation

22

Funciones Condicionales en Desarrollo de Automatización

Automatización y despliegues de infraestructura como código

23

Automatización de Despliegues en AWS: Seguridad y Usabilidad

24

Servicios de Automatización en AWS: Repositorios y Seguridad

25

Automatización de Despliegues en AWS: Paso a Paso con CI/CD

26

Automatización de Despliegues con AWS Lambda y Serverless

27

Creación y Gestión de Roles IAM en AWS

28

Creación de tabla DynamoDB para funciones Lambda

29

Construcción de Infraestructura con AWS CloudFormation

30

Programación Funcional en AWS Lambda con Node.js

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

31

Seguridad en Despliegues: Protección de Información Sensible

32

Gestión de Errores en Despliegues CloudFormation

33

Cifrado de credenciales en AWS con Secrets Manager y KMS

34

Indetificación y Resolución de Errores en Despliegues AWS

Funciones lambda en Cloudformation

35

Despliegue de Funciones Lambda en AWS con SAM y CloudFormation

36

Creación de Funciones Lambda Serverless en AWS

37

Automatización de Despliegue en AWS Lambda

Conclusiones

38

Arquitecturas multi cuenta con AWS y Terraform

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

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

Automatización de Despliegues en AWS: Paso a Paso con CI/CD

25/38
Recursos

¿Cómo automatizamos despliegues en AWS?

Automatizar los despliegues de la infraestructura es una habilidad crucial en el desarrollo moderno, donde la eficiencia y la seguridad deben estar siempre presentes. Este contenido aborda cómo realizar despliegues automatizados en AWS usando sus poderosas herramientas y servicios. Vamos a explorar el flujo de trabajo esencial para crear y gestionar nuestra infraestructura en la nube.

¿Qué papel juega el código fuente?

El inicio de todo proceso de automatización y despliegue es el repositorio de código fuente. Aquí almacenamos toda la información sobre nuestra infraestructura y aplicaciones, que luego será utilizada para construir y desplegar.

  • Repositorio de código: Guarda todo el código de la infraestructura y aplicaciones.
  • Integración de CodePipeline: Se conecta al repositorio de manera nativa, ayudando a extraer información y automatizar el flujo de trabajo.

¿Cómo comienza el flujo de despliegue?

El flujo de trabajo automatizado comienza cuando un evento específico ocurre en el repositorio de código, como un push. Esto puede personalizarse mediante webhooks para elegir qué tipo de eventos activan el despliegue.

  • Eventos activadores: Utilización de webhooks para eventos como push que inicien el flujo.
  • Personalización: Posibilidad de definir acciones específicas al iniciar el flujo.

¿Cuál es el proceso de compilación?

Una vez iniciado el flujo, AWS CodeBuild toma el código necesario, lo compila y lo convierte en un artefacto. Este proceso se configura a través de un archivo buildspec.yaml, el cual define los comandos y acciones necesarias.

  • CodeBuild: Convierte el código en artefactos listos para el despliegue.
  • Uso del archivo buildspec: Define comandos de compilación usando tecnologías como Maven, NPM, entre otras.
version: 0.2

phases:
  install:
    runtime-versions:
      python: 3.x
  build:
    commands:
      - echo Build started on `date`
      - echo Compiling the application...
      - # Complain if the Python linting fails

¿Cómo se gestionan los artefactos para despliegue?

Después de la compilación, los artefactos se almacenan en Amazon S3, desde donde se utilizan para la fase de despliegue. AWS CloudFormation se encarga de crear o modificar infraestructuras basadas en estos artefactos.

  • Almacenamiento en S3: Los artefactos se guardan de manera segura.
  • Despliegue con CloudFormation: Gestiona los recursos necesarios, detectando cambios y aplicándolos automáticamente.

¿Cómo se maneja la eliminación o actualización de recursos?

La eliminación o actualización es sencilla en AWS. Al modificar el código y hacer un push al repositorio, el flujo detecta cambios y ajusta la infraestructura en consecuencia, eliminando lo innecesario y creando lo nuevo.

  • Actualización automática: Cambios en el código se reflejan automáticamente en la infraestructura.
  • Detección de cambios: CloudFormation detecta y aplica solo los cambios necesarios.

¿Cómo se monitorea el proceso de despliegue?

Contar con una visibilidad clara del flujo de despliegue y ejecución es esencial. AWS ofrece herramientas como CloudWatch para monitorear todo, desde la creación hasta el despliegue de recursos.

  • Monitoreo con CloudWatch: Proporciona visibilidad y seguimiento de la ejecución de los flujos de trabajo.
  • Logs detallados: Ayudan a detectar y solucionar problemas rápidamente.

¿Qué consideraciones de seguridad son importantes?

La seguridad es intrínseca a todos los servicios AWS usados en el despliegue. Servicios como IAM, Secrets Manager y KMS permiten gestionar y proteger el acceso y los datos sensibles en el entorno de despliegue.

  • Gestión de accesos: Usar servicios como IAM para definir quién puede hacer qué.
  • Protección de datos: Utilizar Secrets Manager y KMS para cifrar y gestionar credenciales.

La automatización y gestión de despliegues en AWS no solo hace el proceso más eficiente, sino que también aumenta la seguridad y la confiabilidad. Decídete a aplicar estas prácticas y mejora continuamente tus proyectos en la nube.

Aportes 4

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

se quedo pegado la ultima dipostiva de como automatizar el despliegue o me equivoco¿?

Hoal profe, sabes que termine el curso y estoy tratando de levantar un proyecto en react en un bucket con s3 donde tengo habilitado el web hosting.

Yo levante un pipeline manual, con CodeCommit para el Source, CodeBuild para buildear y en el deploy stage use de provider s3, todo esto en Code pipeline, funciono correctamente. Adjunto una foto:

Ahora tengo que armar un template de esto y se me complica la parte del stage para el deploy, adjunto el codigo:

AppPipeline:
    Type: 'AWS::CodePipeline::Pipeline'
    Properties:
      Name: codecommit-events-pipeline
      RoleArn: !GetAtt 
        - CodePipelineServiceRole
        - Arn
      Stages:
        - Name: Source
          Actions:
            - Name: SourceAction
              ActionTypeId:
                Category: Source
                Owner: AWS
                Version: 1
                Provider: CodeCommit
              OutputArtifacts:
                - Name: SourceOutput
              Configuration:
                BranchName: !Ref BranchName
                RepositoryName: !Ref RepositoryName
                PollForSourceChanges: false
              RunOrder: 1
        - Name: Build
          Actions:
          - Name: Build
            ActionTypeId:
                Category: Build
                Owner: AWS
                Version: 1
                Provider: CodeBuild
            InputArtifacts:
              - Name: SourceOutput
            OutputArtifacts:
              - Name: BuildOutput
            Configuration:
                ProjectName: !Ref CodeBuildProject
            RunOrder: 1
        - Name: Deploy
          Actions:
            - Name: DeployAction
              InputArtifacts:
                - Name: BuildOutput
              ActionTypeId:
                Category: Deploy
                Owner: AWS
                Version: 1
                Provider: S3
              OutputArtifacts:
                - Name: DeployOutput
              # Configuration:
              #   ApplicationName: !Ref ApplicationName
              #   DeploymentGroupName: !Ref BetaFleet
              RunOrder: 1
      ArtifactStore:
        Type: S3
        Location: !Ref CodePipelineArtifactStoreBucket

Aun no complete bien con los valores en el stage de source y build, estaba investigando que debo colocar en el stage de deploy pero no encuentro ejemplos ni alguna referencia, alguna idea de como se podria completar este stage ??

Muchas gracias por el curso, esta realmente bueno, muy util!

entendido 😃

😃