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
-locke-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
}
}