Contenido

Objetivo

Se busca en este tema que el aprendedor, obtenga los principios básicos del uso de Terraform para crear infraestructura cómo código en los servicios de la nube de AWS (Amazon Web Services), partiendo del uso de las arquitecturas, módulos, configuraciones necesarias, hasta el despliegue de un backend elemental.

Descripción

El desarrollo de la tecnología ha ido evolucionando a gran escala, antes no podíamos creer o pensar en herramientas que permitieran desarrollar o facilitar el trabajo de los desarrolladores, para poder realizar alguna infraestructura pasaba demasiado tiempo para poderla desarrollar, hoy podemos utilizar Terraform una herramienta que permite automatizar y administrar infraestructura con servicios utilizando un lenguaje declarativo, por otro lado AWS es una de las mejores alternativas para automatizar, modular y aprovisionar.

Explicación

Haz clic para revisar la explicación.

Usando Terraform para AWS

Recursos adicionales

Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Revisa el siguiente video:

Para conocer más sobre usando Terraform para AWS, revisa el siguiente video:

Cursos de Desarrollo (2021, 5 de abril). Curso Terraform sobre AWS – Curso de Desarrollo – República Web [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=MeOBaGUs-k4

Actividad

Objetivo

Permitir al aprendedor tener un acercamiento con los recursos de creación de infraestructura como código de Terraform para crear configuraciones en la nube AWS.

  • Tener una cuenta gratuita o de paga de AWS con perfil configurado
El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.



  • Tener instalado Terraform
El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.


  • Tener un editor compatible como Visual Studio Code https://code.visualstudio.com/ con plugin instalado para Terraform
El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.


El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.


Paso 1.

Complementa tu conocimiento de lo aprendido, visitando la documentación oficial de Terraform, asegúrate de conocer el nombre del recurso, estructura y atributos de los servicios para:

  • La autenticación en AWS.
  • Creación de Instancias EC2.
  • Creación de un backend S3 para almacenar el estado remoto.

De manera opcional, como preparación a la práctica, puedes realizar las lecturas y tutorial creado por Hashicorp en la liga: 

El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.

Paso 2.

Crea tu provider para iniciar correctamente sesión en AWS desde Terraform.

Paso 3.

Crearás tu IaC para inicializar una instancia EC2 con Ubuntu LTS 16.04 en la zona us-west-1, puedes consultar el listado de las AMIs disponibles con Ubuntu en la siguiente liga:

El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.

Tu máquina virtual deberá soportar 1 gb de memoria RAM, puedes consultar los tipos de instancia en:

Paso 4.

Crearás una cubeta S3 con la finalidad de almacenar el estado de manera remota de tu configuración de Terraform, dentro de las características de esta cubeta será contar con una tabla dynamoDB para controlar el bloqueo de estado (state locking).

Paso 5.

Inicializarás y aplicarás la configuración de tus módulos de Terraform.

Paso 6.

Ejecuta los comandos “state list” y posteriormente “state show” y asegúrate que se despliegue el estado asegurando el funcionamiento de la infraestructura.

Paso 7.

Destruye la configuración con el comando “terraform destroy”

El uso y descarga del software deberá apegarse a los términos y condiciones del sitio oficial del fabricante y su uso será responsabilidad de quien lo descargue. Tecmilenio no tiene licencia ni posee los derechos sobre dicho software

Checklist
  • Declarar correctamente el provider de AWS para iniciar sesión en AWS.
  • Realizar la correctamente la máquina virtual EC2.
  • Configurar el respaldo de backend S3 exitosamente.
  • Ejecutar el comando de verificación de estado para asegurar la ejecución correcta de la infraestructura.