Terraform som Infrastructure as Code · Lektion

Använda arbetsytor för miljöer

Utforska Terraform-arbetsytor för att hantera separata state-filer för olika miljöer (t.ex. utveckling, staging och produktion) i samma konfiguration.

Lektion 3 av 411 steg

Använda arbetsytor för miljöer är en gratis lektion i Terraform som Infrastructure as Code på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Terraform som Infrastructure as Code, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Terraform som Infrastructure as Code innehåller totalt 4 lektioner.

Vad är Terraform-arbetsytor?

Terraform-arbetsytor hjälper dig att hantera flera separata tillstånd för samma Terraform-konfiguration. Se dem som separata miljöer, till exempel ”dev”, ”staging” eller ”prod”.

Det innebär att du kan använda samma uppsättning .tf-filer för att distribuera infrastruktur till olika platser utan att ändra koden, vilket främjar återanvändning och konsekvens.

Arbetsytan ”default”

När du initierar Terraform för första gången i en katalog (med terraform init) använder du automatiskt arbetsytan default.

Alla dina inledande terraform apply-åtgärder lagrar sitt tillstånd i arbetsytan default, om du inte skapar och väljer en annan arbetsyta. Den finns alltid!

Skapa nya arbetsytor

Om du vill skapa en ny miljö använder du kommandot terraform workspace new. Kommandot växlar också automatiskt den aktuella kontexten till den nyskapade arbetsytan.

Vi skapar en arbetsyta för dev:

terraform workspace new dev

Terraform skapar sedan ett separat tillstånd för miljön dev.

Visa tillgängliga arbetsytor

Du kan se alla tillgängliga arbetsytor i den aktuella konfigurationskatalogen med kommandot terraform workspace list.

Den aktiva arbetsytan markeras med en asterisk (*), så att du enkelt kan hålla reda på dina olika miljöer.

terraform workspace list

Växla mellan arbetsytor

Om du vill växla mellan befintliga arbetsytor använder du kommandot terraform workspace select, följt av arbetsytans namn. Kommandot ändrar den aktiva miljön.

Vi växlar tillbaka till arbetsytan default:

terraform workspace select default

Alla efterföljande Terraform-åtgärder riktas nu mot tillståndet för miljön default.

Använda ”terraform.workspace”

Du kan göra dina konfigurationer dynamiska genom att hämta namnet på den aktuella arbetsytan med den inbyggda variabeln terraform.workspace. Det passar perfekt när du ska namnge resurser eller ange miljöspecifika taggar.

Prova att köra det här exemplet. Kör först terraform init, sedan terraform workspace new dev och slutligen terraform apply. Observera namnet på bucketen och taggarna.

provider "aws" {
  region = "us-east-1" # Or your preferred region
}

resource "aws_s3_bucket" "example" {
  bucket = "my-unique-bucket-${terraform.workspace}-12345"
  acl    = "private"

  tags = {
    Environment = terraform.workspace
    ManagedBy   = "CoddyKit"
  }
}

output "bucket_name" {
  description = "Name of the S3 bucket created."
  value       = aws_s3_bucket.example.bucket
}

Isolerade tillståndsfiler

Den viktigaste egenskapen hos arbetsytor är att varje arbetsyta har en egen helt separat tillståndsfil.

Det innebär att resurser som distribueras i arbetsytan dev inte påverkar resurserna i arbetsytan prod, även om de definieras av samma konfigurationsfiler. Terraform hanterar dessa tillståndsfiler i en dold katalog (.terraform/environments) i arbetskatalogen.

Ta bort arbetsytor

När en miljö inte längre behövs kan du ta bort dess arbetsyta med terraform workspace delete <name>.

  • Viktigt: Du kan inte ta bort den aktiva arbetsytan.
  • Avgörande: Kontrollera alltid att du har förstört alla resurser som hör till arbetsytan med terraform destroy innan du tar bort den. Annars kan övergivna resurser bli kvar!
terraform workspace select default
terraform workspace delete dev

Arbetsytor jämfört med separata kataloger

Arbetsytor passar bra för mindre variationer av samma konfiguration, men är inte alltid det bästa valet. Tänk på följande:

  • Arbetsytor: Idealiska för små miljöskillnader (till exempel antal resurser och taggar) med samma grundläggande infrastrukturdesign.
  • Separata kataloger: Bättre för väsentligt olika infrastrukturdesigner eller när olika team hanterar helt separata miljöer.

Välj det tillvägagångssätt som bäst passar projektets komplexitet och teamets struktur.

Kontroll av arbetsytor

Du har lärt dig om Terraform-arbetsytor. Nu testar vi dina kunskaper.

Sammanfattning: arbetsytor för miljöer

Bra jobbat! Du har utforskat Terraform-arbetsytor, en kraftfull funktion för att hantera flera miljöer från en enda konfiguration. Kom ihåg följande:

  • Arbetsytor tillhandahåller isolerade tillståndsfiler för olika miljöer (till exempel dev och prod).
  • Använd terraform workspace new, list och select för att hantera dem.
  • Variabeln terraform.workspace möjliggör dynamiska, miljöspecifika konfigurationer.
  • Förstör alltid resurser innan du tar bort en arbetsyta, så att övergiven infrastruktur undviks.

Det här möjliggör flexibel och välorganiserad infrastrukturdistribution!

Gratis att börja

Lär dig Terraform som Infrastructure as Code 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
12
Lektioner
48

Vanliga frågor

Är lektionen ”Använda arbetsytor för miljöer” gratis?

Ja – hela texten till ”Använda arbetsytor för miljöer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Terraform som Infrastructure as Code, kan Ni uppgradera till CoddyKit PRO. Kursen i Terraform som Infrastructure as Code innehåller totalt 4 lektioner.

Vad lär jag mig i ”Använda arbetsytor för miljöer”?

Utforska Terraform-arbetsytor för att hantera separata state-filer för olika miljöer (t.ex. utveckling, staging och produktion) i samma konfiguration. Ni övar på Terraform som Infrastructure as Code 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 Terraform som Infrastructure as Code?

Du behöver inga förkunskaper. Utbildningen i Terraform som Infrastructure as Code 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 3 av 4.

Hur lång tid tar lektionen ”Använda arbetsytor för miljöer”?

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 Terraform som Infrastructure as Code-lektionen?

Ja. Varje Terraform som Infrastructure as Code-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

  1. Introduktion till Terraform-moduler
  2. Skapa återanvändbara moduler
  3. Använda arbetsytor för miljöer
  4. Publicera moduler i ett registry
← Tillbaka till Terraform som Infrastructure as Code