0%
O estado, a peça central e a mais frágil

O estado do Terraform

O único arquivo cuja perda vai custar o seu fim de semana.

10-15 min

O estado, a peça central e a mais frágil

Duas pessoas trabalham na mesma infraestrutura. A primeira adiciona uma fila de mensagens, aplica e sai para almoçar. A segunda clonou o repositório uma hora antes, com o próprio terraform.tfstate local, que não conhece a fila. Ela adiciona um banco de dados e aplica. O estado dela não contém a fila, então o Terraform deduz que a fila não existe e que não há nada a fazer com ela — até o dia em que alguém executa terraform destroy sobre um dos dois estados e destrói metade da infraestrutura, deixando a outra metade órfã, ingerenciável e sendo cobrada.

Esse cenário não acontece porque as pessoas são descuidadas. Ele acontece porque o estado padrão é um arquivo local, e um arquivo local é invisível para os outros. O estado não é um cache nem um log: é a única coisa que liga uma linha do seu código a um objeto real no provedor. Sem ele, o Terraform não sabe que aws_s3_bucket.artefacts corresponde ao bucket skillverse-artefacts-demo-4821; ele deduz que é preciso criá-lo, e tenta.

Para que serve exatamente o estado

O estado contém, para cada recurso gerenciado, seu endereço no seu código, seu identificador no provedor e uma cópia de todos os seus atributos no momento da última operação. Veja um trecho:

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!