Sobes.tech
Junior — Middle

Como evitar a exclusão acidental de um arquivo de estado no Terraform?

sobes.tech IA

Resposta da IA

Para evitar a exclusão acidental do ficheiro de estado no Terraform, podem ser utilizados vários métodos:

  • Bloqueio de estado: Ao usar um backend remoto (por exemplo, S3 com DynamoDB, Terraform Cloud), o bloqueio de estado é ativado, impedindo alterações simultâneas e exclusões acidentais.

  • Cópias de segurança: Guardar cópias de segurança do ficheiro de estado regularmente para poder restaurá-lo em caso de exclusão.

  • Restrição de permissões: Configurar permissões de acesso ao ficheiro de estado e ao armazenamento para que apenas utilizadores autorizados possam modificá-lo ou eliminá-lo.

  • Uso das opções -lock e -lock-timeout: Ao executar comandos do Terraform, pode-se ativar explicitamente o bloqueio para evitar conflitos.

  • Implementação de processos de revisão e controlo: Por exemplo, usar CI/CD, onde as alterações de estado são verificadas.

Exemplo de configuração de um backend remoto com bloqueio no S3:

terraform {
  backend "s3" {
    bucket         = "my-terraform-state"
    key            = "path/to/my/key"
    region         = "us-east-1"
    dynamodb_table = "terraform-lock"
    encrypt        = true
  }
}