Menyediakan resource Cloud Storage 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 Google Cloud guna menyediakan dan mengelola Google Cloud resource, termasuk Cloud Storage.

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

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

Cara kerja Terraform

Terraform memiliki sintaksis deklaratif dan berorientasi konfigurasi yang dapat Anda gunakan untuk mendeskripsikan infrastruktur yang ingin Anda sediakan di Google Cloud project Anda. Setelah menulis konfigurasi ini di satu atau beberapa file konfigurasi Terraform, Anda dapat menggunakan Terraform CLI untuk menerapkan konfigurasi ini ke resource Cloud Storage 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 membuat perubahan sesuai kebutuhan.
  3. Anda menjalankan perintah terraform apply, yang melakukan tindakan berikut:

    1. Layanan ini menyediakan infrastruktur Anda berdasarkan rencana eksekusi dengan memanggil Cloud Storage 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, mengupdate, 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 Cloud Storage

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 Cloud Storage:

Layanan Resource Terraform Sumber data

Cloud Storage

Layanan Terraform: Cloud Storage

Storage Intelligence

Layanan Terraform: Cloud Storage Control

Fitur operasi batch penyimpanan Storage Intelligence

Layanan Terraform: Cloud Storage Batch Operations

-

Fitur Insight Penyimpanan dari Storage Intelligence

Layanan Terraform: Cloud Storage Insights

Panduan berbasis Terraform untuk Cloud Storage

Tabel berikut mencantumkan panduan dan tutorial cara penggunaan berbasis Terraform untuk Cloud Storage:

Panduan Detail
Panduan memulai: menggunakan Terraform untuk membuat bucket dan mengupload objek Panduan memulai ini menunjukkan cara mulai menggunakan Terraform dengan membuat file konfigurasi Terraform yang menyediakan bucket penyimpanan dan mengupload objek contoh ke bucket tersebut.
Membuat bucket Panduan ini menjelaskan cara membuat bucket.
Mendapatkan metadata bucket Panduan ini menjelaskan cara melihat metadata bucket.
Upload objek Panduan ini menjelaskan cara mengupload objek ke bucket dari sistem file lokal Anda.
Mendapatkan metadata objek Panduan ini menjelaskan cara melihat metadata objek.
Mengelola siklus proses objek Panduan ini menjelaskan cara menetapkan konfigurasi siklus proses untuk bucket.
Mengonfigurasi notifikasi Pub/Sub Panduan ini menjelaskan cara mengonfigurasi bucket Anda untuk mengirim notifikasi tentang perubahan objek ke topik Pub/Sub.
Membuat kunci HMAC Panduan ini menjelaskan cara membuat kunci hash-based message authentication code (HMAC) untuk akun layanan di project Anda.
Membuat data tersedia untuk publik Panduan ini menjelaskan cara membuat semua objek dalam bucket dapat dibaca oleh semua orang di internet publik.
Hosting situs statis Panduan ini menjelaskan cara mengonfigurasi bucket untuk menghosting situs statis untuk domain yang Anda miliki.

Modul dan blueprint Terraform untuk Cloud Storage

Modul dan blueprint membantu Anda mengotomatiskan penyediaan dan pengelolaan Google 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 cetak biru yang terkait dengan Cloud Storage:

Modul atau blueprint Detail
terraform-google-cloud-storage Modul ini membuat satu atau beberapa bucket Cloud Storage dan menetapkan izin dasar pada bucket tersebut ke pengguna arbitrer.

Langkah berikutnya