Aprender a desplegar recursos en Azure con Terraform se vuelve mucho más claro cuando ves los comandos básicos en acción. Aquí recapitulamos cómo usar Terraform Init, Terraform Plan y Terraform Apply para crear tu primer grupo de recursos, replicando un ejercicio que vive en el repositorio del curso en GitHub.
¿Cómo organizo mi repositorio para empezar con Terraform?
Antes de escribir comandos, conviene tener una estructura clara dentro de tu repositorio. Esto te ahorra confusiones cuando el proyecto crezca y empieces a sumar módulos o ambientes.
Dentro del repositorio del curso de Terraform en GitHub, abre la carpeta en VS Code y crea un folder llamado comandos basicos (sin acentos, porque los acentos en nombres de carpetas suelen dar problemas). Dentro de ese folder, agrega un archivo main.tf, que será el punto de partida de tu configuración.
En ese archivo defines tres bloques:
- El proveedor de Terraform, que indica con qué nube vas a trabajar.
- Los features y el subscription ID de AzureRM, para que
terraform plan no marque advertencias.
- El recurso
azurerm_resource_group, donde defines el grupo de recursos que quieres crear.
En este caso, el grupo se llama mi primer grupo Amin en lugar de mi primer grupo Platzi, solo para diferenciarlo del ejemplo anterior.
¿Cuáles son los tres comandos básicos de Terraform?
Una vez que tienes tu main.tf listo, el flujo es siempre el mismo. Te paras en la carpeta correcta con cd comandos basicos, confirmas con ls que ahí esté tu main.tf y ejecutas la secuencia.
¿Qué hace Terraform Init? Inicializa el directorio de trabajo, descarga el proveedor que declaraste (en este caso AzureRM) y deja todo listo para planear. Solo se ejecuta la primera vez o cuando cambias proveedores.
Después viene el plan:
bash
terraform plan -out plan.out
Este comando calcula qué va a pasar si aplicas tu configuración y guarda ese plan en un archivo llamado plan.out. Es tu vista previa antes de tocar la nube.
Y al final, el apply:
bash
terraform apply plan.out
¿Para qué sirve guardar el plan en plan.out? Sirve para que terraform apply ejecute exactamente lo que viste en el plan, sin sorpresas ni cambios de último momento entre el plan y la aplicación.
¿Cómo confirmo que el recurso se creó en Azure?
Cuando corres terraform apply plan.out, la terminal empieza a darte retroalimentación cada 10 segundos mientras crea el grupo de recursos. En cuanto aparece el mensaje de apply complete, el recurso ya existe en tu suscripción.
Para comprobarlo, entras al portal de Azure, das refresh en la sección de grupos de recursos y ahí aparece tu nuevo grupo creado desde código. Esa es la magia de Infraestructura como Código: lo que escribiste en main.tf se traduce en un recurso real y verificable.
¿Cuándo necesito volver a correr Terraform Init? Solo cuando inicias un proyecto nuevo o cambias de proveedor. En el día a día, tu ciclo será únicamente plan y apply para remodelar el proyecto.
Conceptos clave que aparecen en el ejercicio
Para que cada comando tenga sentido, vale la pena anclar los términos que se usaron en la práctica.
- Terraform Init [0:54]: prepara el directorio descargando proveedores y módulos necesarios.
- Terraform Plan con flag -out [1:05]: genera y guarda el plan de ejecución en un archivo reutilizable.
- Terraform Apply [1:19]: ejecuta el plan guardado y crea los recursos en la nube.
- Proveedor AzureRM [0:48]: el plugin que conecta Terraform con Azure, configurado con features y subscription ID.
- Recurso azurerm_resource_group [0:51]: el bloque que declara un grupo de recursos en Azure como tu primera unidad de organización.
Con esta secuencia ya tienes el patrón mental que vas a repetir en proyectos más grandes: declarar, planear, aplicar y verificar. Si replicaste el ejercicio desde el repositorio del curso, cuéntame en los comentarios qué nombre le pusiste a tu primer grupo de recursos.