Checkpoint
Provision infrastructure
/ 50
Upload files to the bucket
/ 50
Berinteraksi dengan Modul Terraform
Lab ini dikembangkan dengan partner kami, Hashicorp. Informasi Anda mungkin akan dibagikan kepada Hashicorp, yaitu sponsor lab ini, jika Anda memilih untuk menerima info terbaru terkait produk, pengumuman, dan penawaran di Profil Akun Anda.
GSP751
Ringkasan
Saat Anda mengelola infrastruktur dengan Terraform, konfigurasi yang semakin kompleks akan terbentuk. Tidak ada batasan intrinsik terhadap kompleksitas satu file atau direktori konfigurasi Terraform, sehingga Anda dapat terus menulis dan mengupdate file konfigurasi Anda dalam satu direktori. Namun, jika Anda melakukannya, Anda mungkin akan mengalami satu atau beberapa masalah berikut:
- Memahami dan menavigasi file konfigurasi akan menjadi semakin sulit.
- Mengupdate konfigurasi akan menjadi lebih berisiko, karena update pada satu blok dapat menyebabkan konsekuensi yang tidak diinginkan pada blok lain dari konfigurasi Anda.
- Duplikasi blok konfigurasi serupa dapat meningkat, misalnya, saat Anda mengonfigurasi lingkungan pengembangan/staging/produksi terpisah, yang akan menyebabkan peningkatan beban saat mengupdate bagian konfigurasi tersebut.
- Jika Anda ingin berbagi bagian konfigurasi antar-project dan tim, memotong dan menempelkan blok konfigurasi antar-project bisa rawan kesalahan dan sulit dipelihara.
Di lab ini, Anda akan mempelajari bagaimana modul dapat mengatasi masalah ini, mempelajari struktur modul Terraform, dan praktik terbaik saat menggunakan dan membuat modul.
Apa kegunaan modul?
Berikut adalah beberapa cara modul membantu memecahkan masalah yang tercantum di atas:
-
Mengatur konfigurasi: Modul mempermudah navigasi, memahami, dan mengupdate konfigurasi Anda dengan menyatukan bagian-bagian terkait konfigurasi Anda. Bahkan infrastruktur yang kerumitannya sedang pun memerlukan ratusan atau ribuan baris konfigurasi untuk diterapkan. Dengan menggunakan modul, Anda dapat mengatur konfigurasi menjadi komponen-komponen logis.
-
Mengenkapsulasi konfigurasi: Manfaat lain dalam menggunakan modul adalah mengenkapsulasi konfigurasi menjadi komponen-komponen logis yang berbeda. Enkapsulasi dapat membantu mencegah konsekuensi yang tidak diinginkan, seperti perubahan pada satu bagian konfigurasi yang secara tidak sengaja menyebabkan perubahan pada infrastruktur lain, dan mengurangi kemungkinan kesalahan sederhana seperti penggunaan nama yang sama untuk dua resource berbeda.
-
Menggunakan kembali konfigurasi: Menulis semua konfigurasi Anda tanpa menggunakan kode yang ada dapat memakan waktu dan rawan kesalahan. Menggunakan modul dapat menghemat waktu dan mengurangi kesalahan yang merugikan dengan menggunakan kembali konfigurasi yang ditulis oleh Anda sendiri, anggota tim Anda yang lain, atau praktisi Terraform lain yang telah menerbitkan modul untuk Anda gunakan. Anda juga dapat berbagi modul yang telah Anda tulis dengan tim Anda atau masyarakat umum, sehingga mereka dapat memperoleh manfaat dari kerja keras Anda.
-
Memberikan konsistensi dan memastikan praktik terbaik: Modul juga membantu memberikan konsistensi dalam konfigurasi Anda. Konsistensi membuat konfigurasi kompleks jadi lebih mudah dipahami, dan juga membantu memastikan bahwa praktik terbaik diterapkan di seluruh konfigurasi Anda. Misalnya, penyedia cloud menawarkan banyak opsi untuk mengonfigurasi layanan penyimpanan objek, seperti Amazon S3 (Simple Storage Service) atau bucket Cloud Storage Google. Banyak insiden keamanan tingkat tinggi yang melibatkan penyimpanan objek yang salah diamankan, dan karena banyaknya opsi konfigurasi kompleks yang terlibat, kesalahan konfigurasi layanan ini bisa terjadi secara tidak sengaja.
Menggunakan modul dapat membantu mengurangi kesalahan ini. Misalnya, Anda dapat membuat modul untuk menjelaskan bagaimana semua bucket situs publik organisasi Anda akan dikonfigurasi, dan modul lain untuk bucket pribadi yang digunakan untuk aplikasi pencatatan log. Selain itu, jika konfigurasi untuk suatu jenis resource perlu diupdate, penggunaan modul memungkinkan Anda membuat update tersebut di satu tempat dan menerapkannya ke semua kasus saat Anda menggunakan modul ini.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Menggunakan modul dari Registry
- Membangun modul
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 itu modul Terraform?
Modul Terraform adalah sekumpulan file konfigurasi Terraform dalam satu direktori. Bahkan konfigurasi sederhana yang terdiri atas satu direktori dengan satu atau beberapa file .tf
adalah sebuah modul. Jika Anda menjalankan perintah Terraform langsung dari direktori seperti itu, hal ini akan dianggap sebagai modul root. Jadi dalam hal ini, tiap konfigurasi Terraform adalah bagian dari sebuah modul. Anda mungkin memiliki sekumpulan file konfigurasi Terraform sederhana seperti ini:
Dalam hal ini, saat Anda menjalankan perintah Terraform dari dalam direktori minimal-module
, konten direktori tersebut akan dianggap sebagai modul root.
Memanggil modul
Perintah Terraform hanya akan langsung menggunakan file konfigurasi dalam satu direktori, yang biasanya merupakan direktori kerja saat ini. Namun, konfigurasi Anda dapat menggunakan blok modul untuk memanggil modul di direktori lain. Ketika menemukan blok modul, Terraform akan memuat dan memproses file konfigurasi modul tersebut.
Modul yang dipanggil oleh konfigurasi lain terkadang disebut sebagai "modul turunan" dari konfigurasi tersebut.
Modul lokal dan jarak jauh
Modul dapat dimuat dari sistem file lokal atau sumber jarak jauh. Terraform mendukung berbagai sumber jarak jauh, termasuk Terraform Registry, sebagian besar sistem kontrol versi, URL HTTP, dan registry modul pribadi Terraform Cloud atau Terraform Enterprise.
Praktik terbaik modul
Dalam banyak hal, modul Terraform mirip dengan konsep library, paket, atau modul yang ditemukan di sebagian besar bahasa pemrograman, dan memberikan banyak manfaat yang sama. Sama seperti hampir semua program komputer rumit, konfigurasi Terraform di dunia nyata hampir selalu menggunakan modul untuk memberikan manfaat yang disebutkan di atas.
Tiap praktisi Terraform disarankan menggunakan modul dengan mengikuti praktik terbaik berikut:
-
Mulailah menulis konfigurasi Anda dengan rencana modul. Bahkan untuk konfigurasi Terraform yang sedikit rumit dan dikelola oleh satu orang, manfaat penggunaan modul akan lebih besar daripada waktu yang diperlukan untuk menggunakannya dengan benar.
-
Gunakan modul lokal untuk mengatur dan mengenkapsulasi kode Anda. Meskipun Anda tidak menggunakan atau memublikasikan modul jarak jauh, mengatur konfigurasi dalam bentuk modul sejak awal akan secara signifikan mengurangi beban pemeliharaan dan update konfigurasi seiring dengan semakin kompleksnya infrastruktur Anda.
-
Gunakan Terraform Registry publik untuk menemukan modul yang berguna. Dengan cara ini, Anda dapat dengan cepat dan percaya diri mengimplementasikan konfigurasi Anda dengan mengandalkan pekerjaan orang lain.
-
Publikasikan dan bagikan modul dengan tim Anda. Sebagian besar infrastruktur dikelola oleh tim yang terdiri atas sejumlah orang, dan modul adalah alat penting yang dapat digunakan tim untuk membuat dan memelihara infrastruktur. Seperti disebutkan sebelumnya, Anda dapat memublikasikan modul baik secara publik atau pribadi. Anda akan melihat cara melakukannya di lab berikutnya dalam serial ini.
Tugas 1. Menggunakan modul dari Registry
Di bagian ini, Anda akan menggunakan modul dari Terraform Registry untuk menyediakan lingkungan contoh di Google Cloud. Konsep yang Anda gunakan di sini akan berlaku untuk segala modul dari semua sumber.
- Buka halaman Terraform Registry untuk modul Terraform Network di tab atau jendela browser baru. Halamannya akan terlihat seperti ini:
Halaman ini berisi informasi tentang modul dan link ke repositori sumber. Sisi kanan halaman mencakup antarmuka dropdown untuk memilih versi modul dan petunjuk penggunaan modul guna menyediakan infrastruktur.
Saat memanggil modul, diperlukan argumen source
. Dalam contoh ini, Terraform akan mencari modul di Terraform Registry yang cocok dengan string yang diberikan. Anda juga dapat menggunakan URL atau jalur file lokal untuk sumber modul Anda. Baca dokumentasi Terraform untuk mengetahui daftar sumber modul yang mungkin digunakan.
Argumen lain yang ditampilkan di sini adalah version
. Untuk sumber yang didukung, version akan memungkinkan Anda menentukan versi modul apa yang akan dimuat. Di lab ini, Anda akan menentukan nomor versi yang pasti untuk modul yang Anda gunakan. Anda dapat membaca cara lainnya untuk menentukan versi dalam dokumentasi modul.
Argumen lain pada blok modul diperlakukan sebagai variabel input ke modul.
Membuat konfigurasi Terraform
- Untuk memulai, jalankan perintah berikut di Cloud Shell untuk meng-clone contoh project sederhana dari repositori GitHub modul Terraform Google lalu beralihlah ke cabang
v6.0.1
:
Hal ini memastikan Anda menggunakan nomor versi yang benar.
-
Di toolbar Cloud Shell, klik Open Editor. 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 terpisah.
-
Pada editor, buka
terraform-google-network/examples/simple_project
, dan buka filemain.tf
. Konfigurasimain.tf
Anda akan terlihat seperti ini:
Konfigurasi ini mencakup satu blok penting:
-
module "test-vpc-module"
menetapkan Virtual Private Cloud (VPC), yang akan menyediakan layanan jaringan untuk seluruh infrastruktur Anda.
Menetapkan nilai untuk variabel input modul
Beberapa variabel input wajib ada, yang berarti modul tidak akan memberikan nilai default. Nilai eksplisit harus diberikan agar Terraform dapat berjalan dengan benar.
-
Dalam blok
"test-vpc-module"
modul, tinjau variabel input yang Anda setel. Masing-masing variabel input ini didokumentasikan di Terraform Registry. Input yang diperlukan untuk modul ini adalah:-
network_name
: Nama jaringan yang sedang dibuat -
project_id
: ID dari project tempat VPC ini akan dibuat -
subnets
: Daftar subnet yang sedang dibuat
-
Untuk menggunakan sebagian besar modul, Anda perlu meneruskan variabel input ke konfigurasi modul. Konfigurasi yang memanggil modul bertanggung jawab untuk mengatur nilai inputnya, yang akan diteruskan sebagai argumen ke blok modul. Selain source
dan version
, sebagian besar argumen pada blok modul akan menetapkan nilai variabel.
Di halaman Terraform Registry untuk modul jaringan Google Cloud, tab Inputs menjelaskan semua variabel input yang didukung modul.
Menetapkan variabel input root
Menggunakan variabel input dengan modul sangat mirip dengan cara menggunakan variabel dalam konfigurasi Terraform apa pun. Pola yang umum adalah mengidentifikasi variabel input modul yang mungkin ingin Anda ubah di masa mendatang, lalu membuat variabel yang sama di file variables.tf
konfigurasi Anda dengan nilai default yang logis. Variabel-variabel tersebut kemudian dapat diteruskan ke blok modul sebagai argumen.
- Untuk mengambil project ID Anda, jalankan perintah berikut di Cloud Shell:
-
Di Editor, masih di direktori yang sama, buka
variables.tf
. -
Isi variabel
project_id
dengan output dari perintah sebelumnya. Anda harus mengikuti format di bawah ini dan menetapkan nilaidefault
untuk variabel:
- Pada
variables.tf
, tambahkan variabelnetwork_name
. Anda dapat menggunakan namaexample-vpc
atau nama lain yang Anda inginkan. Anda harus mengikuti format di bawah ini dan menetapkan nilaidefault
untuk variabel:
- Kembali ke file
main.tf
, update parameternetwork_name
untuk menggunakan variabel yang baru saja Anda tetapkan dengan mengatur nilainya kevar.network_name
.
- Pada file
main.tf
, update region subnet pada baris 35, 40, dan 47 darius-west1
ke. Hal ini akan memastikan bahwa subnet dibuat di region yang diizinkan di project Anda. Modul Anda harus menyerupai yang berikut ini:
Menetapkan nilai output root
Modul juga memiliki nilai output, yang ditetapkan dalam modul dengan kata kunci output
. Anda dapat mengaksesnya dengan merujuk ke module.<MODULE NAME>.<OUTPUT NAME>
. Seperti halnya variabel input, output modul tercantum di bawah tab outputs
pada Terraform Registry.
Output modul biasanya diteruskan ke bagian lain konfigurasi Anda atau ditetapkan sebagai output di modul root Anda. Anda akan melihat kedua kegunaannya di lab ini.
- Buka file
outputs.tf
dalam direktori konfigurasi Anda. Verifikasi bahwa file tersebut berisi yang berikut ini:
Menyediakan infrastruktur
- Pada Cloud Shell, buka direktori
simple_project
Anda:
- Lakukan inisialisasi pada konfigurasi Terraform Anda:
- Buat VPC:
- Untuk menerapkan perubahan dan melanjutkan, tanggapi prompt dengan yes.
Bagus. Anda baru saja menggunakan modul pertama Anda. Output konfigurasi Anda akan terlihat seperti ini:
Memahami cara kerja modul
Saat menggunakan modul baru untuk pertama kalinya, Anda harus menjalankan terraform init
atau terraform get
untuk menginstal modul. Saat salah satu dari perintah ini dijalankan, Terraform akan menginstal modul baru di direktori .terraform/modules
dalam direktori kerja konfigurasi Anda. Untuk modul lokal, Terraform akan membuat symlink ke direktori modul. Oleh sebab itu, tiap perubahan pada modul lokal akan langsung berlaku, tanpa Anda harus menjalankan terraform get
lagi.
Mengosongkan infrastruktur Anda
Sekarang Anda telah mengetahui cara menggunakan modul dari Terraform Registry, cara mengonfigurasi modul tersebut dengan variabel input, dan cara mendapatkan nilai output dari modul tersebut.
- Hancurkan infrastruktur yang Anda buat:
-
Tanggapi prompt tersebut dengan
yes
. Terraform akan menghancurkan infrastruktur yang Anda buat. -
Setelah menghancurkan resource Anda, hapus folder
terraform-google-network
.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 2. Membangun modul
Pada tugas terakhir, Anda menggunakan modul dari Terraform Registry untuk membuat jaringan VPC di Google Cloud. Meskipun menggunakan modul Terraform yang ada dengan benar merupakan keterampilan yang penting, tiap praktisi Terraform juga akan mendapatkan manfaat dari mempelajari cara membuat modul. Kami menyarankan Anda untuk membuat tiap konfigurasi Terraform dengan asumsi bahwa konfigurasi tersebut dapat digunakan sebagai modul, karena hal ini akan membantu Anda mendesain konfigurasi agar fleksibel, dapat digunakan kembali, dan dapat disusun.
Seperti yang mungkin sudah Anda ketahui, Terraform memperlakukan tiap konfigurasi sebagai sebuah modul. Saat Anda menjalankan perintah terraform
, atau menggunakan Terraform Cloud atau Terraform Enterprise untuk menjalankan Terraform dari jarak jauh, direktori target yang berisi konfigurasi Terraform akan diperlakukan sebagai modul root.
Dalam tugas ini, Anda akan membuat modul untuk mengelola bucket Cloud Storage yang digunakan untuk menghosting situs statis.
Struktur modul
Terraform memperlakukan direktori lokal apa pun yang direferensikan dalam argumen source
dari blok module
sebagai modul. Struktur file tipikal untuk modul baru adalah:
.tf
atau menggunakan struktur file lain yang Anda inginkan.
Masing-masing file ini memiliki tujuan:
-
LICENSE
berisi lisensi untuk mendistribusikan modul Anda. Saat Anda membagikan modul Anda, file LICENSE akan membuat orang yang menggunakannya mengetahui persyaratan penyediaan modul tersebut. Terraform sendiri tidak menggunakan file ini. -
README.md
berisi dokumentasi dalam format markdown yang menjelaskan cara menggunakan modul Anda. Terraform tidak menggunakan file ini, tetapi layanan seperti Terraform Registry dan GitHub akan menampilkan konten file ini kepada pengunjung halaman Terraform Registry atau GitHub modul Anda. -
main.tf
berisi set konfigurasi utama untuk modul Anda. Anda juga dapat membuat file konfigurasi lain dan mengaturnya dengan cara yang sesuai untuk project Anda. -
variables.tf
berisi definisi variabel untuk modul Anda. Ketika modul Anda digunakan oleh orang lain, variabel akan dikonfigurasi sebagai argumen di blok modul. Karena semua nilai Terraform harus ditetapkan, semua variabel yang tidak memiliki nilai default akan menjadi argumen wajib. Variabel dengan nilai default juga dapat diberikan sebagai argumen modul, sehingga akan menggantikan nilai default. -
outputs.tf
berisi definisi output untuk modul Anda. Output modul tersedia untuk konfigurasi menggunakan modul, sehingga sering kali digunakan untuk meneruskan informasi tentang bagian infrastruktur Anda yang ditetapkan oleh modul ke bagian lain konfigurasi Anda.
Waspadai file-file ini dan pastikan Anda tidak mendistribusikannya sebagai bagian dari modul Anda:
- File
terraform.tfstate
danterraform.tfstate.backup
berisi status Terraform Anda dan merupakan cara Terraform melacak hubungan antara konfigurasi Anda dan infrastruktur yang disediakan olehnya. - Direktori
.terraform
berisi modul dan plugin yang digunakan untuk menyediakan infrastruktur Anda. File-file ini khusus untuk masing-masing instance Terraform saat menyediakan infrastruktur, bukan konfigurasi infrastruktur yang ditentukan dalam file-file.tf
. - File
*.tfvars
tidak perlu didistribusikan bersama modul Anda kecuali Anda juga menggunakannya sebagai konfigurasi Terraform mandiri karena variabel input modul disetel melalui argumen ke blok modul dalam konfigurasi Anda.
Membuat modul
Buka direktori home dan buat modul root dengan membuat file konfigurasi main.tf
yang baru. Kemudian buat direktori bernama modules yang berisi folder lain bernama gcs-static-website-bucket
. Anda akan bekerja dengan tiga file konfigurasi Terraform di dalam direktori gcs-static-website-bucket
: website.tf
, variables.tf
, dan outputs.tf
.
- Buat direktori untuk modul baru Anda:
- Buka direktori modul dan jalankan perintah berikut untuk membuat tiga file kosong:
- Pada direktori
gcs-static-website-bucket
, jalankan perintah berikut untuk membuat file bernamaREADME.md
dengan konten berikut:
- Buat file lain bernama
LICENSE
dengan konten berikut:
Struktur direktori modul Anda saat ini akan terlihat seperti ini:
- Tambahkan resource bucket Cloud Storage ini ke file
website.tf
di dalam direktorimodules/gcs-static-website-bucket
:
Dokumentasi penyedia adalah GitHub.
- Buka file
variables.tf
di modul Anda dan tambahkan kode berikut:
- Tambahkan output ke modul Anda di file
outputs.tf
di dalam modul Anda:
Seperti halnya variabel, output dalam modul menjalankan fungsi yang sama seperti di modul root, tetapi diakses dengan cara yang berbeda. Output modul dapat diakses sebagai atribut hanya baca pada objek modul, yang tersedia dalam konfigurasi yang memanggil modul.
- Kembalilah ke
main.tf
di direktori root lalu tambahkan referensi ke modul baru:
- Di direktori root, buat file
outputs.tf
untuk modul root Anda:
- Tambahkan kode berikut dalam file
outputs.tf
:
- Di direktori root, buat file
variables.tf
:
- Tambahkan kode berikut ke file
variables.tf
. Setel variabelproject_id
danname
ke nilai default untuk Project ID Anda:.
Menginstal modul lokal
Tiap kali Anda menambahkan modul baru ke konfigurasi, Terraform harus menginstal modul tersebut sebelum dapat digunakan. Perintah terraform get
dan terraform init
akan menginstal dan mengupdate modul. Perintah terraform init
juga akan melakukan inisialisasi pada backend dan menginstal plugin.
- Instal modul:
- Lakukan penyediaan bucket:
- Jawab yes pada prompt. Bucket Anda dan resource lainnya akan disediakan.
Mengupload file ke bucket
Anda sekarang telah mengonfigurasi dan menggunakan modul Anda sendiri untuk membuat situs statis. Anda mungkin ingin mengunjungi situs statis ini. Saat ini bucket Anda tidak ada isinya, jadi tidak ada yang dapat dilihat di situs. Untuk melihat konten apa pun, Anda perlu mengupload objek ke bucket Anda. Anda dapat mengupload konten direktori www
di repositori GitHub.
- Download contoh konten ke direktori home Anda:
- Salin file ke bucket dan ganti
YOUR-BUCKET-NAME
dengan nama bucket penyimpanan Anda:
- Di tab yang baru di browser Anda, buka situs
https://storage.cloud.google.com/YOUR-BUCKET-NAME/index.html
, dengan menggantiYOUR-BUCKET-NAME
dengan nama bucket penyimpanan Anda.
Anda akan melihat halaman web HTML dasar yang berbunyi Nothing to see here.
Klik Check my progress untuk memverifikasi tujuan.
Mengosongkan situs dan infrastruktur
Terakhir, Anda akan mengosongkan project dengan menghancurkan infrastruktur yang baru saja Anda buat.
- Hancurkan resource Terraform Anda:
Setelah Anda menjawab prompt dengan yes
, Terraform akan menghancurkan semua resource yang Anda buat dengan mengikuti lab ini.
Selamat!
Di lab ini, Anda telah mempelajari dasar-dasar modul Terraform dan cara menggunakan modul yang sudah ada dari Registry. Kemudian Anda membangun modul Anda sendiri untuk membuat situs statis yang dihosting di bucket Cloud Storage. Dengan melakukannya, Anda menetapkan input, output, dan variabel untuk file konfigurasi serta mempelajari praktik terbaik untuk membuat modul.
Langkah berikutnya/Pelajari Lebih Lanjut
Link-link ini menyediakan lebih banyak praktik interaktif dengan Terraform:
- Hashicorp di Google Cloud Marketplace
- Hashicorp Learn
- Komunitas Terraform
- Contoh Google Terraform
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 pada 26 Januari 2024
Lab Terakhir Diuji pada 11 Desember 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.