- 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
Implementación de Estado Remoto en Terraform con GitHub Actions
Clase 36 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 configurar un estado remoto con Github Actions y Terraform?
Establecer un estado remoto es esencial para un manejo eficiente de la infraestructura como código. Este proceso implica almacenar el estado de la infraestructura en un servicio de almacenamiento en la nube, lo que facilita la colaboración y mantiene todo bajo control incluso cuando utilizamos herramientas como Github Actions y Terraform.
¿Cómo almacenar el estado remoto en Azure?
Para preservar y gestionar el estado remoto usando Azure, es necesario seguir algunos pasos clave:
-
Crear un contenedor de almacenamiento: Identifica tu cuenta de almacenamiento de Azure. Luego, dentro de esta, crea un contenedor específico para almacenar estados remotos de Terraform. En este caso, el contenedor se nombró
github-actions-state. -
Generar un SAS Token: Este token permite el acceso al contenedor de almacenamiento. Configura un contrato de acceso compartido (SAS) desde Azure y defínelo para tener acceso de solo lectura. Elige un periodo de expiración razonable—una semana generalmente es adecuado para pruebas.
-
Configurar Terraform: Incluye un archivo
backend.tfen tu proyecto. Este archivó coordina la comunicación entre Terraform y el contenedor de almacenamiento en Azure. Aquí, asegúrate de precisar el contenedor correcto y usar el SAS Token.
// Ejemplo de contenido del archivo backend.tf
terraform {
backend "azurerm" {
storage_account_name = "<tu_nombre_de_cuenta>"
container_name = "github-actions-state"
key = "terraform.tfstate"
}
}
¿Cómo integrar los secretos en GitHub?
GitHub facilita el manejo seguro de secretos necesarios para despliegues automáticos con Actions:
-
Crear un secreto en GitHub: Dirígete a la sección de ajustes de tu repositorio, bajo "Secrets", agrega un secreto nuevo llamado
SAS_TOKEN, asignándole el valor del SAS Token generado previamente. -
Actualizar el archivo de configuración de GitHub Actions: En tu flujo de trabajo de GitHub Actions, configura el uso del
SAS_TOKENpara inicializar Terraform.
// Ejemplo de configuración YAML
- name: Set up Terraform
run: terraform init -backend-config="SAS_TOKEN=${{ secrets.SAS_TOKEN }}"
¿Cómo realizar cambios y confirmar desde la terminal?
Cada cambio en el código fuente debe ser registrado y subido para que las acciones en GitHub lo procesen. Aquí te explicamos cómo realizar estos pasos eficientemente:
-
Verificar cambios: Usa
git statuspara ver qué archivos han sido modificados. -
Agregar cambios: Ejecuta
git add <archivo>para registrar los cambios en tu sistema de control de versiones. -
Registrar commit: Usa
git commit -m "mensaje"para documentar tus modificaciones. Por ejemplo,git commit -m "Actualizar archivo con estado remoto". -
Enviar al repositorio: Con
git push, sube los cambios a tu repositorio en GitHub. Esto detonará tus flujos de trabajo configurados.
¿Qué sigue después de configurar todo?
Una vez integrados todos los elementos, la magia de la automatización se hace evidente. Al confirmar un nuevo bloque o recurso dentro de tu archivo main.tf, automáticamente se desplegará sin necesidad de ejecutar comandos manuales de Terraform gracias a GitHub Actions. El control se simplifica. Así, cada elemento añadido en Terraform aprovechará automáticamente la infraestructura preexistente y almacenará estados eficientemente.
Prácticas como estas llevan el DevOps a otro nivel, optimizando el flujo de trabajo y garantizando la consistencia de la infraestructura. ¡Continúa explorando y dominando el fantástico mundo de la automatización y despliegue con Terraform y GitHub!