Create Cloud SQL instance using Terraform script

Periksa progres saya

/ 100

Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP234

Lab mandiri Google Cloud

Ringkasan

Di lab praktik ini, Anda akan mempelajari cara membuat instance Cloud SQL dengan Terraform, lalu menyiapkan Proxy Cloud SQL, dengan menguji koneksi dengan klien MySQL.

Tujuan

Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:

  • Membuat instance Cloud SQL.
  • Menginstal Proxy Cloud SQL.
  • Menguji konektivitas dengan klien MySQL menggunakan Cloud Shell.

Penyiapan dan persyaratan

Sebelum mengklik tombol Start 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 interaktif ini dapat Anda gunakan untuk melakukan 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).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Cara memulai lab dan login ke Konsol Google Cloud

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kanan terdapat panel Lab setup and access yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Kredensial sementara (nama pengguna dan sandi) yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini

    Perhatikan bahwa timer lab terletak di dekat bagian atas halaman, yang menampilkan waktu yang tersisa.

  2. 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.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab setup and access.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab setup and access.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Penggunaan akun Google Cloud sendiri untuk lab ini mungkin dikenai biaya tambahan.
  7. Klik untuk melanjutkan ke halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan daftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search. Ikon Navigation menu dan kolom Search

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.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Menginstal Terraform

Terraform tidak diinstal sebelumnya di Cloud Shell. Anda harus menginstal Terraform CLI dan mengonfigurasinya agar tetap ada di seluruh sesi Cloud Shell.

  1. Untuk mengonfigurasi repositori HashiCorp dan menginstal Terraform, serta memastikan penginstalan ini tetap ada di sesi mendatang, jalankan perintah berikut di terminal Cloud Shell:
cat <<'EOF' > ~/.customize_environment # Siapkan repositori HashiCorp dan instal Terraform wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install -y terraform EOF bash ~/.customize_environment
  1. Untuk memverifikasi bahwa Terraform telah diinstal dengan benar, jalankan:
terraform --version

Output akan menampilkan versi yang diinstal (v1.5.7 atau yang lebih baru):

Terraform v1.9.0

Cloud SQL

Cloud SQL adalah layanan database terkelola sepenuhnya yang mempermudah penyiapan, pemeliharaan, pengelolaan, dan pengaturan database relasional di Google Cloud. Anda dapat menggunakan Cloud SQL dengan MySQL atau PostgreSQL.

Tugas 1. Mendownload file yang diperlukan

  1. Gunakan perintah berikut di terminal Cloud Shell untuk membuat direktori dan mengambil skrip Terraform yang diperlukan dari bucket Cloud Storage:
mkdir sql-with-terraform cd sql-with-terraform gcloud storage cp gs://spls/gsp234/gsp234.zip .
  1. Jalankan perintah berikut untuk mengekstrak konten yang didownload:
unzip gsp234.zip

Tugas 2. Memahami kode

  1. Gunakan perintah cat untuk melihat konten file main.tf:
cat main.tf

Contoh output:

... resource "google_sql_database_instance" "master" { name = "example-mysql-${random_id.name.hex}" project = var.project region = var.region database_version = var.database_version master_instance_name = var.master_instance_name settings { tier = var.tier activation_policy = var.activation_policy authorized_gae_applications = var.authorized_gae_applications disk_autoresize = var.disk_autoresize dynamic "backup_configuration" { for_each = [var.backup_configuration] content { binary_log_enabled = lookup(backup_configuration.value, "binary_log_enabled", null) enabled = lookup(backup_configuration.value, "enabled", null) start_time = lookup(backup_configuration.value, "start_time", null) } } dynamic "ip_configuration" { for_each = [var.ip_configuration] content { ipv4_enabled = lookup(ip_configuration.value, "ipv4_enabled", true) private_network = lookup(ip_configuration.value, "private_network", null) require_ssl = lookup(ip_configuration.value, "require_ssl", null) dynamic "authorized_networks" { for_each = lookup(ip_configuration.value, "authorized_networks", []) content { expiration_time = lookup(authorized_networks.value, "expiration_time", null) name = lookup(authorized_networks.value, "name", null) value = lookup(authorized_networks.value, "value", null) } } } } ...

Selanjutnya, Anda akan memperbarui file variables.tf untuk menggunakan ID project dan region yang dialokasikan untuk lab ini.

  1. Klik Open Editor di Cloud Shell.
  2. Buka variables.tf dan modifikasi variabel project serta region dengan nilai yang ditunjukkan di bawah ini:
  • project:
  • region:

Setelah selesai, simpan perubahan yang telah dilakukan.

Tugas 3. Menjalankan Terraform

Perintah terraform init digunakan untuk melakukan inisialisasi direktori kerja yang berisi file konfigurasi Terraform.

Perintah ini menjalankan beberapa langkah inisialisasi yang berbeda untuk menyiapkan direktori kerja agar dapat digunakan. Perintah ini selalu aman untuk dijalankan beberapa kali, untuk memperbarui direktori kerja dengan perubahan dalam konfigurasi.

  1. Jalankan terraform init:
terraform init

Perintah terraform plan adalah perintah opsional tetapi direkomendasikan dan digunakan untuk membuat 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 atau tidak, tanpa membuat perubahan apa pun pada resource sebenarnya atau pada statusnya. Misalnya, terraform plan dapat dijalankan sebelum melakukan perubahan pada kontrol versi, untuk meyakinkan Anda bahwa kontrol versi tersebut akan berperilaku sesuai harapan.

  1. Jalankan terraform plan:
terraform plan -out=tfplan

Argumen -out yang bersifat opsional dapat digunakan untuk menyimpan rencana yang dihasilkan ke sebuah file untuk dieksekusi pada lain waktu dengan terraform apply.

Perintah terraform apply digunakan untuk menerapkan perubahan yang diperlukan untuk mencapai status konfigurasi yang diinginkan, atau serangkaian tindakan yang telah ditentukan sebelumnya yang dihasilkan oleh rencana eksekusi terraform plan.

  1. Terapkan Terraform plan yang baru saja Anda buat:
terraform apply tfplan

Proses ini memerlukan waktu beberapa saat hingga selesai. Setelah selesai, Anda akan melihat output seperti di bawah ini.

Output:

Apply complete! Resources: 5 added, 0 changed, 0 destroyed. The state of your infrastructure has been saved to the path below. This state is required to modify and destroy your infrastructure, so keep it safe. To inspect the complete state use the `terraform show` command. State path: terraform.tfstate Outputs: generated_user_password = instance_address = 35.232.204.44 instance_address_time_to_retire = instance_name = example-mysql-6808 self_link = https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/example-mysql-6808

Menguji tugas yang sudah selesai

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Membuat instance Cloud SQL menggunakan skrip Terraform

Tugas 4. Memahami Proxy Cloud SQL

Yang disediakan oleh proxy

Proxy Cloud SQL menyediakan akses aman ke instance Cloud SQL Generasi Kedua Anda tanpa harus memasukkan alamat IP ke daftar yang diizinkan atau mengonfigurasi SSL.

Mengakses instance Cloud SQL Anda menggunakan Proxy Cloud SQL menawarkan keuntungan berikut:

  • Koneksi aman: Proxy akan otomatis mengenkripsi traffic ke dan dari database menggunakan TLS 1.2 dengan cipher AES 128-bit. Sertifikat SSL digunakan untuk memverifikasi identitas klien dan server.
  • Pengelolaan koneksi yang lebih mudah: Proxy akan menangani autentikasi dengan Cloud SQL, sehingga Anda tidak perlu menyediakan alamat IP statis.
Catatan: Anda tidak perlu menggunakan proxy atau mengonfigurasi SSL untuk terhubung ke Cloud SQL dari lingkungan standar atau fleksibel App Engine. Koneksi ini menggunakan implementasi proxy "bawaan" secara otomatis.

Cara kerja Proxy Cloud SQL

Proxy Cloud SQL bekerja dengan menjalankan klien lokal, yang disebut proxy, di lingkungan lokal. Aplikasi Anda berkomunikasi dengan proxy menggunakan protokol standar yang digunakan oleh database Anda. Proxy menggunakan tunnel yang aman untuk berkomunikasi dengan proses pendampingnya yang berjalan di server.

Diagram berikut menunjukkan cara proxy terhubung ke Cloud SQL:

Diagram koneksi proxy yang mencakup kode pihak ketiga dan kode Cloud SQL dalam Cloud SQL dan mesin klien.

Tugas 5. Menginstal Proxy Cloud SQL

  1. Jalankan perintah berikut untuk mendownload proxy:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
  1. Jalankan perintah berikut untuk membuat proxy dapat dieksekusi:
chmod +x cloud_sql_proxy

Anda dapat menginstal proxy di mana saja di lingkungan Anda. Lokasi program biner proxy tidak akan memengaruhi tempat proxy tersebut akan me-listen data dari aplikasi Anda.

Opsi startup proxy

Saat memulai proxy, Anda memberinya serangkaian informasi berikut:

  • Instance Cloud SQL yang akan dihubungkan
  • Tempat proxy akan me-listen data yang datang dari aplikasi Anda dan akan dikirim ke Cloud SQL
  • Tempat proxy akan menemukan kredensial yang digunakan untuk mengautentikasi aplikasi Anda ke Cloud SQL

Opsi startup proxy yang Anda berikan menentukan apakah proxy tersebut akan me-listen di port TCP atau di soket Unix. Jika me-listen di soket Unix, proxy tersebut akan membuat soket di lokasi yang Anda pilih; biasanya di direktori /cloudsql/. Untuk TCP, proxy akan me-listen localhost secara default.

Tugas 6. Menguji koneksi ke database

  1. Mulai dengan menjalankan proxy Cloud SQL untuk instance Cloud SQL:
MYSQL_DB_NAME=$(terraform output -json | jq -r '.instance_name.value') MYSQL_CONN_NAME="{{{project_0.project_id | PROJECT_ID}}}:{{{project_0.default_region|REGION}}}:${MYSQL_DB_NAME}"
  1. Jalankan perintah berikut:
./cloud_sql_proxy -instances=${MYSQL_CONN_NAME}=tcp:3306

Sekarang Anda akan memulai tab Cloud Shell lain dengan mengklik ikon plus (+). Anda akan menggunakan shell ini untuk terhubung ke proxy Cloud SQL.

  1. Jalankan perintah berikut untuk membuka direktori sql-with-terraform:
cd ~/sql-with-terraform
  1. Dapatkan sandi yang dihasilkan untuk MYSQL dengan perintah berikut:
echo MYSQL_PASSWORD=$(terraform output -json | jq -r '.generated_user_password.value')
  1. Jalankan perintah berikut untuk menguji koneksi MySQL:
mysql -udefault -p --host 127.0.0.1 default
  1. Saat diminta, masukkan nilai MYSQL_PASSWORD, yang ditemukan di output di atas, lalu tekan ENTER.

  2. Anda seharusnya dapat login ke command line MYSQL. Keluar dari MYSQL dengan menekan CTRL+D.

Jika Anda kembali ke tab Cloud Shell pertama, Anda akan melihat log untuk koneksi yang dibuat ke Proxy Cloud SQL.

Tugas 7. Menguji pemahaman Anda

Di bawah ini terdapat beberapa pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep-konsep dalam lab ini. Jawab pertanyaan tersebut sebaik mungkin.

Selamat!

Di lab ini, Anda menggunakan Terraform untuk membuat instance Cloud SQL dan menyiapkan Proxy Cloud SQL. Kemudian, Anda menguji koneksi antara keduanya dengan klien MySQL.

Langkah berikutnya/Pelajari lebih lanjut

Baca informasi tentang cara mengelola project Google Cloud dengan 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 29 Agustus 2025

Lab Terakhir Diuji pada 13 Oktober 2025

Hak cipta 2026 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami dapat memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami dapat menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.