0Pricing
DevOps Bootcamp · Lección

Uso de espacios de trabajo para entornos

Explore los espacios de trabajo de Terraform para gestionar estados independientes para distintos entornos (por ejemplo, desarrollo, pruebas y producción) dentro de la misma configuración.

Uso de espacios de trabajo para entornos es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué son los workspaces de Terraform?

Los workspaces de Terraform le ayudan a administrar varios estados independientes para la misma configuración de Terraform. Considérelos como entornos separados, como «dev», «staging» o «prod».

Esto significa que puede utilizar el mismo conjunto de archivos .tf para implementar infraestructura en distintos lugares sin cambiar el código, lo que favorece la reutilización y la coherencia.

El workspace «default»

Cuando inicializa Terraform por primera vez en un directorio (mediante terraform init), utiliza automáticamente el workspace default.

Todas las operaciones iniciales de terraform apply almacenarán su estado en este workspace default, a menos que cree y seleccione otro. ¡Siempre está presente!

Crear nuevos workspaces

Para crear un entorno nuevo, utilice el comando terraform workspace new. Este comando también cambia automáticamente el contexto actual al workspace recién creado.

Vamos a crear un workspace dev:

terraform workspace new dev

Terraform creará entonces un estado independiente para este entorno dev.

Enumerar los workspaces disponibles

Puede ver todos los workspaces disponibles en el directorio de configuración actual mediante el comando terraform workspace list.

El workspace activo aparecerá marcado con un asterisco (*), lo que le ayudará a llevar un control de sus distintos entornos.

terraform workspace list

Cambiar de workspace

Para cambiar entre workspaces existentes, utilice el comando terraform workspace select, seguido del nombre del workspace. Este comando cambia el entorno activo.

Vamos a volver al workspace default:

terraform workspace select default

A partir de ahora, las operaciones posteriores de Terraform se dirigirán al estado del entorno default.

Usar «terraform.workspace»

Puede hacer que sus configuraciones sean dinámicas haciendo referencia al nombre del workspace actual mediante la variable integrada terraform.workspace. Es ideal para asignar nombres a recursos o establecer etiquetas específicas del entorno.

Pruebe a ejecutar este ejemplo. Primero, ejecute terraform init, después terraform workspace new dev y, por último, terraform apply. Observe el nombre y las etiquetas del bucket.

provider "aws" {
  region = "us-east-1" # Or your preferred region
}

resource "aws_s3_bucket" "example" {
  bucket = "my-unique-bucket-${terraform.workspace}-12345"
  acl    = "private"

  tags = {
    Environment = terraform.workspace
    ManagedBy   = "CoddyKit"
  }
}

output "bucket_name" {
  description = "Name of the S3 bucket created."
  value       = aws_s3_bucket.example.bucket
}

Archivos de estado aislados

El aspecto más importante de los workspaces es que cada uno mantiene su propio archivo de estado completamente independiente.

Esto significa que los recursos implementados en el workspace dev no interferirán con los del workspace prod, aunque estén definidos por los mismos archivos de configuración. Terraform administra estos archivos de estado en un directorio oculto (.terraform/environments) dentro del directorio de trabajo.

Eliminar workspaces

Cuando ya no necesite un entorno, puede eliminar su workspace mediante terraform workspace delete <name>.

  • Importante: No puede eliminar el workspace activo.
  • Fundamental: Asegúrese siempre de haber destruido todos los recursos asociados a ese workspace mediante terraform destroy antes de eliminarlo. De lo contrario, ¡podrían quedar recursos huérfanos!
terraform workspace select default
terraform workspace delete dev

Workspaces frente a directorios independientes

Aunque los workspaces son excelentes para pequeñas variaciones de una misma configuración, no siempre son la mejor opción. Tenga en cuenta lo siguiente:

  • Workspaces: Son ideales para pequeñas diferencias entre entornos (por ejemplo, cantidades de recursos o etiquetas) cuando se mantiene el mismo diseño de infraestructura principal.
  • Directorios independientes: Son más adecuados para diseños de infraestructura significativamente diferentes o cuando distintos equipos administran entornos completamente separados.

Elija el enfoque que mejor se adapte a la complejidad de su proyecto y a la estructura de su equipo.

Comprobación de workspaces

Ha aprendido sobre los workspaces de Terraform. Comprobemos sus conocimientos.

Repaso: workspaces para entornos

¡Excelente trabajo! Ha explorado los workspaces de Terraform, una potente función para administrar varios entornos desde una sola configuración. Recuerde estas ideas clave:

  • Los workspaces proporcionan archivos de estado aislados para distintos entornos (por ejemplo, dev y prod).
  • Utilice terraform workspace new, list y select para administrarlos.
  • La variable terraform.workspace permite crear configuraciones dinámicas y específicas del entorno.
  • Destruya siempre los recursos antes de eliminar un workspace para evitar que quede infraestructura huérfana.

¡Esto permite implementar infraestructura de forma flexible y organizada!

Preguntas frecuentes

¿La lección «Uso de espacios de trabajo para entornos» es gratis?

Sí — el texto completo de «Uso de espacios de trabajo para entornos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Uso de espacios de trabajo para entornos»?

Explore los espacios de trabajo de Terraform para gestionar estados independientes para distintos entornos (por ejemplo, desarrollo, pruebas y producción) dentro de la misma configuración. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Uso de espacios de trabajo para entornos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Introducción a los módulos de Terraform
  2. Creación de módulos reutilizables
  3. Uso de espacios de trabajo para entornos
  4. Publicación de módulos en un registro
← Volver a DevOps Bootcamp