- 1

Despliegue de Infraestructura en la Nube con Terraform
01:56 - 2

Infraestructura como Código: Implementación con Terraform en Azure
02:28 - 3

Curso Completo de Terraform: Infraestructura como Código
02:10 - 4

Instalación de Terraform en Ubuntu usando WSL en Windows
04:29 - 5

Configuración de Cuenta Azure y Preparación para Terraform
04:30 - 6

Instalación y Configuración de la Línea de Comandos de Azure en Ubuntu
05:37 - 7

Prueba Inicial de Terraform con Docker y Visual Studio Code
06:03
Comunicación entre Módulos en Terraform para Desplegar Máquinas Virtuales
Clase 26 de 37 • Curso de Terraform
Contenido del curso
- 8

Configuración de Proveedores en Terraform para Nube Híbrida
03:54 - 9

Creación de Grupos de Recursos en Azure con Terraform
05:27 - 10

Uso del comando Terraform Plan para validar configuraciones
05:56 - 11

Automatización de Despliegue con Terraform: Init, Plan y Apply
04:51 - 12

Uso de Terraform Destroy para Gestión de Recursos en Azure
04:07 - 13

Recapitulación de Comandos Básicos en Terraform
04:18
- 14

Automatización de Variables en Terraform para Despliegue en Azure
09:38 - 15

Gestión de Outputs en Terraform para Recursos Desplegados
06:16 - 16

Creación de Cuentas de Almacenamiento en Azure con Terraform
12:45 - 17

Organización y Uso de Proveedores en Terraform para Azure
09:45 - 18

Gestión del Estado en Terraform y Buenas Prácticas de Seguridad
07:47 - 19

Configuración de Estado Remoto en Terraform con Azure
06:46 - 20

Configuración de Backend Remoto con Terraform y Azure
05:37
- 25

Creación de Módulos en Terraform para Gestión de Infraestructura
12:23 - 26

Comunicación entre Módulos en Terraform para Desplegar Máquinas Virtuales
11:41 - 27

Uso del bloque Locals en Terraform para gestionar prefijos
07:38 - 28

Importación de Recursos en Terraform: Uso del Comando Import
10:09 - 29

Diferencias entre bloques Data e Import en Terraform
03:59 - 30

Exploración y Uso del Terraform Registry para Módulos en la Nube
05:18 - 31

Crear y Publicar Módulo Terraform en GitHub para Azure Functions
05:00 - 32

Documentación y Preparación de Repositorios con Git y Terraform
07:43 - 33

Publicación de Módulos en Terraform y Pruebas en Azure
09:25
¿Cómo comunicar módulos en Terraform para desplegar una máquina virtual?
Terraform facilita la autogestión de infraestructuras en la nube. Sin embargo, al crear múltiples módulos, es fundamental garantizar que los componentes puedan comunicarse entre sí. En este artículo, te mostraremos cómo compartir propiedades entre módulos en Terraform, especialmente cuando despliegas una máquina virtual. Este proceso optimiza tu infraestructura y te ayuda a gestionar recursos de manera eficiente.
¿Cómo extraer valores de salida de un módulo?
Para compartir variables entre módulos, necesitas definir valores de salida en Terraform. Los valores de salida permiten que los datos de un módulo estén disponibles para otros módulos. Aquí te explicamos cómo hacerlo a través de un ejemplo de implementación:
- Crear archivos de salida: Dentro del directorio del módulo de red (bnet), crea un archivo para definir los valores de salida. Por ejemplo:
output "subnet_id" {
value = azurerm_subnet.example.id
}
output "public_ip_address_id" {
value = azurerm_public_ip.example.id
}
- Exportar el ID del grupo de seguridad de red: Si necesitas utilizar el ID de un grupo de seguridad de red desde otro módulo, repite el procedimiento en el módulo correspondiente:
output "network_security_group_id" {
value = azurerm_network_security_group.example.id
}
¿Cómo integrar los módulos en el archivo principal?
Después de definir los valores de salida, nuestro siguiente paso es integrar esos módulos en el archivo main.tf. Aquí te mostramos cómo hacerlo:
- Referenciar el módulo de red:
module "vnet" {
source = "./vnet"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
}
- Incorporar el módulo del grupo de seguridad de red (NSG):
module "nsg" {
source = "./nsg"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
}
- Conectar el módulo de máquina virtual:
module "vm" {
source = "./vm"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
vm_username = var.vm_username
vm_password = var.vm_password
subnet_id = module.vnet.subnet_id
public_ip_address_id = module.vnet.public_ip_address_id
network_security_group_id = module.nsg.network_security_group_id
}
¿Cómo validar y aplicar la infraestructura en Terraform?
Después de haber configurado y conectado todos los módulos necesarios, debes validar los cambios y aplicarlos. Sigue estos pasos para garantizar que tu infraestructura se implemente correctamente:
-
Inicializar los módulos:
Usa el comando
terraform initpara descargar e instalar los módulos y configuraciones necesarias. -
Planificar la infraestructura:
Ejecuta
terraform plan -out=plan.outpara revisar los componentes que se crearán, modificando la infraestructura. -
Formatear código:
Asegúrate de mantener tu código estructurado mediante
terraform fmt --recursive. -
Aplicar cambios:
Ejecuta
terraform apply plan.outpara desplegar los recursos descritos en tu plan. -
Verificar la implementación:
Revisa el portal de Azure para confirmar que los recursos se han desplegado correctamente. Descarga el archivo RDP y realiza las pruebas necesarias.
-
Limpiar recursos:
Cuando hayas terminado las pruebas, usa
terraform destroypara eliminar los recursos y evitar costos adicionales en tu suscripción de Azure.
La gestión eficiente de infraestructuras con múltiples módulos en Terraform te permite no solo reducir la duplicidad de código sino también mantener un entorno limpio y organizado. Continúa explorando las posibilidades de Terraform y optimiza aún más tus implementaciones en la nube. ¡Mucho éxito!