No tienes acceso a esta clase

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

Primer pipeline

15/21
Recursos

¿Cómo crear un pipeline de infraestructura automática?

Crear una infraestructura de manera automática es una habilidad esencial en la nube, y con la ayuda de herramientas como Terraform, AWS CodePipeline, CodeCommit, y CodeBuild, es posible lograrlo eficientemente. Estos servicios facilitan la orquestación y gestión automatizada, asegurando implementaciones consistentes y repetibles.

¿Qué servicios necesitas para el pipeline automático?

Para empezar, debes configurar los siguientes servicios. Cada uno desempeña un papel crucial en el proceso de automatización y despliegue de infraestructura.

  • AWS CodePipeline: Orquesta el proceso de implementación, desde la obtención del código hasta su despliegue.
  • AWS CodeCommit: Almacena tus archivos de código (en este caso, archivos de Terraform) de manera segura.
  • AWS CodeBuild: Ejecuta procesos de construcción y tests. Aquí, se utilizarán para los pasos de terraform plan y terraform apply.
  • AWS S3 Bucket: Necesario para guardar sus cosas, incluyendo los archivos de estado de Terraform (Terraform State).

Además de estos servicios, es esencial configurar los permisos necesarios para que CodePipeline pueda interactuar con otros servicios (CodeCommit, CodeBuild) y que CodeBuild tenga acceso a servicios como Secrets Manager, en caso de ser necesario.

¿Cuáles son los comandos básicos de Terraform?

Terraform es una herramienta poderosa para la creación y gestión de infraestructura como código. Conocer sus comandos básicos es esencial para maximizar su potencial:

  1. terraform init: Prepara el entorno de trabajo al inicializar terraform en el directorio actual, configurando la carpeta para futuros comandos como plan, apply, o destroy.

  2. terraform plan: Analiza los archivos de configuración de Terraform, compara con el estado almacenado, y genera un plan detallado que describe las acciones que se tomarán para alcanzar el estado deseado.

  3. terraform apply: Ejecuta las acciones planeadas por terraform plan, creando o actualizando la infraestructura según sea necesario.

  4. terraform destroy: Utiliza el estado almacenado para determinar qué recursos se deben eliminar, desmantelando así toda la infraestructura previamente creada.

Estos comandos, cuando se integran en un pipeline automatizado mediante CodePipeline y CodeBuild, aseguran que la infraestructura sea consistente y manejable de manera eficiente.

¿Qué pasos seguir para ejecutar el pipeline?

  1. Descargar y validar el código: CodePipeline descarga el código de CodeCommit para su validación y ejecución de los comandos de Terraform.
  2. Ejecutar el plan con Terraform: CodeBuild ejecuta terraform plan para generar un informe detallado de las acciones previstas sobre la infraestructura.
  3. Aplicar cambios en AWS: Se lleva a cabo terraform apply para implementar los cambios descritos en el plan, estableciendo así la infraestructura requerida.
  4. Desplegar pipelines futuros: La infraestructura ya configurada servirá como base para desplegar otros pipelines en clases subsiguientes.

Estos pasos aseguran un flujo de trabajo fluido y automatizado que permite concentrarse en el diseño y mejoramiento de la infraestructura sin necesidad de tareas manuales repetitivas.

Con esta guía, estarás listo para aventurarte en el mundo del despliegue automatizado de infraestructuras. Así que adelante, aplica estos conocimientos y comienza a optimizar tu proceso de gestión de infraestructura en la nube.

Aportes 7

Preguntas 0

Ordenar por:

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

Primer Pipeline de infraestructura automática

Diagrama de servicios

  • Code Pipeline para orquestar
  • Code Commit para guardar los futuros archivos de terraform
  • Code build para los procesos de terraform
  • Permisos
  • Gestión de contraseñas

Comandos básicos de terraform

  • Preparar el sitio donde estamos parados para poder lanzar los demás códigos
terraform init
  • Mostrar un informe de lo que se va a ejecutar
terraform plan
  • Ejecutar los archivos y construir lo planeado
terraform apply
  • Destruir todo guiándose de lo construido previamente
terraform destroy

Excelente, Jaivic.

Aws tiene su propio servico iass y funciona de maravilla porr que puedes usarlo con python, java, golang

¡Hola!

Les dejo una imagen con los comandos vistos en clase y un breve resumen

### **Construcción del Primer Pipeline: Infraestructura Automática** Vamos a crear nuestro primer *pipeline* para desplegar infraestructura de forma automática usando **Terraform**. ### **Servicios que Vamos a Utilizar** El objetivo es construir un pipeline que nos permita crear y lanzar infraestructura. Para ello, necesitaremos los siguientes servicios principales: * **AWS CodePipeline**: para orquestar el proceso. * **AWS CodeCommit**: para guardar los archivos de Terraform. * **AWS CodeBuild**: para ejecutar los procesos de Terraform (tendremos dos procesos: uno para el plan y otro para aplicar cambios). Además de estos servicios principales, necesitaremos: * **Permisos** para que los servicios puedan interactuar entre sí: * CodePipeline debe tener permisos para acceder a los demás servicios. * CodeBuild debe tener permisos, por ejemplo, para acceder a secretos. * **Secretos**: se deben guardar adecuadamente. * **Un bucket de S3**: * CodePipeline necesita un bucket para guardar su información. * También lo usaremos para almacenar los archivos del *Terraform State*. ### **Flujo del Pipeline** El proceso general será el siguiente: 1. Descargar el código desde **CodeCommit**. 2. Validar el código. 3. Ejecutar el comando terraform plan. 4. Validar y aplicar los cambios en AWS usando terraform apply. Este pipeline será la base para desplegar los siguientes pipelines que veremos en clases futuras. ### **Comandos Básicos de Terraform** Vamos a trabajar con cuatro comandos principales: 1. **terraform init**: * Prepara la carpeta actual para trabajar con Terraform. * Crea los archivos necesarios para lanzar otros comandos como plan, validate, destroy o apply. 2. **terraform plan**: * Analiza los archivos de Terraform. * Los compara con el archivo de *Terraform State*. * Genera un informe con los cambios que se van a aplicar. * Por ejemplo, si quieres crear una máquina virtual, te mostrará sus características antes de ejecutar el cambio. 3. **terraform apply**: * Aplica los cambios definidos en los archivos. * Usa el archivo de *Terraform State* para registrar lo que se construye. 4. **terraform destroy**: * Lee el archivo de *Terraform State*. * Identifica qué recursos se han creado. * Destruye todo lo construido según ese registro.
Esto no se oye nada facil, asi que hayá vamos!!!
La última parte del Curso quedó obsoleta, ya que aws dejó de permitir nuevos usuarios a code commit