0Pricing
DevOps Bootcamp · Pelajaran

Menggunakan Ruang Kerja untuk Lingkungan

Pelajari ruang kerja Terraform untuk mengelola state terpisah bagi berbagai lingkungan (misalnya pengembangan, staging, dan produksi) dalam konfigurasi yang sama.

Menggunakan Ruang Kerja untuk Lingkungan adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa Itu Ruang Kerja Terraform?

Ruang kerja Terraform membantu Anda mengelola beberapa status berbeda untuk konfigurasi Terraform yang sama. Anggaplah ruang kerja sebagai lingkungan terpisah seperti 'dev', 'staging', atau 'prod'.

Dengan demikian, Anda dapat menggunakan satu kumpulan berkas .tf untuk menerapkan infrastruktur di tempat yang berbeda tanpa mengubah kode, sehingga penggunaan kembali dan konsistensi tetap terjaga.

Ruang Kerja 'default'

Saat pertama kali menginisialisasi Terraform di sebuah direktori (menggunakan terraform init), Anda otomatis menggunakan ruang kerja default.

Semua operasi terraform apply awal Anda akan menyimpan statusnya di ruang kerja default ini, kecuali Anda membuat dan memilih ruang kerja lain. Ruang kerja ini selalu tersedia!

Membuat Ruang Kerja Baru

Untuk membuat lingkungan baru, gunakan perintah terraform workspace new. Perintah ini juga otomatis mengalihkan konteks Anda saat ini ke ruang kerja yang baru dibuat.

Mari buat ruang kerja dev:

terraform workspace new dev

Terraform kemudian akan membuat status terpisah untuk lingkungan dev ini.

Melihat Daftar Ruang Kerja yang Tersedia

Anda dapat melihat semua ruang kerja yang tersedia di direktori konfigurasi saat ini menggunakan perintah terraform workspace list.

Ruang kerja yang sedang aktif akan ditandai dengan tanda bintang (*), sehingga Anda dapat melacak berbagai lingkungan Anda.

terraform workspace list

Beralih Ruang Kerja

Untuk beralih di antara ruang kerja yang sudah ada, gunakan perintah terraform workspace select, diikuti nama ruang kerja. Perintah ini mengubah lingkungan aktif Anda.

Mari beralih kembali ke ruang kerja default:

terraform workspace select default

Semua operasi Terraform berikutnya akan menargetkan status lingkungan default.

Menggunakan 'terraform.workspace'

Anda dapat membuat konfigurasi yang dinamis dengan merujuk nama ruang kerja saat ini menggunakan variabel bawaan terraform.workspace. Ini sangat cocok untuk menamai sumber daya atau menetapkan tag khusus lingkungan.

Cobalah menjalankan contoh ini. Pertama, jalankan terraform init, lalu terraform workspace new dev, dan terakhir terraform apply. Amati nama bucket dan tag-nya.

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
}

Berkas Status yang Terisolasi

Aspek terpenting dari ruang kerja adalah setiap ruang kerja memiliki berkas status yang sepenuhnya terpisah.

Artinya, sumber daya yang diterapkan di ruang kerja dev tidak akan mengganggu sumber daya di ruang kerja prod, meskipun semuanya didefinisikan oleh berkas konfigurasi yang sama. Terraform mengelola berkas-berkas status ini di direktori tersembunyi (.terraform/environments) dalam direktori kerja Anda.

Menghapus Ruang Kerja

Saat suatu lingkungan tidak lagi diperlukan, Anda dapat menghapus ruang kerjanya menggunakan terraform workspace delete <name>.

  • Penting: Anda tidak dapat menghapus ruang kerja yang sedang aktif.
  • Sangat penting: Selalu pastikan Anda telah menghancurkan semua sumber daya yang terkait dengan ruang kerja tersebut menggunakan terraform destroy sebelum menghapusnya. Jika tidak, sumber daya yang terlantar mungkin tetap ada!
terraform workspace select default
terraform workspace delete dev

Ruang Kerja vs. Direktori Terpisah

Meskipun ruang kerja sangat cocok untuk variasi kecil dari konfigurasi yang sama, ruang kerja tidak selalu menjadi pilihan terbaik. Pertimbangkan hal-hal berikut:

  • Ruang kerja: Ideal untuk perbedaan kecil antarlingkungan (misalnya, jumlah sumber daya dan tag) dengan desain infrastruktur inti yang sama.
  • Direktori terpisah: Lebih baik untuk desain infrastruktur yang sangat berbeda atau saat tim yang berbeda mengelola lingkungan yang sepenuhnya terpisah.

Pilih pendekatan yang paling sesuai dengan kompleksitas proyek dan struktur tim Anda.

Pemeriksaan Ruang Kerja

Anda telah mempelajari ruang kerja Terraform. Mari uji pemahaman Anda.

Rangkuman: Ruang Kerja untuk Lingkungan

Bagus sekali! Anda telah mempelajari ruang kerja Terraform, fitur yang ampuh untuk mengelola beberapa lingkungan dari satu konfigurasi. Ingatlah hal-hal penting berikut:

  • Ruang kerja menyediakan berkas status terisolasi untuk lingkungan yang berbeda (misalnya, dev dan prod).
  • Gunakan terraform workspace new, list, dan select untuk mengelolanya.
  • Variabel terraform.workspace memungkinkan konfigurasi yang dinamis dan khusus lingkungan.
  • Selalu hancurkan sumber daya sebelum menghapus ruang kerja agar infrastruktur yang terlantar tidak tersisa.

Dengan demikian, penerapan infrastruktur dapat dilakukan secara fleksibel dan teratur!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menggunakan Ruang Kerja untuk Lingkungan” gratis?

Ya — teks lengkap “Menggunakan Ruang Kerja untuk Lingkungan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menggunakan Ruang Kerja untuk Lingkungan”?

Pelajari ruang kerja Terraform untuk mengelola state terpisah bagi berbagai lingkungan (misalnya pengembangan, staging, dan produksi) dalam konfigurasi yang sama. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menggunakan Ruang Kerja untuk Lingkungan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pengantar Modul Terraform
  2. Membuat Modul yang Dapat Digunakan Ulang
  3. Menggunakan Ruang Kerja untuk Lingkungan
  4. Menerbitkan Modul ke Registri
← Kembali ke DevOps Bootcamp