Ringkasan Terraform di Google Cloud

HashiCorp Terraform adalah alat Infrastructure as Code (IaC) yang memungkinkan Anda menyediakan dan mengelola infrastruktur cloud. Terraform menyediakan plugin yang disebut penyedia yang memungkinkan Anda berinteraksi dengan penyedia cloud dan API lainnya. Anda dapat menggunakan penyedia Terraform untuk Google Cloud guna menyediakan dan mengelola infrastruktur. Google Cloud

Manfaat menggunakan Terraform

Bagian ini menjelaskan beberapa manfaat menggunakan Terraform untuk menyediakan dan mengelola infrastruktur Google Cloud :

  • Terraform adalah alat yang paling umum digunakan untuk menyediakan dan mengotomatiskan infrastrukturGoogle Cloud . Anda dapat menggunakan penyedia Google Cloud untuk mengonfigurasi dan mengelola semua resource Google Cloud menggunakan sintaksis dan alat deklaratif yang sama.
  • Terraform memungkinkan Anda menentukan status akhir yang diinginkan untuk infrastruktur Anda. Kemudian, Anda dapat men-deploy konfigurasi yang sama beberapa kali untuk membuat lingkungan pengembangan, pengujian, dan produksi yang dapat direproduksi.
  • Terraform memungkinkan Anda membuat rencana eksekusi yang menunjukkan tindakan yang akan dilakukan Terraform saat Anda menerapkan konfigurasi. Dengan begitu, Anda tidak akan terkejut saat Anda memodifikasi infrastruktur melalui Terraform.
  • Terraform memungkinkan Anda mengemas dan menggunakan kembali kode umum dalam bentuk modul. Modul ini menyediakan antarmuka standar untuk membuat resource cloud. Hal ini menyederhanakan project dengan meningkatkan keterbacaan dan memungkinkan tim mengatur infrastruktur dalam blok yang mudah dibaca. Selain itu, Google Cloud memublikasikan sejumlah modul yang dapat di-deploy dan memiliki opini sebagai cetak biru dan contoh mulai penggunaan sebagai Solusi Praktis.
  • Terraform mencatat status infrastruktur Anda saat ini dan memungkinkan Anda mengelola status secara efektif. File status Terraform melacak semua resource dalam deployment.

Menggunakan Terraform

Terraform memiliki sintaksis deklaratif dan berorientasi konfigurasi yang dapat Anda gunakan untuk menulis infrastruktur yang ingin Anda sediakan. Dengan sintaksis ini, Anda akan menentukan status akhir yang diinginkan untuk infrastruktur Anda dalam file konfigurasi Terraform. Kemudian, Anda akan menggunakan Terraform CLI untuk menyediakan infrastruktur berdasarkan file konfigurasi.

Langkah-langkah berikut menjelaskan cara kerja Terraform:

  1. Anda menjelaskan infrastruktur yang ingin disediakan dalam file konfigurasi Terraform. Google Cloud Anda tidak perlu membuat kode yang menjelaskan cara menyediakan konfigurasi ini.
  2. Anda menjalankan perintah terraform plan, yang mengevaluasi konfigurasi Anda dan membuat rencana eksekusi. Anda dapat meninjau rencana dan membuat perubahan sesuai kebutuhan.
  3. Kemudian, Anda menjalankan perintah terraform apply, yang melakukan tindakan berikut:
    • Layanan ini menyediakan infrastruktur Anda berdasarkan rencana eksekusi dengan memanggil Google Cloud API yang sesuai di latar belakang.
    • File ini membuat file status Terraform, yang merupakan pemetaan berformat JSON dari resource dalam file konfigurasi Anda ke resource dalam infrastruktur dunia nyata. Terraform menggunakan file ini untuk mengetahui status terbaru infrastruktur Anda, dan untuk menentukan kapan harus membuat, mengupdate, dan menghancurkan resource.
  4. Selanjutnya, saat Anda menjalankan terraform apply, Terraform menggunakan pemetaan dalam file status untuk membandingkan infrastruktur yang ada dengan kode, dan melakukan pembaruan sesuai kebutuhan:
    • Jika objek resource yang ditentukan dalam file konfigurasi tidak ada dalam file status, Terraform akan membuatnya.
    • Jika objek resource ada dalam file status, tetapi memiliki konfigurasi yang berbeda dari file konfigurasi Anda, Terraform akan memperbarui resource agar sesuai dengan file konfigurasi Anda.
    • Jika objek resource dalam file status cocok dengan file konfigurasi Anda, Terraform tidak akan mengubah resource.

Penyedia Google Cloud

Ada dua penyedia yang memungkinkan Anda menyediakan dan mengelola infrastruktur: Google Cloud

  • google: Gunakan penyedia ini untuk menyediakan dan mengelola Google Cloud API.
  • google-beta: Gunakan penyedia ini untuk menyediakan dan mengelola API beta Google Cloud.

Untuk mengetahui petunjuk tentang cara menggunakan penyedia ini, lihat referensi konfigurasi penyedia Google Cloud.

Penyedia google dan google-beta dikembangkan menggunakan alat yang disebut Magic Modules. Modul Ajaib memungkinkan kontributor membuat perubahan pada satu codebase dan mengembangkan penyedia google dan google-beta secara bersamaan.

Anda dapat berkontribusi pada penyedia Google Cloud menggunakan Magic Modules dengan mengikuti petunjuk dalam panduan kontribusi Magic Modules.

Langkah berikutnya