Anda dapat menggunakan klien command line PostgreSQL untuk terhubung ke Cloud SQL. Halaman ini menjelaskan cara menghubungkan
psql
klien ke instance Cloud SQL Anda, baik yang berjalan
secara lokal di mesin klien Anda, di VM Compute Engine,
atau di Cloud Shell.
Sebelum memulai
Sebelum Anda dapat menggunakan klien psql
untuk terhubung ke instance Cloud SQL,
lakukan hal berikut:
-
Membuat instance Cloud SQL, termasuk mengonfigurasi pengguna default.
Lihat Membuat instance dan Menetapkan sandi untuk akun pengguna default.
Anda dapat memilih untuk membuat instance VM Compute Engine, lalu hubungkan ke instance tersebut menggunakan SSH.
Lihat Membuat dan memulai instance VM, Tentang koneksi SSH, atau Menghubungkan ke VM Windows menggunakan RDP.
Tentukan cara Anda terhubung ke instance.
Untuk mengetahui opsi koneksi dan cara memilih di antaranya, lihat Tentang opsi koneksi.
Menggunakan klien PostgreSQL di mesin lokal atau VM Compute Engine
Penggunaan klien psql
untuk terhubung ke instance Cloud SQL melibatkan tiga tugas tingkat tinggi:
Menginstal klien
Untuk menginstal klien psql
, lakukan hal berikut:
Debian/Ubuntu
Instal klien psql dari pengelola paket:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
Instal klien psql dari pengelola paket:
sudo yum install postgresql
openSUSE
Instal klien psql dari pengelola paket:
sudo zypper install postgresql
Platform lainnya
- Download PostgreSQL Core Distribution untuk platform dari
halaman Download PostgreSQL.
Core Distribution sudah termasuk klien psql. - Instal database PostgreSQL, dengan mengikuti petunjuk di halaman download.
Konfigurasi akses ke instance Cloud SQL
Untuk mengonfigurasi akses ke instance Anda, lakukan hal berikut:
- Dari mesin klien atau instance VM Compute Engine, gunakan Apa IP saya untuk melihat alamat IP mesin klien.
- Salin alamat IP tersebut.
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Pilih Koneksi dari menu navigasi SQL.
- Pilih tab Networking.
- Di bagian Jaringan yang diizinkan, klik Tambahkan jaringan, lalu masukkan alamat IP komputer tempat klien diinstal.
- Klik Done. Lalu klik Save di bagian bawah halaman untuk menyimpan perubahan.
- Hubungkan ke instance Anda, baik menggunakan SSL/TLS atau tanpa enkripsi (tanpa menggunakan SSL/TLS).
Menghubungkan ke instance Cloud SQL tanpa enkripsi
Agar Anda dapat terhubung tanpa enkripsi, instance harus menetapkan
mode SSL
ke ALLOW_UNENCRYPTED_AND_ENCRYPTED
. Di konsol Google Cloud, konfigurasi yang setara adalah Allow unencrypted network traffic.
Untuk informasi selengkapnya tentang konfigurasi SSL/TLS instance Anda, lihat Mengonfigurasi sertifikat SSL/TLS.
Untuk terhubung ke instance, lakukan langkah berikut:
- Pastikan Anda telah menginstal klien dan mengonfigurasi akses ke instance Anda.
- Mulai klien
psql
:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- Masukkan sandi.
- Prompt psql akan muncul.
Menghubungkan ke instance Cloud SQL menggunakan SSL/TLS
Untuk terhubung ke instance Anda menggunakan SSL/TLS dan autentikasi bawaan:
- Mulai klien
psql
:psql "sslmode=require \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
Contoh:
psql "sslmode=require \ hostaddr=203.12.34.56 \ user=postgres dbname=postgres"
Anda mungkin juga perlu membuat File Layanan Koneksi untuk mengelola parameter koneksi, terutama jika Anda terhubung ke lebih dari satu instance. Untuk mengetahui informasi selengkapnya, lihat dokumentasi PostgreSQL.
- Masukkan sandi Sandi bersifat wajib untuk Cloud SQL meskipun PostgreSQL mendukung konektivitas tanpa sandi saat menggunakan SSL/TLS.
- Anda dapat mengonfirmasi bahwa koneksi dienkripsi dengan mencari cipher
di informasi koneksi:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Menghubungkan ke instance Cloud SQL menggunakan SSL/TLS dan verifikasi sertifikat klien
Jika ssl_mode
di instance Cloud SQL Anda dikonfigurasi ke
TRUSTED_CLIENT_CERTIFICATE_REQUIRED
,
Anda juga harus memberikan identitas klien terverifikasi saat login.
Untuk terhubung menggunakan sertifikat SSL/TLS dengan verifikasi klien, Anda memerlukan hal berikut:
- Sertifikat kunci publik klien dalam file client-cert.pem.
- Kunci pribadi klien dalam file client-key.pem.
Selain itu, agar klien dapat memverifikasi identitas server untuk otentikasi timbal balik, tentukan sertifikat server server-ca.pem.
Misalnya, untuk memulai klienpsql
:
psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
Jika Anda tidak memiliki sertifikat klien dan kunci pribadi yang sesuai, buat sertifikat klien baru.
Menggunakan klien di Cloud Shell
Untuk terhubung ke instance Cloud SQL (hanya IP publik):
- Buka konsol Google Cloud.
- Klik ikon Cloud Shell
di sebelah kanan pada toolbar.
Cloud Shell memerlukan waktu beberapa saat untuk diinisialisasi.
- Pada layar perintah Cloud Shell, gunakan klien
bawaan untuk terhubung ke instance Cloud SQL Anda:
gcloud sql connect INSTANCE_ID \ --user=postgres
- Masukkan sandi.
Perintah gcloud sql connect
tidak mendukung koneksi
ke instance Cloud SQL menggunakan IP pribadi atau SSL/TLS. Agar terhubung
dengan enkripsi, instal dan gunakan proxy di Cloud Shell:
- Instal proxy (Linux 64-bit) di direktori
/home/USER
. - Mulai proxy, menggunakan autentikasi gcloud CLI:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Hubungkan ke database menggunakan koneksi TCP:
psql -U USERNAME --host=127.0.0.1
Langkah berikutnya
- Pelajari cara mengonfigurasi instance dengan alamat IP pribadi.
- Pelajari opsi untuk terhubung ke instance dari aplikasi Anda.
- Pelajari cara
kerja klien
psql
dengan SSL.
Coba sendiri
JIka Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi perfoma Cloud SQL dalam skenario di dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud SQL gratis