Checkpoint
Create a VM instance in dynamic zone with Terraform
/ 100
Dasar-Dasar Terraform
GSP156
Ringkasan
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.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Mulai menggunakan Terraform di Google Cloud.
- Menginstal Terraform dari biner penginstalan.
- Membuat infrastruktur instance VM menggunakan Terraform.
Penyiapan dan persyaratan
Sebelum mengklik tombol Mulai Lab
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:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Cara memulai lab dan login ke Google Cloud Console
-
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:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
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.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account. -
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}} Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}} Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan. -
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Mengaktifkan Cloud Shell
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.
- Klik Activate Cloud Shell
di bagian atas konsol Google Cloud.
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.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
-
Klik Authorize.
-
Output Anda sekarang akan terlihat seperti ini:
Output:
- (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
Output:
Contoh output:
gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Apa yang dimaksud dengan Terraform?
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.
Fitur utama
Infrastructure as code
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.
Rencana eksekusi
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.
Grafik resource
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.
Otomatisasi perubahan
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.
Tugas 1. Memverifikasi penginstalan Terraform
Terraform sudah terinstal di Cloud Shell.
- Buka tab Cloud Shell baru dan verifikasi bahwa Terraform tersedia:
Output bantuan yang dihasilkan akan mirip dengan yang berikut ini:
Tugas 2. Membangun infrastruktur
Setelah Terraform terinstal, Anda dapat segera mulai membuat infrastruktur.
Konfigurasi
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.
- Di Cloud Shell, buat file konfigurasi kosong yang bernama
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.
- Di Cloud Shell, pastikan file baru Anda telah ditambahkan dan tidak ada file
*.tf
lain di direktori, karena Terraform akan memuat file tersebut semuanya:
Inisialisasi
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.
- Download dan instal biner penyedia:
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.
- Buat rencana eksekusi:
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
.
Menerapkan perubahan
- Di direktori yang sama dengan file
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.
- Untuk kasus kita, rencana ini tampaknya dapat diterima, jadi ketik
yes
pada dialog konfirmasi untuk melanjutkan.
Diperlukan waktu beberapa menit untuk mengeksekusi rencana karena Terraform menunggu tersedianya instance VM.
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.
- Di Konsol Google Cloud, pada Navigation menu, klik Compute Engine > VM instances. Halaman VM instances akan terbuka dan Anda dapat melihat instance VM yang baru saja Anda buat dalam daftar VM instances.
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.
- Di Cloud Shell, periksa status saat ini:
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.
Tugas 3. Menguji pemahaman Anda
Pertanyaan pilihan ganda berikut akan memperkuat pemahaman Anda mengenai konsep lab ini. Jawab pertanyaan tersebut sebaik mungkin.
Selamat
Selamat, Anda telah menyelesaikan lab ini. Anda telah mempelajari cara menggunakan Terraform untuk membuat dan mengelola infrastruktur di Google Cloud.
Selesaikan Quest Anda
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.
Ikuti lab berikutnya
Lanjutkan Quest Anda dengan Infrastructure as Code with Terraform. Anda juga dapat mempelajari lab Google Cloud Skills berikut:
Langkah berikutnya/Pelajari Lebih Lanjut
- Hashicorp di Google Cloud Marketplace
- Terraform Community
- Terraform Google Examples
Sertifikasi dan pelatihan Google Cloud
...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 2024 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.