Gerenciando divergências de estado e reconciliação
Detecte, diagnostique e reconcilie divergências — a diferença entre o estado do Terraform e a infraestrutura real — antes que causem indisponibilidades ou alterações inesperadas.
Gerenciando divergências de estado e reconciliação é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 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 DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que é Drift?
Drift ocorre quando a infraestrutura real muda fora do Terraform, quando um engenheiro ajusta uma configuração no console ou quando outra ferramenta modifica um recurso. Nesse momento, o estado e a realidade divergem, e o próximo apply pode reverter ou sobrescrever essas alterações inesperadamente.
Detectando Drift com plan
Um terraform plan simples atualiza o estado e mostra as diferenças. Se um recurso apresentar drift, o plano informa alterações que você não fez no código.
terraform planO Plano Somente para Atualização
Para ver o drift sem propor alterações na configuração, use um plano somente para atualização. Ele atualiza o estado para corresponder à realidade e mostra o que é diferente.
terraform plan -refresh-onlyLendo o Relatório de Drift
O Terraform marca os atributos com drift junto da alteração detectada. Um til indica uma alteração no local; um par menos/mais indica que um valor foi adicionado ou removido fora do Terraform.
# aws_instance.web has changed
~ instance_type = "t3.micro" -> "t3.small"Duas Formas de Reconciliar
Ao encontrar drift, você escolhe uma direção:
- Aceitar a realidade — atualize seu código para corresponder ao novo estado.
- Restaurar o código — faça apply para devolver a infraestrutura ao que a configuração declara.
Aceitando o Drift no Estado
Se a alteração manual foi intencional, execute apply -refresh-only para registrar a realidade no estado e depois atualize seu código para corresponder a ela, mantendo os planos futuros limpos.
terraform apply -refresh-onlyRevertendo o Drift
Se a alteração não foi autorizada, um terraform apply normal devolve a infraestrutura à configuração declarada, desfazendo a edição manual.
terraform applyDirecionando para um Único Recurso
Para uma correção específica, -target limita a operação a um recurso. Use com moderação; ele pode ocultar um drift mais amplo.
terraform apply -target=aws_instance.webEvitando Drift Espúrio
Alguns atributos são gerenciados pela AWS ou por outras ferramentas. Use ignore_changes para que o Terraform pare de tentar controlá-los.
resource "aws_instance" "web" {
lifecycle {
ignore_changes = [tags["LastScanned"]]
}
}Detecção Contínua de Drift
Detecte o drift cedo executando um plano agendado somente para atualização na CI. O Terraform Cloud oferece detecção de drift integrada, que alerta quando o estado e a realidade divergem.
on:
schedule:
- cron: "0 6 * * *"A Cultura Supera as Ferramentas
A melhor prevenção contra drift é o processo: restrinja o acesso de escrita ao console, encaminhe todas as alterações pelo Terraform e trate edições manuais como incidentes. As ferramentas detectam o drift; a disciplina o evita.
Verificação Rápida
Teste seus conhecimentos sobre gerenciamento de drift.
Recapitulação: Mantendo o Estado Confiável
Agora você consegue lidar com drift:
- Detecte-o com
planouplan -refresh-only. - Aceite-o usando
apply -refresh-onlye atualizando o código. - Reverta-o com um
applynormal. - Use
ignore_changese verificações agendadas para se antecipar ao problema.
Perguntas Frequentes
A aula “Gerenciando divergências de estado e reconciliação” é grátis?
Sim — o texto completo de “Gerenciando divergências de estado e reconciliação” é 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 DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Gerenciando divergências de estado e reconciliação”?
Detecte, diagnostique e reconcilie divergências — a diferença entre o estado do Terraform e a infraestrutura real — antes que causem indisponibilidades ou alterações inesperadas. Você pratica DevOps Bootcamp 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 DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp 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 4 de 4.
Quanto tempo leva a aula “Gerenciando divergências de estado e reconciliação”?
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 DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp 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
- Depuração de configurações do Terraform
- Estratégias de otimização de desempenho
- Recuperação de desastres com Terraform
- Gerenciando divergências de estado e reconciliação