1. Pengantar
Terakhir diperbarui: 04-05-2020
Mempertimbangkan hubungan
Ada banyak jenis aplikasi dan kerangka kerja di luar sana. Dalam codelab ini, kita akan membahas cara terhubung ke Cloud SQL dari mana saja. Kemampuan untuk terhubung diaktifkan dengan mengizinkan IP yang diizinkan untuk terhubung secara eksplisit. Ini merupakan opsi yang paling tidak aman untuk terhubung ke database Cloud SQL, tetapi juga merupakan opsi yang paling mudah untuk disiapkan dan mulai digunakan.
Terkadang hal ini perlu dilakukan dalam produksi, tetapi jika Anda dapat menghindarinya, Anda harus memilih alternatif yang lebih aman (misalnya menggunakan Proxy Cloud SQL). Konfigurasi ini paling ideal untuk pengembangan dan pengujian.
Yang akan Anda bangun
Codelab ini sangat minimalis. Idenya adalah untuk memandu Anda memahami komponen-komponen sambungan, tanpa terlalu memikirkan aplikasi itu sendiri. Idealnya, menghubungkan ke Cloud SQL sama seperti menghubungkan ke instance database SQL lainnya sehingga Anda harus dapat mengambil apa yang Anda buat dalam codelab ini, dan menerapkannya ke aplikasi produksi apa pun.
Petunjuk ini akan mencakup panduan cara melakukan berbagai hal di konsol GCP, serta menyertakan perintah gcloud yang setara untuk digunakan di CLI atau otomatisasi.
Setiap langkah tersebut adalah:
- Membuat instance Cloud SQL (tutorial ini menggunakan Postgres, tetapi berfungsi serupa untuk MySQL atau SQL Server) dan memberi otorisasi pada IP khusus yang diizinkan untuk terhubung
Yang Anda butuhkan
- Akun GCP yang izinnya Anda miliki untuk mengaktifkan API dan membuat layanan
- Klien Postgres yang diinstal untuk memverifikasi konektivitas (atau klien MySQL jika Anda ingin menggunakan MySQL, bukan Postgres)
2. Membuat instance Cloud SQL
Cloud SQL adalah penawaran database relasional terkelola kami. Alat ini mendukung MySQL, PostgreSQL, dan SQL Server. Untuk codelab ini, kita akan membuat database Postgres, tetapi petunjuk untuk ketiganya sama.
Di Konsol
Buka halaman Cloud SQL, lalu klik tombol .
Seperti yang saya sebutkan, sebagian besar codelab ini bersifat umum untuk semua ragam SQL, tetapi untuk codelab ini, pilih PostgreSQL.
- Berikan ID kepada instance Anda
- Pilih region yang dekat dengan lokasi Anda
- Masukkan sandi untuk pengguna default (nama pengguna akan menjadi default untuk DB yang dipilih, misalnya
root
untuk MySQL ataupostgres
untuk PostgreSQL) - Scroll ke bawah dan klik
show configuration options
- Luaskan bagian
Connectivity
- Pastikan
Public IP
dicentang danPrivate IP
tidak dicentang - Klik tombol
- Dapatkan alamat IP dari tempat Anda terhubung. Cara termudah adalah cukup melakukan penelusuran di Google untuk "What's my IP" (Apa IP saya) dan hasil pencarian memiliki IP Anda yang dapat diakses publik di dalamnya.
- Masukkan spesifikasi IP ke kolom jaringan, beri nama jika diinginkan, lalu klik Selesai di kotak
New Network
. - Scroll ke bawah dan klik Buat
Biasanya perlu waktu beberapa menit untuk memulai instance.
Setelah instance selesai dibuat, klik instance tersebut dalam daftar, lalu di halaman ringkasan, di bawah header Connect to this instance
, salin public IP address
yang tercantum di sana. Instance tersebut tidak akan ada hingga instance dibuat sepenuhnya meskipun Anda dapat mengklik detailnya sebelum instance tersebut sepenuhnya dibuat.
Menggunakan gcloud
Pertama, Anda harus mengambil alamat IP yang ingin Anda beri otorisasi untuk terhubung ke instance Cloud SQL. Cara termudah untuk melakukannya adalah dengan membuka {i>browser<i}, dan menelusuri "What's my IP" (Apa IP saya) dan hasil penelusuran memiliki alamat IP
Anda yang dapat dilihat publik. Jika Anda tidak dapat membuka browser dari tempat Anda melakukannya, Anda dapat menggunakan utilitas seperti dig
.
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
Anda harus menentukan region untuk instance Cloud SQL yang terdekat dengan lokasi Anda. Anda dapat melihat daftar wilayah dengan menjalankan:
gcloud sql tiers list
Setiap tingkat hanya tersedia di region tertentu. Untuk bagian gcloud dari tutorial, kita hanya membuat instance mikro, sehingga Anda dapat menemukan region untuk tingkat ini yang tersedia dengan menjalankan secara khusus (selama Anda telah menginstal grep):
gcloud sql tiers list | grep db-f1-micro
Perintah untuk membuat instance itu sendiri terlihat seperti (jangan lupa untuk mengganti <AUTHORIZED_IP> dengan IP yang Anda dapatkan dari browser atau dig, dan <REGION> dengan satu yang dekat dengan Anda, dan sandi untuk pengguna root 'postgres'):
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
Proses ini membutuhkan waktu beberapa menit.
Setelah selesai, output di CLI akan mencantumkan PRIMARY_ADDRESS
instance. Salin kode tersebut untuk langkah berikutnya.
3. Menguji koneksi dan menyelesaikan
Untuk memastikan instance telah disiapkan dengan benar, dari alamat IP mesin yang Anda masukkan, Anda dapat menjalankan command line:
psql "host=<IP disalin dari langkah sebelumnya> port=5432 sslmode=disable user=postgres"
Kemudian, tentukan sandi pengguna default yang Anda siapkan saat membuat instance Cloud SQL.
Selamat! Jika semuanya berjalan lancar, Anda akan memiliki prompt Postgres dan dapat menjalankan perintah terhadap database Anda.
Apa selanjutnya?
Lihat beberapa codelab ini...