GSP234

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 Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal 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.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di 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.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
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.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (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.
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
- 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
gsutil cp -r gs://spls/gsp234/gsp234.zip .
- Jalankan perintah berikut untuk mengekstrak konten yang didownload:
unzip gsp234.zip
Mengaktifkan Gemini Code Assist di Cloud Shell IDE
Anda dapat menggunakan Gemini Code Assist di lingkungan pengembangan terintegrasi (IDE) seperti Cloud Shell untuk menerima panduan tentang kode atau menyelesaikan masalah dengan kode Anda. Sebelum mulai menggunakan Gemini Code Assist, Anda perlu mengaktifkannya.
- Di Cloud Shell, aktifkan Gemini for Google Cloud API dengan perintah berikut:
gcloud services enable cloudaicompanion.googleapis.com
- Klik Open Editor di toolbar Cloud Shell.
Catatan: Untuk membuka Cloud Shell Editor, klik Open Editor di toolbar Cloud Shell. Anda dapat beralih antara Cloud Shell dan Editor kode dengan mengklik Open Editor atau Open Terminal, sesuai kebutuhan.
-
Di panel kiri, klik ikon Settings, lalu di tampilan Settings, cari Gemini Code Assist.
-
Temukan dan pastikan kotak centang dipilih untuk Geminicodeassist: Enable, lalu tutup Settings.
-
Klik Cloud Code - No Project di status bar di bagian bawah layar.
-
Berikan otorisasi pada plugin seperti yang ditunjukkan. Jika project tidak dipilih secara otomatis, klik Select a Google Cloud Project, lalu pilih .
-
Pastikan project Google Cloud Anda () ditampilkan dalam pesan status Cloud Code di status bar.
Tugas 2. Memahami kode
- 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)
}
}
}
}
...
Anda dapat menggunakan fitur Gemini Code Assist yang didukung AI untuk membuat perubahan guna menjelaskan kode dalam file konfigurasi main.tf.
-
Klik Open Editor di Cloud Shell.
-
Buka file main.tf di file Explorer, dan dengan Gemini Code Assist diaktifkan di IDE, lihat ikon
yang ada di sudut kanan atas editor.
-
Klik ikon Gemini Code Assist: Smart Actions
, lalu pilih Explain this.
-
Gemini Code Assist akan membuka panel chat dengan perintah yang telah diisi sebelumnya, yakni Explain this. Di kotak teks inline chat Code Assist, ganti perintah yang sudah terisi dengan perintah berikut, lalu klik Send:
As an expert in cloud infrastructure, perform an in-depth analysis of the main.tf file to serve as a detailed onboarding document for a new engineer.
* Identify the code's primary function.
* Highlight the key design patterns and best practices that make it a robust and reusable module.
* Explain how the code uses advanced Terraform features like dynamic blocks and count to achieve flexibility.
* Conclude with a high-level summary of the overall design philosophy.
For the suggested improvements, don't update this file.
Penjelasan untuk kode dalam file konfigurasi main.tf akan muncul di chat Gemini Code Assist.
Selanjutnya, Anda akan mengupdate file variables.tf untuk menggunakan project ID dan region yang dialokasikan ke lab ini.
-
Di Cloud Shell Editor, masih di direktori yang sama, buka variables.tf. Seperti sebelumnya, perhatikan ikon
di sudut kanan atas editor.
-
Klik ikon Gemini Code Assist: Smart Actions
di toolbar.
-
Untuk mengupdate variabel project dan region, tempel perintah berikut ke kolom teks inline Gemini Code Assist yang terbuka dari toolbar.
Update the variables.tf configuration file with the following changes:
* Set the `default` argument for the "project" variable to {{{project_0.project_id | PROJECT_ID}}}.
* Set the `default` argument for the "region" variable to {{{project_0.default_region | REGION}}}.
-
Untuk meminta Gemini Code Assist mengubah kode yang sesuai, tekan ENTER.
-
Saat diminta di tampilan Gemini Diff, klik Accept.
Argumen default yang telah diupdate untuk variabel project dan region dalam file konfigurasi variables.tf sekarang akan terlihat seperti ini:
variable "project" {
description = "The project to deploy to, if not set the default provider project is used."
default = "{{{project_0.project_id | PROJECT_ID}}}"
}
variable "region" {
description = "Region for cloud resources"
default = "{{{project_0.default_region | REGION}}}"
}
Setelah selesai, simpan perubahan.
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.
- 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.
- 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.
- 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:

Tugas 5. Menginstal Proxy Cloud SQL
- Jalankan perintah berikut untuk mendownload proxy:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
- 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
- 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}"
- 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.
- Jalankan perintah berikut untuk membuka direktori
sql-with-terraform:
cd ~/sql-with-terraform
- Dapatkan sandi yang dihasilkan untuk MYSQL dengan perintah berikut:
echo MYSQL_PASSWORD=$(terraform output -json | jq -r '.generated_user_password.value')
- Jalankan perintah berikut untuk menguji koneksi MySQL:
mysql -udefault -p --host 127.0.0.1 default
-
Saat diminta, masukkan nilai MYSQL_PASSWORD, yang ditemukan di output di atas, lalu tekan ENTER.
-
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 2025 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.