Terraform som Infrastructure as Code · leksjon

Håndtering av tilstandsavvik og avstemming

Oppdag, diagnostiser og avstem avviket mellom Terraform-tilstanden og den faktiske infrastrukturen før det fører til driftsavbrudd eller uventede endringer.

Leksjon 4 av 413 trinn

Håndtering av tilstandsavvik og avstemming er en gratis leksjon i Terraform som Infrastructure as Code på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Terraform som Infrastructure as Code, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Terraform som Infrastructure as Code inneholder totalt 4 leksjoner.

Hva er avvik?

Avvik oppstår når den faktiske infrastrukturen endres utenfor Terraform, når en utvikler justerer en innstilling i konsollen, eller når et annet verktøy endrer en ressurs. Da er det ikke lenger samsvar mellom tilstanden og virkeligheten, og neste apply kan uventet tilbakestille eller overskrive disse endringene.

Oppdage avvik med plan

En vanlig terraform plan oppdaterer tilstanden og viser forskjeller. Hvis en ressurs har fått et avvik, rapporterer planen endringer som De ikke har gjort i koden.

terraform plan

Planen med bare oppdatering

For å se avvik uten å foreslå konfigurasjonsendringer bruker De en refresh-only-plan. Den oppdaterer tilstanden slik at den samsvarer med virkeligheten, og viser forskjellene.

terraform plan -refresh-only

Lese avviksrapporten

Terraform markerer attributter med avvik med endringen som ble oppdaget. En tilde angir en endring på stedet, mens et minus/pluss-par angir at en verdi ble lagt til eller fjernet utenfor Terraform.

# aws_instance.web has changed
  ~ instance_type = "t3.micro" -> "t3.small"

To måter å gjenopprette samsvar på

Når De finner et avvik, må De velge retning:

  • Godta virkeligheten – oppdater koden slik at den samsvarer med den nye tilstanden.
  • Gjenopprett koden – kjør apply for å føre infrastrukturen tilbake til det konfigurasjonen angir.

Ta avviket inn i tilstanden

Hvis den manuelle endringen var tilsiktet, kjører De apply -refresh-only for å registrere virkeligheten i tilstanden. Oppdater deretter koden slik at den samsvarer, slik at fremtidige planer blir uten endringer.

terraform apply -refresh-only

Tilbakestille avvik

Hvis endringen var uautorisert, fører en vanlig terraform apply infrastrukturen tilbake til den deklarerte konfigurasjonen og opphever den manuelle endringen.

terraform apply

Målrette én enkelt ressurs

For en avgrenset retting begrenser -target operasjonen til én ressurs. Bruk dette sparsomt; det kan skjule mer omfattende avvik.

terraform apply -target=aws_instance.web

Forhindre falske avvik

Noen attributter administreres av AWS eller andre verktøy. Bruk ignore_changes slik at Terraform slutter å konkurrere om dem.

resource "aws_instance" "web" {
  lifecycle {
    ignore_changes = [tags["LastScanned"]]
  }
}

Kontinuerlig avviksdeteksjon

Oppdag avvik tidlig ved å kjøre en plan med bare oppdatering etter en tidsplan i CI. Terraform Cloud tilbyr innebygd avviksdeteksjon som varsler når tilstanden og virkeligheten ikke samsvarer.

on:
  schedule:
    - cron: "0 6 * * *"

Kultur slår verktøy

Den beste forebyggingen av avvik er prosess: begrens skrivetilgang i konsollen, styr alle endringer gjennom Terraform, og behandle manuelle endringer som hendelser. Verktøy oppdager avvik; disiplin unngår dem.

Hurtigsjekk

Test kunnskapene Deres om avvikshåndtering.

Oppsummering: Holde tilstanden korrekt

De kan nå håndtere avvik:

  • Oppdag dem med plan eller plan -refresh-only.
  • Godta dem via apply -refresh-only og en kodeoppdatering.
  • Tilbakestill dem med en vanlig apply.
  • Bruk ignore_changes og planlagte kontroller for å ligge i forkant.
Gratis å komme i gang

Lær deg Terraform som Infrastructure as Code med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Håndtering av tilstandsavvik og avstemming» gratis?

Ja – hele teksten i «Håndtering av tilstandsavvik og avstemming» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Terraform som Infrastructure as Code-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Terraform som Infrastructure as Code inneholder totalt 4 leksjoner.

Hva lærer jeg i «Håndtering av tilstandsavvik og avstemming»?

Oppdag, diagnostiser og avstem avviket mellom Terraform-tilstanden og den faktiske infrastrukturen før det fører til driftsavbrudd eller uventede endringer. Du øver på Terraform som Infrastructure as Code med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Terraform som Infrastructure as Code?

Ingen tidligere erfaring er nødvendig. Terraform som Infrastructure as Code på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Håndtering av tilstandsavvik og avstemming»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Terraform som Infrastructure as Code-leksjonen?

Ja. Alle Terraform som Infrastructure as Code-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Feilsøking av Terraform-konfigurasjoner
  2. Strategier for ytelsesoptimalisering
  3. Katastrofegjenoppretting med Terraform
  4. Håndtering av tilstandsavvik og avstemming
← Tilbake til Terraform som Infrastructure as Code