Hantera state drift och avstämning
Upptäck, diagnostisera och åtgärda drift – skillnaden mellan Terraform-state och den verkliga infrastrukturen – innan den orsakar driftstopp eller oväntade ändringar.
Hantera state drift och avstämning är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad är drift?
Drift uppstår när den verkliga infrastrukturen ändras utanför Terraform, när en utvecklare justerar en inställning i konsolen eller när ett annat verktyg ändrar en resurs. Då skiljer sig state från verkligheten, och nästa apply kan oväntat återställa eller skriva över ändringarna.
Upptäck drift med plan
En vanlig terraform plan uppdaterar state och visar skillnader. Om en resurs har drivit rapporterar planen ändringar som ni inte har gjort i koden.
terraform planPlanen med endast uppdatering
Om ni vill se drift utan att föreslå konfigurationsändringar använder ni en plan med refresh-only. Den uppdaterar state så att det överensstämmer med verkligheten och visar vad som skiljer sig.
terraform plan -refresh-onlyLäsa driftrapporten
Terraform markerar attribut som har drivit med den ändring som upptäcktes. Ett tilde-tecken anger en ändring på plats; ett minus/plus-par anger att ett värde lades till eller togs bort utanför Terraform.
# aws_instance.web has changed
~ instance_type = "t3.micro" -> "t3.small"Två sätt att korrigera
När ni upptäcker drift väljer ni riktning:
- Acceptera verkligheten — uppdatera koden så att den matchar det nya tillståndet.
- Återställ koden — kör apply för att återställa infrastrukturen till det som konfigurationen anger.
Acceptera drift i state
Om den manuella ändringen var avsiktlig kör ni apply -refresh-only för att registrera verkligheten i state. Uppdatera sedan koden så att den överensstämmer, så att framtida planer blir rena.
terraform apply -refresh-onlyÅterställa drift
Om ändringen inte var auktoriserad återställer en vanlig terraform apply infrastrukturen till den deklarerade konfigurationen och ångrar den manuella ändringen.
terraform applyRikta in sig på en enskild resurs
För en avgränsad korrigering begränsar -target åtgärden till en resurs. Använd det sparsamt; det kan dölja mer omfattande drift.
terraform apply -target=aws_instance.webFörhindra falsk drift
Vissa attribut hanteras av AWS eller andra verktyg. Använd ignore_changes så att Terraform slutar konkurrera om dem.
resource "aws_instance" "web" {
lifecycle {
ignore_changes = [tags["LastScanned"]]
}
}Kontinuerlig driftdetektering
Upptäck drift tidigt genom att köra en schemalagd plan med endast uppdatering i CI. Terraform Cloud erbjuder inbyggd driftdetektering som varnar när state och verklighet skiljer sig åt.
on:
schedule:
- cron: "0 6 * * *"Kultur slår verktyg
Det bästa sättet att förebygga drift är en process: begränsa skrivåtkomst i konsolen, styr alla ändringar genom Terraform och behandla manuella ändringar som incidenter. Verktyg upptäcker drift; disciplin förhindrar den.
Snabbtest
Testa era kunskaper om driftshantering.
Sammanfattning: Håll state korrekt
Ni kan nu hantera drift:
- Upptäck den med
planellerplan -refresh-only. - Acceptera den via
apply -refresh-onlyoch en koduppdatering. - Återställ den med en vanlig
apply. - Använd
ignore_changesoch schemalagda kontroller för att ligga steget före.
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Hantera state drift och avstämning” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Hantera state drift och avstämning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Hantera state drift och avstämning”?
Upptäck, diagnostisera och åtgärda drift – skillnaden mellan Terraform-state och den verkliga infrastrukturen – innan den orsakar driftstopp eller oväntade ändringar. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Hantera state drift och avstämning”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Felsöka Terraform-konfigurationer
- Strategier för prestandaoptimering
- Katastrofåterställning med Terraform
- Hantera state drift och avstämning