Menyediakan resource Compute Engine dengan Terraform

HashiCorp Terraform adalah alat infrastruktur sebagai kode (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 Trusted Cloud guna menyediakan dan mengelola resource Trusted Cloud by S3NS , termasuk Compute Engine.

Halaman ini memperkenalkan cara menggunakan Terraform dengan Compute Engine, termasuk pengantar cara kerja Terraform dan beberapa resource untuk membantu Anda mulai menggunakan Terraform dengan Trusted Cloud. Anda juga akan menemukan link ke dokumen referensi Terraform untuk Compute Engine, contoh kode, dan panduan untuk menggunakan Terraform dalam menyediakan resource Compute Engine.

Untuk mengetahui petunjuk cara mulai menggunakan Terraform untuk Trusted Cloud, lihat Menginstal dan mengonfigurasi Terraform atau Mulai cepat Terraform untuk Trusted Cloud .

Cara kerja Terraform

Terraform memiliki sintaksis deklaratif dan berorientasi konfigurasi yang dapat Anda gunakan untuk mendeskripsikan infrastruktur yang ingin Anda sediakan di project Trusted Cloud Anda. Setelah menulis konfigurasi ini di satu atau beberapa file konfigurasi Terraform, Anda dapat menggunakan Terraform CLI untuk menerapkan konfigurasi ini ke resource Compute Engine Anda.

Langkah-langkah berikut menjelaskan cara kerja Terraform:

  1. Anda menjelaskan infrastruktur yang ingin Anda sediakan dalam file konfigurasi Terraform. Anda tidak perlu menulis kode yang menjelaskan cara menyediakan infrastruktur. Terraform menyediakan infrastruktur untuk Anda.
  2. Anda menjalankan perintah terraform plan, yang mengevaluasi konfigurasi dan membuat rencana eksekusi. Anda dapat meninjau rencana dan melakukan perubahan sesuai kebutuhan.
  3. Anda menjalankan perintah terraform apply, yang melakukan tindakan berikut:

    1. Layanan ini menyediakan infrastruktur Anda berdasarkan rencana eksekusi dengan memanggil Compute Engine API yang sesuai di latar belakang.
    2. File ini membuat file status Terraform, yang merupakan file JSON yang memetakan resource dalam file konfigurasi Anda ke resource dalam infrastruktur dunia nyata. Terraform menggunakan file ini untuk mencatat status terbaru infrastruktur Anda, dan untuk menentukan kapan harus membuat, memperbarui, dan menghancurkan resource.
    3. Saat Anda menjalankan terraform apply, Terraform menggunakan pemetaan dalam file status untuk membandingkan infrastruktur yang ada dengan kode, dan melakukan update sesuai kebutuhan:

      • Jika objek resource ditentukan dalam file konfigurasi, tetapi 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.

Resource Terraform untuk Compute Engine

Resource adalah elemen dasar dalam bahasa Terraform. Setiap blok resource menjelaskan satu atau beberapa objek infrastruktur, seperti jaringan virtual atau instance komputasi.

Tabel berikut mencantumkan resource Terraform yang tersedia untuk Compute Engine:

Resource Terraform Sumber data Terraform

Panduan berbasis Terraform untuk Compute Engine

Tabel berikut mencantumkan panduan dan tutorial cara penggunaan berbasis Terraform untuk Compute Engine:

Panduan Detail
Buat dan mulai instance Compute Engine Menjelaskan cara membuat instance virtual machine (VM).
Buat VM dengan disk SSD Lokal Menjelaskan cara membuat VM dengan penyimpanan disk SSD Lokal.
Membuat snapshot disk Menjelaskan cara membuat snapshot standar untuk mencadangkan data dari disk secara berkala.
Menduplikasi disk dengan clone Menjelaskan cara membuat clone disk zonal dari disk yang ada.
Membuat dan mengelola disk regional Menjelaskan cara membuat dan mengelola disk regional.
Membuat dan menggunakan Spot VM Menjelaskan cara membuat dan mengelola Spot VM. Spot VM adalah instance VM yang merupakan kapasitas berlebih Compute Engine. Spot VM tersedia dengan harga yang jauh lebih rendah dibandingkan dengan harga on-demand untuk VM standar
Menambahkan kunci SSH ke VM Menjelaskan cara menambahkan kunci SSH ke instance VM yang menggunakan Login OS dan VM yang menggunakan kunci SSH berbasis metadata.
Menjalankan skrip shutdown Menjelaskan cara membuat dan menjalankan skrip shutdown yang menjalankan perintah tepat sebelum instance VM dihentikan atau dimulai ulang.
Membuat pemesanan untuk satu project Menjelaskan cara membuat pemesanan satu project, yang hanya dapat digunakan oleh instance VM dalam project yang sama.
Membuat template instance Menjelaskan cara membuat dan mengelola template instance.
Menskalakan berdasarkan jadwal Menjelaskan cara membuat jadwal penskalaan untuk MIG yang ada. Dengan penskalaan otomatis berbasis jadwal, Anda dapat meningkatkan ketersediaan workload dengan menjadwalkan kapasitas sebelum beban yang diantisipasi.
Menambahkan penyimpanan Persistent Disk ke VM Anda Menjelaskan cara membuat volume Persistent Disk zonal non-boot kosong dan memasangnya ke VM Anda.
Menyiapkan Login OS Menjelaskan cara menyiapkan Login OS.
Melampirkan disk non-boot ke VM Menjelaskan cara melampirkan disk zonal non-boot ke VM Anda.
Membuat VM yang menggunakan akun layanan yang dikelola pengguna Menjelaskan cara membuat instance VM yang dikonfigurasi untuk menggunakan akun layanan yang dikelola pengguna. Akun layanan adalah jenis akun khusus yang biasanya digunakan oleh aplikasi atau workload komputasi untuk melakukan panggilan API yang diotorisasi.
Memperbesar ukuran persistent disk Menjelaskan cara memperbesar ukuran persistent disk.
Mengaktifkan tampilan virtual di VM Menjelaskan cara mengaktifkan tampilan virtual pada instance VM.
Membuat MIG dalam satu zona Menjelaskan cara membuat grup instance terkelola (MIG) dalam satu zona. Menempatkan semua VM MIG Anda dalam satu zona membantu meminimalkan latensi, yang berguna untuk workload tertentu, misalnya workload batch.
Membuat instance VM dengan nama host kustom Menjelaskan cara membuat instance VM dengan nama host kustom.
Menyiapkan health check dan autohealing berbasis aplikasi Menjelaskan cara menyiapkan health check berbasis aplikasi untuk melakukan pemulihan otomatis VM di MIG.
Membuat MIG yang menggunakan preemptible VM Menjelaskan cara membuat MIG yang menggunakan instance preemptible VM. Preemptible VM berguna jika workload Anda dapat menoleransi gangguan dan Anda ingin memanfaatkan penghematan biaya yang terkait dengan preemptible VM.
Menambahkan dan menghapus VM dari MIG Menjelaskan cara menambahkan dan menghapus VM dari MIG.
Membuat MIG dengan penskalaan otomatis yang diaktifkan Menjelaskan cara membuat MIG berskala otomatis yang otomatis menambahkan dan menghapus VM berdasarkan pemakaian CPU rata-rata di seluruh grup.
Membuat MIG dengan disk stateful Menjelaskan cara membuat MIG yang menggunakan instance preemptible VM. Preemptible VM berguna jika workload Anda dapat menoleransi gangguan dan Anda ingin memanfaatkan penghematan biaya yang terkait dengan preemptible VM.
Membuat instance VM SQL Server Menjelaskan cara membuat instance VM Microsoft SQL Server. SQL Server adalah sistem database yang berjalan di Windows Server dan beberapa distribusi Linux. Anda dapat menggunakan SQL Server di Compute Engine sebagai bagian dari backend untuk aplikasi Anda, sebagai lingkungan pengembangan dan pengujian yang fleksibel, atau sebagai tambahan pada sistem lokal Anda untuk pencadangan dan pemulihan dari bencana.
Membuat penetapan kebijakan OS Menjelaskan cara membuat penetapan kebijakan OS. Anda dapat menggunakan kebijakan OS untuk mempertahankan konfigurasi software yang konsisten di seluruh instance VM Linux dan Windows.
Mengonfigurasi metadata stateful di MIG Menjelaskan cara mengonfigurasi metadata stateful di MIG. Metadata instance berguna untuk menetapkan properti dan berkomunikasi dengan aplikasi Anda melalui server metadata.
Mengonfigurasi persistent disk stateful di MIG Menjelaskan cara mengonfigurasi persistent disk stateful di MIG. Dengan mengonfigurasi persistent disk menjadi stateful, Anda dapat memanfaatkan autohealing instance VM dan update otomatis sekaligus mempertahankan status disk.
Mengonfigurasi alamat IP stateful di MIG Menjelaskan cara mengonfigurasi alamat IP stateful di MIG. Dengan mengonfigurasi alamat IP stateful di MIG, Anda memastikan bahwa alamat IP dipertahankan saat instance VM dalam grup di-autohealing, diperbarui, dan dibuat ulang.
Menetapkan bentuk distribusi target untuk VM di MIG regional Menjelaskan cara menetapkan bentuk distribusi target untuk VM.
Membuat MIG dengan VM di beberapa zona dalam satu region Menjelaskan cara membuat MIG dengan VM-nya yang tersebar di beberapa zona dalam satu region. Menyebarkan beban aplikasi di beberapa zona akan melindungi workload Anda dari kegagalan zona.
Menonaktifkan dan mengaktifkan kembali redistribusi VM proaktif di MIG regional Menjelaskan cara menonaktifkan dan mengaktifkan kembali redistribusi VM proaktif di MIG regional. Dalam MIG regional, untuk mempertahankan jumlah instance VM yang genap di seluruh zona yang dipilih dalam region, gunakan redistribusi instance proaktif. Opsi konfigurasi ini memaksimalkan ketersediaan aplikasi Anda jika terjadi kegagalan tingkat zona.

Modul dan blueprint Terraform untuk Compute Engine

Modul dan blueprint membantu Anda mengotomatiskan penyediaan dan pengelolaan Trusted Cloud resource dalam skala besar. Modul adalah kumpulan file konfigurasi Terraform yang dapat digunakan kembali dan membuat abstraksi logis resource Terraform. Blueprint adalah paket modul yang dapat di-deploy dan dapat digunakan kembali, serta kebijakan yang menerapkan dan mendokumentasikan solusi tertentu.

Tabel berikut mencantumkan modul dan blueprint yang terkait dengan Compute Engine:

Modul atau blueprint Detail
terraform-google-vm Kumpulan submodule opini yang dapat Anda gunakan sebagai elemen penyusun untuk menyediakan VM di Trusted Cloud.
terraform-google-startup-scripts Menyediakan library skrip startup yang berguna untuk disematkan di VM.
terraform-google-container-vm Men-deploy container di instance Compute Engine

Langkah berikutnya