Contenido del curso

Módulos en Terraform

Cómo crear tu primer resource group con Terraform

Resumen

Crear un grupo de recursos en Azure con Terraform es el primer paso para desplegar infraestructura como código de forma ordenada y reproducible. Aquí aprenderás a declarar el recurso, definir su ubicación e inicializar Terraform para dejar todo listo antes del despliegue.

¿Qué es un grupo de recursos en Azure y por qué empezar por ahí?

Dentro del portal de Azure, la primera categoría que encuentras es la de grupos de recursos. Funcionan como contenedores lógicos para organizar lo que despliegas según tu criterio: por equipos, proyectos, clientes o cualquier lógica que tenga sentido para tu operación.

Mentalmente hablando, un resource group es la forma en que Azure sabe a qué categoría pertenece cada cosa que creas. Y por eso mismo es el primer recurso natural que vas a declarar en Terraform.

¿Qué es un grupo de recursos en Azure? Es un contenedor lógico que agrupa servicios relacionados dentro de tu suscripción. Te permite administrar permisos, costos y ciclo de vida de varios recursos como una sola unidad.

¿Cómo declaro el bloque resource para un resource group?

Después de configurar el proveedor en tu archivo main.tf, escribes la palabra clave resource y el IntelliSense de VS Code te sugiere los bloques disponibles. Al escribir azurerm_resource_group aparece la categoría exacta que necesitas [01:25].

Un ejemplo mínimo se ve así:

hcl resource "azurerm_resource_group" "rg" { name = "mi-primer-grupo-platzi" location = "Mexico Central" }

Las extensiones de Visual Studio Code marcan en rojo los atributos que faltan. Al seleccionar la advertencia, te indica que location es obligatorio, y luego que name también lo es. Esa retroalimentación inmediata evita errores antes de ejecutar cualquier comando.

¿Cómo elijo la ubicación correcta para desplegar?

Microsoft tiene centros de datos por todo el planeta, y la región que escojas impacta directamente en la latencia. Entre más cerca esté la región de tu geografía, más rápido responden los recursos.

Para ver todas las ubicaciones disponibles dentro de tu suscripción, ejecuta este comando en la terminal [02:30]:

bash az account list-locations

El resultado es un archivo JSON con regiones como:

  • Brazil Southeast.
  • Mexico Central.
  • Israel Central.
  • Italy North.
  • Regiones en África y Asia.

De esa lista eliges la que mejor se adapte a tu proyecto y la pegas como valor del atributo location.

¿Qué hace terraform init y qué archivos genera?

Una vez que tu bloque queda configurado y sin errores, llega el momento de inicializar Terraform. Desde la terminal, parado en la misma carpeta del archivo main.tf, ejecutas [03:45]:

bash terraform init

Este comando descarga e instala el proveedor azurerm y prepara el directorio de trabajo. Cuando termina, deberías ver el mensaje de que Terraform fue inicializado exitosamente y que ya puedes empezar a trabajar.

¿Qué hace terraform init? Inicializa el directorio de trabajo, descarga los proveedores declarados y prepara el backend. Es el comando obligatorio antes de planear o aplicar cualquier cambio.

Al regresar a VS Code vas a notar dos elementos nuevos en tu proyecto:

  1. El archivo .terraform.lock.hcl, que registra las versiones exactas de los proveedores y se reescribe cuando hay cambios.
  2. La carpeta .terraform, donde se descargan los proveedores. Su tamaño depende de cuántos uses y puede crecer a varios gigas en proyectos grandes.

¿Qué sigue después de inicializar Terraform?

Con el proveedor descargado y la configuración validada, Terraform ya puede evaluar los recursos declarados antes de desplegarlos. Ese es el siguiente paso natural en el flujo: planear y aplicar para que el grupo de recursos exista realmente en tu suscripción de Azure.

Si estás siguiendo el ejercicio en tu propia cuenta, cuéntame en los comentarios qué región elegiste y por qué.