0Pricing
Terraform Infrastructure as Code · Aula

Usando espaços de trabalho para ambientes

Explore os espaços de trabalho do Terraform para gerenciar estados separados para diferentes ambientes (por exemplo, desenvolvimento, homologação e produção) na mesma configuração.

Usando espaços de trabalho para ambientes é uma aula grátis de Terraform Infrastructure as Code no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Terraform Infrastructure as Code, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Terraform Infrastructure as Code inclui 4 aulas no total.

O que são os espaços de trabalho do Terraform?

Os espaços de trabalho do Terraform ajudam você a gerenciar vários estados distintos para a mesma configuração do Terraform. Pense neles como ambientes separados, como 'desenvolvimento', 'preparação' ou 'produção'.

Isso significa que você pode usar o mesmo conjunto de arquivos .tf para implantar a infraestrutura em locais diferentes sem alterar o código, promovendo reutilização e consistência.

O espaço de trabalho 'default'

Quando você inicializa o Terraform pela primeira vez em um diretório (usando terraform init), passa automaticamente a usar o espaço de trabalho default.

Todas as suas operações iniciais de terraform apply armazenarão o estado nesse espaço de trabalho default, a menos que você crie e selecione outro. Ele está sempre presente!

Criando novos espaços de trabalho

Para criar um novo ambiente, use o comando terraform workspace new. Esse comando também muda automaticamente o contexto atual para o espaço de trabalho recém-criado.

Vamos criar um espaço de trabalho dev:

terraform workspace new dev

Em seguida, o Terraform criará um estado separado para esse ambiente dev.

Listando os espaços de trabalho disponíveis

Você pode ver todos os espaços de trabalho disponíveis no diretório atual de configuração usando o comando terraform workspace list.

O espaço de trabalho ativo no momento será marcado com um asterisco (*), ajudando você a acompanhar seus diferentes ambientes.

terraform workspace list

Alternando entre espaços de trabalho

Para alternar entre espaços de trabalho existentes, use o comando terraform workspace select, seguido do nome do espaço de trabalho. Esse comando muda o ambiente ativo.

Vamos voltar ao espaço de trabalho default:

terraform workspace select default

Quaisquer operações posteriores do Terraform terão como destino o estado do ambiente default.

Usando 'terraform.workspace'

Você pode tornar suas configurações dinâmicas fazendo referência ao nome do espaço de trabalho atual por meio da variável integrada terraform.workspace. Isso é perfeito para nomear recursos ou definir etiquetas específicas do ambiente.

Experimente executar este exemplo. Primeiro, execute terraform init, depois terraform workspace new dev e, por fim, terraform apply. Observe o nome e as etiquetas do 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
}

Arquivos de estado isolados

O aspecto mais importante dos espaços de trabalho é que cada um mantém seu próprio arquivo de estado completamente separado.

Isso significa que os recursos implantados no espaço de trabalho dev não interferirão nos recursos do espaço de trabalho prod, mesmo que sejam definidos pelos mesmos arquivos de configuração. O Terraform gerencia esses arquivos de estado em um diretório oculto (.terraform/environments) dentro do seu diretório de trabalho.

Excluindo espaços de trabalho

Quando um ambiente não for mais necessário, você poderá excluir o espaço de trabalho dele usando terraform workspace delete <name>.

  • Importante: você não pode excluir o espaço de trabalho atualmente ativo.
  • Crucial: certifique-se sempre de ter destruído todos os recursos associados a esse espaço de trabalho usando terraform destroy antes de excluí-lo. Caso contrário, poderão restar recursos órfãos!
terraform workspace select default
terraform workspace delete dev

Espaços de trabalho versus diretórios separados

Embora os espaços de trabalho sejam excelentes para pequenas variações da mesma configuração, nem sempre são a melhor opção. Considere estes pontos:

  • Espaços de trabalho: ideais para pequenas diferenças entre ambientes (por exemplo, quantidade de recursos e etiquetas), mantendo o mesmo projeto básico de infraestrutura.
  • Diretórios separados: melhores para projetos de infraestrutura significativamente diferentes ou quando equipes diferentes gerenciam ambientes completamente separados.

Escolha a abordagem que melhor se adapta à complexidade do seu projeto e à estrutura da sua equipe.

Verificação dos espaços de trabalho

Você aprendeu sobre os espaços de trabalho do Terraform. Vamos testar seu entendimento.

Recapitulação: espaços de trabalho para ambientes

Ótimo trabalho! Você explorou os espaços de trabalho do Terraform, um recurso poderoso para gerenciar vários ambientes a partir de uma única configuração. Lembre-se destes pontos principais:

  • Os espaços de trabalho fornecem arquivos de estado isolados para ambientes diferentes (por exemplo, dev e prod).
  • Use terraform workspace new, list e select para gerenciá-los.
  • A variável terraform.workspace permite configurações dinâmicas e específicas do ambiente.
  • Sempre destrua os recursos antes de excluir um espaço de trabalho para evitar infraestrutura órfã.

Isso permite uma implantação de infraestrutura flexível e organizada!

Perguntas Frequentes

A aula “Usando espaços de trabalho para ambientes” é grátis?

Sim — o texto completo de “Usando espaços de trabalho para ambientes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Terraform Infrastructure as Code, atualize para CoddyKit PRO. O curso de Terraform Infrastructure as Code inclui 4 aulas no total.

O que vou aprender em “Usando espaços de trabalho para ambientes”?

Explore os espaços de trabalho do Terraform para gerenciar estados separados para diferentes ambientes (por exemplo, desenvolvimento, homologação e produção) na mesma configuração. Você pratica Terraform Infrastructure as Code com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Terraform Infrastructure as Code?

Nenhuma experiência prévia é necessária. Terraform Infrastructure as Code no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Usando espaços de trabalho para ambientes”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Terraform Infrastructure as Code?

Sim. Cada aula de Terraform Infrastructure as Code inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Introdução aos Módulos do Terraform
  2. Criação de Módulos Reutilizáveis
  3. Usando espaços de trabalho para ambientes
  4. Publicando módulos em um registro
← Voltar para Terraform Infrastructure as Code