Conceito e mecanismo
O state liga endereços da configuração a objetos remotos e guarda informação necessária a operações futuras. Não substitui backup dos dados da aplicação nem prova que todos os objetos remotos estão corretos. Mantém uma associação coerente entre cada instância gerida e o objeto correspondente. Uma cópia antiga de state não desfaz operações já realizadas na cloud. Para colaboração, define backend, acesso, retenção, recuperação e locking suportado. O lock de state coordena escritores; é diferente do ficheiro que fixa providers. Se outro processo mantém um lock, começar uma segunda execução com lock=false pode criar concorrência indevida. Investiga proprietário e estado da execução antes de tentar desbloquear.
Aplicação guiada
Num cenário fictício, o terminal de um operador perdeu ligação durante apply e outra equipa encontra o lock. A ligação perdida não demonstra que a execução acabou. Confirma o processo no executor e o estado remoto; force-unlock só faz sentido para o próprio lock cuja libertação automática falhou, sem escritor ativo. No backend S3, use_lockfile ativa locking e requer permissões específicas sobre o objeto de lock; armazenar state remotamente não ativa todos os controlos por si só. O mecanismo documentado de locking por DynamoDB está deprecated; revê a migração antes de reutilizar um template antigo. Numa migração de backend, migrate-state tenta copiar o state, enquanto reconfigure não migra o existente. Faz a escolha com origem, destino e cópia de segurança confirmados. CLI workspaces partilham backend e não constituem isolamento forte para credenciais e equipas separadas.
Ligação ao terminal perdida é um sintoma de observação; o apply pode continuar no executor.
Armadilhas comuns
State como backup da base; force-unlock por impaciência; workspace como fronteira de segurança.
Tópicos relacionados: Configuração e dependências · Planos e validação · Módulos e identidade
Preserva associações e garante um escritor coordenado sobre o state.
Referência: State bindings and secure storage · Terraform v1.16 concepts; official documentation consulted 2026-09-30; provider and backend capabilities must be confirmed