Gestire il drift dello state e la riconciliazione
Rilevi, analizzi e riconcili il drift, ovvero la differenza tra lo state di Terraform e l'infrastruttura reale, prima che causi interruzioni o modifiche impreviste.
Gestire il drift dello state e la riconciliazione è una lezione Terraform Infrastructure as Code gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Terraform Infrastructure as Code, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Terraform Infrastructure as Code include 4 lezioni in totale.
Che cos'è lo drift?
Lo drift si verifica quando l'infrastruttura reale cambia al di fuori di Terraform, ad esempio quando un tecnico modifica un'impostazione nella console o un altro strumento modifica una risorsa. A quel punto lo stato e la realtà non coincidono più e il successivo apply potrebbe annullare o sovrascrivere tali modifiche in modo imprevisto.
Rilevare lo drift con plan
Un normale terraform plan aggiorna lo stato e mostra le differenze. Se una risorsa presenta drift, il plan segnala modifiche che non sono state apportate nel codice.
terraform planIl plan di sola sincronizzazione
Per visualizzare lo drift senza proporre modifiche alla configurazione, utilizzi un plan di sola sincronizzazione. Questo aggiorna lo stato affinché corrisponda alla realtà e mostra le differenze.
terraform plan -refresh-onlyLeggere il report dello drift
Terraform contrassegna gli attributi soggetti a drift con la modifica rilevata. Una tilde indica una modifica sul posto; una coppia meno/più indica che un valore è stato aggiunto o rimosso al di fuori di Terraform.
# aws_instance.web has changed
~ instance_type = "t3.micro" -> "t3.small"Due modi per riconciliare lo stato
Quando rileva dello drift, deve scegliere una direzione:
- Accettare la realtà — aggiorni il codice affinché corrisponda al nuovo stato.
- Ripristinare il codice — esegua l'apply per riportare l'infrastruttura a quanto dichiarato dalla configurazione.
Accettare lo drift nello stato
Se la modifica manuale era intenzionale, esegua apply -refresh-only per registrare la realtà nello stato, quindi aggiorni il codice affinché corrisponda, così i plan futuri non mostreranno differenze.
terraform apply -refresh-onlyRipristinare lo drift
Se la modifica non era autorizzata, un normale terraform apply riporta l'infrastruttura alla configurazione dichiarata, annullando la modifica manuale.
terraform applyIndirizzare una singola risorsa
Per una correzione mirata, -target limita l'operazione a una sola risorsa. Lo utilizzi con moderazione: può nascondere uno drift più ampio.
terraform apply -target=aws_instance.webPrevenire lo drift spurio
Alcuni attributi sono gestiti da AWS o da altri strumenti. Utilizzi ignore_changes affinché Terraform smetta di modificarli.
resource "aws_instance" "web" {
lifecycle {
ignore_changes = [tags["LastScanned"]]
}
}Rilevamento continuo dello drift
Rilevi tempestivamente lo drift eseguendo in CI un plan di sola sincronizzazione pianificato. Terraform Cloud offre il rilevamento dello drift integrato, che invia un avviso quando lo stato e la realtà divergono.
on:
schedule:
- cron: "0 6 * * *"La cultura supera gli strumenti
La prevenzione migliore dello drift è una questione di processo: limiti l'accesso in scrittura alla console, faccia passare tutte le modifiche da Terraform e tratti le modifiche manuali come incidenti. Gli strumenti rilevano lo drift; la disciplina lo previene.
Verifica rapida
Verifichi le Sue conoscenze sulla gestione dello drift.
Riepilogo: mantenere coerente lo stato
Ora sa gestire lo drift:
- Lo rilevi con
planoplan -refresh-only. - Lo accetti tramite
apply -refresh-onlyinsieme a un aggiornamento del codice. - Lo ripristini con un normale
apply. - Utilizzi
ignore_changese controlli pianificati per prevenirlo.
Domande Frequenti
La lezione «Gestire il drift dello state e la riconciliazione» è gratuita?
Sì — il testo completo di «Gestire il drift dello state e la riconciliazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Terraform Infrastructure as Code, passa a CoddyKit PRO. Il corso Terraform Infrastructure as Code include 4 lezioni in totale.
Cosa imparerò in «Gestire il drift dello state e la riconciliazione»?
Rilevi, analizzi e riconcili il drift, ovvero la differenza tra lo state di Terraform e l'infrastruttura reale, prima che causi interruzioni o modifiche impreviste. Eserciti Terraform Infrastructure as Code con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Terraform Infrastructure as Code?
Non è richiesta alcuna esperienza precedente. Terraform Infrastructure as Code su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Gestire il drift dello state e la riconciliazione»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Terraform Infrastructure as Code?
Sì. Ogni lezione Terraform Infrastructure as Code include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Debug delle configurazioni Terraform
- Strategie di ottimizzazione delle prestazioni
- Disaster recovery con Terraform
- Gestire il drift dello state e la riconciliazione