Terhubung ke Cloud SQL: IP publik dan jaringan yang diizinkan

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 241836b315e11bf5.pngS.

Seperti yang saya sebutkan, sebagian besar codelab ini bersifat umum untuk semua ragam SQL, tetapi untuk codelab ini, pilih PostgreSQL.

  1. Berikan ID kepada instance Anda
  2. Pilih region yang dekat dengan lokasi Anda
  3. Masukkan sandi untuk pengguna default (nama pengguna akan menjadi default untuk DB yang dipilih, misalnya root untuk MySQL atau postgres untuk PostgreSQL)
  4. Scroll ke bawah dan klik show configuration options
  5. Luaskan bagian Connectivity
  6. Pastikan Public IP dicentang dan Private IP tidak dicentang
  7. Klik tombol 883b32ec2734de01.pngS
  8. 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.
  1. Masukkan spesifikasi IP ke kolom jaringan, beri nama jika diinginkan, lalu klik Selesai di kotak New Network.
  2. 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...

Dokumen referensi