Konektor Cloud SQL adalah library yang menyediakan enkripsi dan otorisasi berbasis Identity and Access Management (IAM) saat terhubung ke instance Cloud SQL. Klien tidak dapat menyediakan jalur jaringan ke instance Cloud SQL jika belum ada.
Cara lain untuk terhubung ke instance Cloud SQL mencakup menggunakan klien database atau Proxy Auth Cloud SQL. Lihat halaman Tentang opsi koneksi untuk mengetahui informasi selengkapnya tentang cara terhubung ke instance Cloud SQL.
Halaman ini membahas Konektor Cloud SQL berikut:
- Konektor Java Cloud SQL
- Konektor Python Cloud SQL (Buka di Colab)
- Konektor Go Cloud SQL
- Konektor Node.js Cloud SQL
Manfaat
Menggunakan konektor Cloud SQL memberikan manfaat berikut:
- Otorisasi IAM: Menggunakan izin IAM untuk mengontrol siapa atau apa yang dapat terhubung ke instance Cloud SQL Anda.
- Kepraktisan: Menghapus persyaratan untuk mengelola sertifikat SSL, mengonfigurasi aturan firewall, atau mengaktifkan jaringan yang diizinkan.
Sebelum memulai
- Aktifkan Cloud SQL Admin API.
- Buat instance Cloud SQL, termasuk mengonfigurasi pengguna default.
Untuk mengetahui informasi selengkapnya tentang cara membuat instance, lihat Membuat instance.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi pengguna default, lihat Menyetel sandi untuk akun pengguna default.
- Konfigurasi peran dan izin yang diperlukan untuk terhubung ke instance Cloud SQL.
Penyiapan
Java
Konektor Java Cloud SQL adalah library yang memberikan otorisasi dan enkripsi berbasis IAM saat terhubung ke instance Cloud SQL. Kode ini tidak dapat menyediakan jalur jaringan ke instance Cloud SQL jika belum ada.
Instal
Guna mengetahui petunjuk tentang cara mem-build dan menggunakan driver untuk JDBC dan R2DBC dengan Konektor Java Cloud SQL, lihat link berikut:
- JDBC: Menghubungkan ke Cloud SQL menggunakan JDBC.
- R2DBC: Menghubungkan ke Cloud SQL menggunakan R2DBC.
Untuk contoh library ini yang digunakan dalam konteks aplikasi, lihat aplikasi contoh ini.
Autentikasikan
Library ini menggunakan Kredensial Default Aplikasi untuk mengautentikasi koneksi ke server Cloud SQL.
Untuk mengaktifkan kredensial secara lokal, gunakan perintah gcloud berikut:
gcloud auth application-default login
Hubungkan dengan Intellij
Untuk menghubungkan IntelliJ ke instance Cloud SQL Anda, Anda akan perlu untuk menambahkan library sebagai jar dengan dependensi di bagian File Tambahan pada halaman setelan driver. Misalnya, fat jar bawaan dapat ditemukan di halaman Rilis Konektor Java Cloud SQL untuk tujuan ini.
Python
Konektor Python Cloud SQL adalah library yang dapat digunakan bersama driver database agar pengguna dengan izin yang memadai dapat terhubung ke database Cloud SQL tanpa harus memasukkan IP ke daftar yang diizinkan secara manual atau mengelola sertifikat SSL.
Untuk contoh interaktif penggunaan Konektor Python Cloud SQL, buka notebook Konektor Python Cloud SQL.
Driver yang didukung SQL Server adalah pytds.
Instal
Untuk menginstal rilis terbaru Cloud SQL Python Connector, gunakan perintah pip install
dan tentukan driver pytds
untuk database Anda:
pip install "cloud-sql-python-connector[pytds]"
Autentikasikan
Library ini menggunakan Kredensial Default Aplikasi untuk mengautentikasi koneksi ke server Cloud SQL.
Untuk mengaktifkan kredensial secara lokal, gunakan perintah gcloud berikut:
gcloud auth application-default login
Go
Konektor Go Cloud SQL adalah konektor Cloud SQL yang dirancang untuk digunakan dengan bahasa Go. Untuk meningkatkan keamanan, konektor ini menggunakan enkripsi TLS 1.3 yang tangguh dan diautentikasi secara manual antara konektor klien dan proxy sisi server, terlepas dari protokol database.
Instal
Anda dapat menginstal repo ini dengan go get
:
go get cloud.google.com/go/cloudsqlconn
Node.js
Node.js Connector adalah library yang dirancang untuk digunakan bersama runtime Node.js yang memungkinkan Anda untuk terhubung dengan aman ke instance Cloud SQL Anda.
Instal
Anda dapat menginstal library dengan npm install
:
npm install @google-cloud/cloud-sql-connector
Gunakan
Java
Untuk melihat cuplikan ini dalam konteks aplikasi web, lihat README di GitHub.
Python
Lihat Cara menggunakan Konektor ini untuk petunjuk mendetail tentang menggunakan library. Lihat contoh kode pengujian koneksi di GitHub.
Go
Lihat Penggunaan untuk mengetahui petunjuk mendetail tentang cara menggunakan library. Lihat contoh kode pengujian koneksi di GitHub.
Node.js
Untuk petunjuk mendetail tentang penggunaan library ini, lihat Penggunaan.
Terapkan
Dengan menggunakan pemaksaan konektor, Anda dapat mewajibkan penggunaan hanya Proxy Auth Cloud SQL atau Cloud SQL Language Connectors untuk terhubung ke instance Cloud SQL. Dengan penerapan konektor, Cloud SQL akan menolak koneksi langsung ke database.
Jika Anda menggunakan instance yang mengaktifkan Private Service Connect, akan ada batasan. Jika instance mengaktifkan penerapan konektor, Anda tidak dapat membuat replika baca untuk instance tersebut. Demikian pula, jika instance memiliki replika baca, Anda tidak dapat mengaktifkan penerapan konektor untuk instance tersebut.
gcloud
Untuk mewajibkan penggunaan hanya Proxy Auth Cloud SQL atau Cloud SQL Language Connectors untuk terhubung ke instance, gunakan perintah gcloud sql instances patch
:
gcloud sql instances patch INSTANCE_NAME \ --connector-enforcement=REQUIRED
Ganti INSTANCE_NAME
dengan nama instance Cloud SQL Anda.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance
- INSTANCE_NAME: nama instance Cloud SQL Anda
Metode HTTP dan URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Meminta isi JSON:
{ "kind": "sql#instance", "name": INSTANCE_NAME, "project": PROJECT_ID, "settings": { "connectorEnforcement": "REQUIRED", "kind": "sql#settings" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Memecahkan masalah
Versi driver
Pastikan Anda menggunakan versi terbaru Konektor Cloud SQL dan driver database Anda untuk menghindari ketidakcocokan. Beberapa versi driver lama tidak didukung.
Jalur koneksi
Konektor Cloud SQL memberikan otorisasi untuk koneksi, tetapi tidak menyediakan jalur baru ke konektivitas. Misalnya, agar dapat terhubung ke instance Cloud SQL menggunakan alamat IP Pribadi, aplikasi Anda harus sudah memiliki akses VPC.
Men-debug masalah koneksi
Untuk mendapatkan bantuan tambahan terkait masalah koneksi, lihat halaman Memecahkan masalah dan Men-debug masalah koneksi.
Langkah berikutnya
- Lihat halaman beranda Konektor Java Cloud SQL di GitHub.
- Lihat halaman beranda Konektor Python Cloud SQL di GitHub.
- Pelajari lebih lanjut tentang Proxy Auth Cloud SQL.
- Pelajari lebih lanjut tentang IAM.
- Pelajari tentang opsi untuk dukungan.