
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create a VM instance in dynamic zone with Terraform
/ 100
Terraform berguna untuk membuat, mengubah, dan meningkatkan kualitas infrastruktur dengan aman dan terprediksi. Terraform adalah alat open source yang mengodifikasi API menjadi file konfigurasi deklaratif yang bisa dibagikan kepada rekan kerja, diperlakukan sebagai kode, diedit, ditinjau, dan dibuatkan versi.
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info berikut:
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
Anda juga dapat menemukan Username di panel Lab Details.
Klik Next.
Salin Password di bawah dan tempel ke dialog Welcome.
Anda juga dapat menemukan Password di panel Lab Details.
Klik Next.
Klik halaman berikutnya:
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
Klik Authorize.
Output Anda sekarang akan terlihat seperti ini:
Output:
Output:
Contoh output:
gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Terraform adalah alat untuk membangun, mengubah, dan membuat versi infrastruktur dengan aman dan efisien. Terraform dapat mengelola penyedia layanan populer yang sudah ada dan solusi khusus dalam perusahaan.
File konfigurasi menjelaskan kepada Terraform komponen yang diperlukan untuk menjalankan satu aplikasi atau seluruh pusat data. Terraform membuat rencana eksekusi yang mendeskripsikan tindakan yang akan dilakukannya untuk mencapai status yang diinginkan, lalu menjalankan rencana tersebut untuk membangun infrastruktur yang dideskripsikan. Saat perubahan konfigurasi terjadi, Terraform dapat menentukan apa yang berubah dan membuat rencana eksekusi inkremental yang dapat diterapkan.
Terraform dapat mengelola infrastruktur baik itu komponen tingkat rendah seperti instance komputasi, penyimpanan, dan jaringan, maupun komponen tingkat tinggi seperti entri DNS dan fitur SaaS.
Infrastruktur dideskripsikan menggunakan sintaksis konfigurasi tingkat tinggi. Hal ini memungkinkan cetak biru pusat data Anda dibuatkan versinya dan diperlakukan sama seperti halnya kode lain. Selain itu, infrastruktur dapat dibagikan dan digunakan kembali.
Terraform memiliki langkah perencanaan tempatnya membuat rencana eksekusi. Rencana eksekusi ini menunjukkan tindakan yang akan dilakukan Terraform saat Anda menjalankan perintah apply
. Dengan begitu, Anda tidak akan terkejut saat Terraform memanipulasi infrastruktur.
Terraform membuat grafik yang menampilkan semua resource Anda serta memparalelkan pembuatan dan modifikasi resource non-dependen apa pun. Karena itulah, Terraform dapat membangun infrastruktur yang sangat efisien, dan operator dapat memperoleh insight tentang dependensi di infrastruktur mereka.
Rangkaian perubahan yang kompleks dapat diterapkan ke infrastruktur tanpa memerlukan banyak interaksi manual. Dengan rencana eksekusi dan grafik resource yang disebutkan di atas, Anda dapat mengetahui dengan pasti apa yang akan diubah oleh Terraform dan bagaimana urutan pengubahannya. Hal ini membantu Anda menghindari banyak human error yang mungkin terjadi.
Terraform sudah terinstal di Cloud Shell.
Output bantuan yang dihasilkan akan mirip dengan yang berikut ini:
Setelah Terraform terinstal, Anda dapat segera mulai membuat infrastruktur.
Rangkaian file yang digunakan untuk mendeskripsikan infrastruktur di Terraform disebut konfigurasi Terraform
. Di bagian ini, Anda akan menulis konfigurasi pertama Anda untuk meluncurkan satu instance VM. Format file konfigurasi dapat dilihat di Terraform Language Documentation. Sebaiknya Anda menggunakan JSON untuk membuat file konfigurasi.
instance.tf
dengan perintah berikut:Klik Open Editor di toolbar Cloud Shell.
Untuk beralih antara Cloud Shell dan editor kode, klik Open Editor atau Open Terminal sesuai kebutuhan, atau klik Open in a new window untuk membiarkan Editor terbuka di tab tersendiri.
Klik file instance.tf
, tambahkan konten berikut ke dalamnya, dan ganti <PROJECT_ID>
dengan ID project Google Cloud Anda:
Ini adalah konfigurasi lengkap yang siap diterapkan oleh Terraform. Struktur umumnya cukup intuitif dan mudah diikuti.
Blok "resource" dalam file instance.tf
menentukan resource yang ada dalam infrastruktur. Resource dapat berupa komponen fisik seperti instance VM.
Blok resource memiliki dua string sebelum membuka blok: resource type dan resource name. Untuk lab ini, resource type atau jenis resource-nya adalah google_compute_instance
dan resource name atau nama resource-nya adalah terraform.
Prefiks jenis resource menunjukkan penyedia: google_compute_instance
otomatis memberi tahu Terraform bahwa resource tersebut dikelola penyedia Google
.
Di dalam blok resource itu sendiri terdapat konfigurasi yang diperlukan untuk resource tersebut.
*.tf
lain di direktori, karena Terraform akan memuat file tersebut semuanya:Perintah pertama yang akan dijalankan untuk konfigurasi baru—atau setelah mengeluarkan konfigurasi lama dari kontrol versi—adalah terraform init
. Perintah ini akan melakukan inisialisasi berbagai data dan setelan lokal yang akan digunakan oleh perintah-perintah selanjutnya.
Terraform menggunakan arsitektur berbasis plugin untuk mendukung banyak penyedia layanan dan infrastruktur yang ada. Setiap "penyedia" merupakan biner yang terenkapsulasi sendiri dan didistribusikan terpisah dari Terraform. Perintah terraform init
akan otomatis mendownload dan menginstal setiap biner penyedia untuk penyedia yang akan digunakan dalam konfigurasi. Dalam lab ini, penyedia kita adalah Google.
Plugin penyedia Google didownload dan diinstal di subdirektori dari direktori kerja saat ini, beserta berbagai file pembukuan lainnya. Anda akan melihat pesan "Initializing provider plugins". Terraform tahu bahwa Anda menjalankan operasi dari project Google, dan project tersebut mendapatkan resource Google.
Output ini menentukan versi plugin yang sedang diinstal dan menyarankan agar Anda menetapkan versi ini dalam file konfigurasi mendatang untuk memastikan terraform init
menginstal versi yang kompatibel.
Terraform akan melakukan refresh, kecuali jika dinonaktifkan secara eksplisit, kemudian menentukan tindakan yang diperlukan untuk mencapai status yang diinginkan yang telah ditentukan dalam file konfigurasi. Perintah ini merupakan cara mudah untuk memeriksa apakah rencana eksekusi untuk serangkaian perubahan sesuai dengan harapan Anda, tanpa membuat perubahan apa pun pada resource sebenarnya atau pada statusnya. Misalnya, Anda dapat menjalankan perintah ini sebelum melakukan perubahan pada kontrol versi, untuk meyakinkan diri Anda bahwa kontrol versi tersebut akan berperilaku sesuai harapan.
-out
opsional dapat digunakan untuk menyimpan rencana yang dihasilkan ke sebuah file untuk dieksekusi pada lain waktu dengan terraform apply
.
instance.tf
yang telah dibuat, jalankan perintah ini:Output ini menunjukkan Rencana Eksekusi, yang mendeskripsikan tindakan yang akan dilakukan Terraform untuk mengubah infrastruktur sebenarnya agar sesuai dengan konfigurasi. Format output-nya mirip dengan format diff yang dihasilkan oleh alat seperti Git.
Terdapat tanda +
di samping google_compute_instance.terraform
, yang berarti Terraform akan membuat resource ini. Setelahnya, terdapat atribut yang akan ditetapkan. Jika nilai yang ditampilkan adalah <computed>
, hal itu berarti nilai tersebut tidak akan diketahui sebelum resource dibuat.
Contoh output:
Jika rencana berhasil dibuat, Terraform akan menjeda operasi dan menunggu persetujuan sebelum melanjutkan. Di lingkungan produksi, jika ada sesuatu yang tampaknya salah atau berbahaya dalam Rencana Eksekusi, Anda dapat membatalkannya pada tahap ini. Tidak akan ada perubahan yang diterapkan pada infrastruktur Anda.
yes
pada dialog konfirmasi untuk melanjutkan.Setelah itu, semua proses di Terraform selesai.
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Jika berhasil menyelesaikan tugas, Anda akan menerima skor penilaian.
Terraform telah menuliskan beberapa data ke dalam file terraform.tfstate
. File state ini sangat penting: file ini melacak ID resource yang dibuat, sehingga Terraform dapat mengetahui apa yang sedang dikelolanya.
Contoh output:
Anda dapat melihat bahwa dengan membuat resource ini, Anda juga mengumpulkan banyak informasi tentangnya. Nilai ini dapat direferensikan untuk mengonfigurasi resource atau output lainnya.
Selamat! Anda telah membangun infrastruktur pertama Anda dengan Terraform. Anda telah melihat sintaksis konfigurasinya dan contoh rencana eksekusi dasar serta memahami file state.
Pertanyaan pilihan ganda berikut akan memperkuat pemahaman Anda mengenai konsep lab ini. Jawab pertanyaan tersebut sebaik mungkin.
Selamat, Anda telah menyelesaikan lab ini. Anda telah mempelajari cara menggunakan Terraform untuk membuat dan mengelola infrastruktur di Google Cloud.
Lab mandiri ini merupakan bagian dari Quest Managing Cloud Infrastructure with Terraform dan Automating Infrastructure on Google Cloud with Terraform. Quest adalah serangkaian lab terkait yang membentuk jalur pembelajaran. Dengan menyelesaikan Quest, Anda mendapatkan badge sebagai pengakuan atas pencapaian Anda. Anda dapat menunjukkan satu atau beberapa badge kepada orang lain secara publik dan menautkannya di resume online atau akun media sosial Anda. Daftarkan diri Anda dalam Quest apa pun yang berisi lab ini dan segera dapatkan kredit penyelesaian. Lihat Katalog Google Cloud Skills Boost untuk mengetahui semua Quest yang tersedia.
Lanjutkan Quest Anda dengan Infrastructure as Code with Terraform. Anda juga dapat mempelajari lab Google Cloud Skills berikut:
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui 26 Januari 2024
Lab Terakhir Diuji 10 Agustus 2023
Hak cipta 2025 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.
Konten ini tidak tersedia untuk saat ini
Kami akan memberi tahu Anda melalui email saat konten tersedia
Bagus!
Kami akan menghubungi Anda melalui email saat konten tersedia
One lab at a time
Confirm to end all existing labs and start this one