Contenido

Objetivo

Identificar los tipos de módulos en Terraform, sus características, las operaciones básicas tal como creación, el uso de módulos locales y remotos, así como tener un acercamiento al registro de Terraform con la finalidad de implementar soluciones basadas en módulos (secciones) de subprocesos más simples y autónomos integrando estos módulos en soluciones completas.

Descripción

El aprendedor obtendrá un acercamiento básico al trabajo con módulos, su construcción, funcionalidad y despliegue. Se hará una descripción de los tipos de módulos, sus operaciones básicas de entrada y salida, así como su posible integración como una herramienta en las tareas de DevOps. Dentro de este tema también el participante conocerá el registro de Terraform, el cual se puede definir como un repositorio de módulos para facilitar la construcción y el despliegue de configuraciones específicas. 

Explicación

Haz clic para revisar la explicación.

Tipos de módulos en Terraform

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 tipos de módulos en Terraform, revisa el siguiente video:

Estrada, J. (2021). “Trabajar con módulos de Terraform II”. Recuperado de https://www.adictosaltrabajo.com/2021/01/27/trabajar-con-modulos-de-terraform-ii/

Actividad

Objetivo

Trabajar un módulo obtenido del Registry, aplicar la inicialización de inputs (entradas), observar el resultado con los Outputs (salidas) del módulo y realizar pruebas para entender el objeto de su funcionamiento.

Instrucciones

Requisitos:

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.


Paso 1.

Ingresa a la liga del módulo IamUser en la liga:

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.


 

Familiarízate con la estructura del módulo, visita las fichas revisa la documentación sobre los inputs, así como los outputs.


Paso 2.

Crea una carpeta de trabajo donde crearás 3 archivos, para ello coloca en uno:

 

main.tf
module "iam_iam-user" {
source  = "terraform-aws-modules/iam/aws//modules/iam-user"
version = "4.23.0"
# insert the 1 required variable here
}


Un segundo archivo que llamarás variables.tf.

 

provider "aws" {
region                      = var.region
skip_credentials_validation = true
skip_requesting_account_id  = true
s3_force_path_style = true
endpoints {
iam = "http://aws:4566"
ec2 = "http://aws:4566"
s3 = "http://aws:4566"
}
}

 

Un tercer archivo con el nombre de provider.tf con el siguiente contenido:

 

variable "region" {
default = "us-east-
1"
}


Paso 3.

Agrega el argumento faltante en el archivo main.tf, para que el módulo pueda ejecutarse adecuadamente, agrega el argumento de entrada que se requiere, este caso será el nombre que recibirá el usuario; al argumento dale el valor de “tecmilenio” (puedes revisar la documentación oficial con la finalidad de conocer que argumento se necesita), una vez hecho, ejecuta el comando “terraform init”, y el “terraform apply ”.

Paso 4.

Con base en los resultados, contesta las siguientes preguntas:

  • ¿Qué tipo de bloque es el que se encuentra declarado en el main.tf?
  • ¿De qué fuente se está obteniendo el módulo?
  • De acuerdo con la documentación del módulo:
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.


  • ¿Cuántos argumentos son los requeridos? 
  • ¿Cuál es el argumento a ser especificado para crear en IamUser dentro de este módulo?
  • ¿Al ejecutar correctamente el módulo, cuáles son los outputs creados?

Paso 5.

Ejecuta terraform destroy para eliminar los cambios realizados.

Paso 6.

Elabora un documento a modo de reporte de proceso, con la finalidad de tener una documentación sobre el tema. No olvides incluir las preguntas del paso 4.

Checklist
  • Ejecutar de forma correcta el módulo del ejemplo.
  • Contestar correctamente las preguntas de la actividad.
  • Integrar un documento a modo de reporte.