0Pricing
Terraform Infrastructure as Code · Lekcja

Korzystanie z obszarów roboczych dla środowisk

Poznaj obszary robocze Terraform, aby zarządzać oddzielnymi stanami dla różnych środowisk (np. dev, staging i prod) w ramach tej samej konfiguracji.

Korzystanie z obszarów roboczych dla środowisk to bezpłatna lekcja Terraform Infrastructure as Code na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Terraform Infrastructure as Code, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.

Czym są obszary robocze Terraform?

Obszary robocze Terraform pomagają zarządzać wieloma odrębnymi stanami dla tej samej konfiguracji Terraform. Można traktować je jak osobne środowiska, na przykład „dev”, „staging” lub „prod”.

Oznacza to, że można używać jednego zestawu plików .tf do wdrażania infrastruktury w różnych miejscach bez zmieniania kodu, co sprzyja wielokrotnemu użyciu i spójności.

Obszar roboczy „default”

Po pierwszym zainicjowaniu Terraform w katalogu (za pomocą polecenia terraform init) automatycznie używany jest obszar roboczy default.

Wszystkie początkowe operacje terraform apply będą zapisywać stan w tym obszarze roboczym default, chyba że zostanie utworzony i wybrany inny obszar. Ten obszar jest zawsze dostępny!

Tworzenie nowych obszarów roboczych

Aby utworzyć nowe środowisko, należy użyć polecenia terraform workspace new. To polecenie automatycznie przełącza również bieżący kontekst na nowo utworzony obszar roboczy.

Utwórzmy obszar roboczy dev:

terraform workspace new dev

Terraform utworzy następnie osobny stan dla tego środowiska dev.

Wyświetlanie dostępnych obszarów roboczych

Wszystkie dostępne obszary robocze w bieżącym katalogu konfiguracji można wyświetlić za pomocą polecenia terraform workspace list.

Aktualnie aktywny obszar roboczy zostanie oznaczony gwiazdką (*), co ułatwi śledzenie różnych środowisk.

terraform workspace list

Przełączanie obszarów roboczych

Aby przełączać się między istniejącymi obszarami roboczymi, należy użyć polecenia terraform workspace select, a następnie podać nazwę obszaru roboczego. To polecenie zmienia aktywne środowisko.

Przełączmy się z powrotem na obszar roboczy default:

terraform workspace select default

Wszystkie kolejne operacje Terraform będą teraz dotyczyć stanu środowiska default.

Używanie „terraform.workspace”

Konfiguracje można uczynić dynamicznymi, odwołując się do nazwy bieżącego obszaru roboczego za pomocą wbudowanej zmiennej terraform.workspace. Jest to idealne rozwiązanie do nadawania nazw zasobom lub ustawiania tagów zależnych od środowiska.

Proszę uruchomić ten przykład. Najpierw należy wykonać terraform init, następnie terraform workspace new dev, a na końcu terraform apply. Proszę obserwować nazwę i tagi zasobnika.

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
}

Odizolowane pliki stanu

Najważniejszą cechą obszarów roboczych jest to, że każdy z nich ma własny, całkowicie odrębny plik stanu.

Oznacza to, że zasoby wdrożone w obszarze roboczym dev nie będą wpływać na zasoby w obszarze prod, nawet jeśli są zdefiniowane w tych samych plikach konfiguracji. Terraform zarządza tymi plikami stanu w ukrytym katalogu (.terraform/environments) znajdującym się w katalogu roboczym.

Usuwanie obszarów roboczych

Gdy środowisko nie jest już potrzebne, można usunąć jego obszar roboczy za pomocą polecenia terraform workspace delete <name>.

  • Ważne: Nie można usunąć aktualnie aktywnego obszaru roboczego.
  • Kluczowe: Przed usunięciem obszaru roboczego należy zawsze upewnić się, że wszystkie powiązane z nim zasoby zostały usunięte za pomocą polecenia terraform destroy. W przeciwnym razie mogą pozostać osierocone zasoby!
terraform workspace select default
terraform workspace delete dev

Obszary robocze a osobne katalogi

Obszary robocze świetnie sprawdzają się w przypadku niewielkich różnic w tej samej konfiguracji, ale nie zawsze są najlepszym wyborem. Proszę wziąć pod uwagę następujące kwestie:

  • Obszary robocze: Idealne w przypadku niewielkich różnic między środowiskami (np. liczby zasobów lub tagów), gdy podstawowy projekt infrastruktury jest taki sam.
  • Osobne katalogi: Lepsze w przypadku znacznie różniących się projektów infrastruktury lub gdy różne zespoły zarządzają całkowicie odrębnymi środowiskami.

Należy wybrać podejście najlepiej dopasowane do złożoności projektu i struktury zespołu.

Sprawdzenie obszarów roboczych

Udało się Państwu poznać obszary robocze Terraform. Sprawdźmy teraz Państwa wiedzę.

Podsumowanie: obszary robocze dla środowisk

Świetna praca! Poznali już Państwo obszary robocze Terraform — zaawansowaną funkcję umożliwiającą zarządzanie wieloma środowiskami z użyciem jednej konfiguracji. Proszę zapamiętać najważniejsze informacje:

  • Obszary robocze zapewniają odizolowane pliki stanu dla różnych środowisk (np. dev i prod).
  • Do zarządzania nimi służą polecenia terraform workspace new, list i select.
  • Zmienna terraform.workspace umożliwia tworzenie dynamicznych konfiguracji zależnych od środowiska.
  • Przed usunięciem obszaru roboczego należy zawsze usunąć zasoby, aby uniknąć pozostawienia osieroconej infrastruktury.

Pozwala to wdrażać infrastrukturę w elastyczny i uporządkowany sposób!

Często zadawane pytania

Czy lekcja „Korzystanie z obszarów roboczych dla środowisk” jest bezpłatna?

Tak — pełny tekst „Korzystanie z obszarów roboczych dla środowisk” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Terraform Infrastructure as Code, przejdź na CoddyKit PRO. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.

Co nauczysz się w „Korzystanie z obszarów roboczych dla środowisk”?

Poznaj obszary robocze Terraform, aby zarządzać oddzielnymi stanami dla różnych środowisk (np. dev, staging i prod) w ramach tej samej konfiguracji. Ćwiczysz Terraform Infrastructure as Code z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Terraform Infrastructure as Code?

Nie wymagamy żadnego doświadczenia. Terraform Infrastructure as Code w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Korzystanie z obszarów roboczych dla środowisk”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Terraform Infrastructure as Code?

Tak. Każda lekcja Terraform Infrastructure as Code zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do modułów Terraform
  2. Tworzenie modułów wielokrotnego użytku
  3. Korzystanie z obszarów roboczych dla środowisk
  4. Publikowanie modułów w rejestrze
← Powrót do Terraform Infrastructure as Code