Halaman ini merangkum Proxy Auth Cloud SQL dan menjelaskan cara menggunakannya untuk membuat koneksi yang terotorisasi, terenkripsi, dan aman, ke instance Anda.
Untuk petunjuk langkah demi langkah tentang cara menggunakan Proxy Auth Cloud SQL, ikuti link di bawah ini yang cocok untuk lingkungan Anda:
- Panduan memulai menggunakan Proxy Auth Cloud SQL
- Cara untuk terhubung menggunakan Proxy Auth Cloud SQL
- Cara untuk terhubung menggunakan Proxy Auth Cloud SQL dari GKE
Anda tidak perlu menggunakan Proxy Auth Cloud SQL atau mengonfigurasi SSL untuk terhubung ke Cloud SQL dari lingkungan standar App Engine atau lingkungan fleksibel App Engine.
Manfaat Proxy Auth Cloud SQL
Proxy Auth Cloud SQL adalah konektor Cloud SQL yang memberikan akses aman ke instance Anda tanpa memerlukan Jaringan yang diizinkan atau untuk mengonfigurasi SSL.
Proxy Auth Cloud SQL dan Cloud SQL Connectors lainnya memiliki manfaat sebagai berikut:
- Koneksi aman: Proxy Auth Cloud SQL secara otomatis mengenkripsi traffic ke dan dari database menggunakan TLS 1.3 dengan pemilihan penyandian yang ditentukan oleh Aturan Go. Sertifikat SSL digunakan untuk memverifikasi identitas klien dan server, serta tidak bergantung pada protokol database; Anda tidak perlu mengelola sertifikat SSL.
- Otorisasi koneksi yang lebih mudah: Proxy Auth Cloud SQL menggunakan izin IAM untuk mengontrol siapa dan apa yang dapat terhubung ke instance Cloud SQL Anda. Dengan demikian, Proxy Auth Cloud SQL menangani autentikasi dengan Cloud SQL, sehingga tidak perlu menyediakan alamat IP statis.
- Autentikasi database IAM. Secara opsional, Proxy Auth Cloud SQL mendukung pemuatan ulang otomatis token akses OAuth 2.0. Untuk mengetahui informasi tentang fungsi ini, lihat Autentikasi database IAM Cloud SQL.
Proxy Auth Cloud SQL tidak menyediakan jalur konektivitas baru; hal ini bergantung pada konektivitas IP yang ada. Untuk terhubung ke instance Cloud SQL menggunakan IP pribadi, Proxy Auth Cloud SQL harus berada di resource yang memiliki akses ke jaringan VPC yang sama dengan instance.
Cara kerja Proxy Auth Cloud SQL
Proxy Auth Cloud SQL bekerja dengan menjalankan klien lokal di lingkungan lokal. Aplikasi Anda berkomunikasi dengan Proxy Auth Cloud SQL menggunakan protokol database standar yang digunakan oleh database Anda.
Proxy Auth Cloud SQL menggunakan tunnel yang aman untuk berkomunikasi dengan proses pendampingnya yang berjalan di server. Setiap koneksi yang dibuat melalui Proxy Auth Cloud SQL membuat satu koneksi ke instance Cloud SQL.
Saat terhubung ke Proxy Auth Cloud SQL, aplikasi akan memeriksa apakah koneksi antara aplikasi tersebut dan instance Cloud SQL target telah tersedia. Jika tidak tersedia, maka koneksi akan memanggil Cloud SQL Admin API untuk mendapatkan sertifikat SSL sementara dan menggunakannya untuk terhubung ke Cloud SQL. Masa berlaku sertifikat SSL sementara akan habis dalam waktu sekitar satu jam. Proxy Auth Cloud SQL memperbarui sertifikat-sertifikat tersebut sebelum masa berlakunya habis.
Meskipun dapat me-listen pada port manapun, Proxy Auth Cloud SQL akan membuat koneksi keluar (egress connection)
ke instance Cloud SQL Anda hanya pada port 3307. Dikarenakan
Proxy Auth Cloud SQL akan memanggil API melalui nama domain sqladmin.googleapis.com
,
yang mana tidak memiliki alamat IP tetap, maka semua koneksi TCP yang keluar pada port 443
harus diizinkan. Jika mesin klien Anda memiliki kebijakan firewall untuk traffic keluar (outbound), pastikan
kebijakan tersebut mengizinkan koneksi keluar ke port 3307 pada IP
instance Cloud SQL.
Proxy Auth Cloud SQL tidak menyediakan connection pooling, tetapi dapat disambungkan dengan connection pooling lainnya untuk meningkatkan efisiensi.
Diagram berikut menunjukkan cara Proxy Auth Cloud SQL terhubung ke Cloud SQL:
Persyaratan untuk menggunakan Proxy Auth Cloud SQL
Untuk menggunakan Proxy Auth Cloud SQL, Anda harus memenuhi persyaratan berikut:
- Cloud SQL Admin API harus diaktifkan.
- Anda harus menyediakan kredensial autentikasi Google Cloud ke Proxy Auth Cloud SQL.
- Anda harus menyediakan sebuah akun dan sandi pengguna database yang valid ke Proxy Auth Cloud SQL.
Instance harus memilih antara memiliki alamat IPv4 publik, atau dikonfigurasi untuk menggunakan IP pribadi.
Alamat IP publik tidak perlu menjadi dapat diakses oleh alamat eksternal apa pun (IP tersebut tidak perlu ditambahkan sebagai alamat jaringan yang diotorisasi).
Download dan instal Proxy Auth Cloud SQL
Linux 64 bit
- Download Proxy Auth Cloud SQL:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.linux.amd64
- Buat Proxy Auth Cloud SQL agar dapat dieksekusi:
chmod +x cloud-sql-proxy
Linux 32 bit
- Download Proxy Auth Cloud SQL:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.linux.386
- Jika perintah
curl
tidak ditemukan, jalankansudo apt install curl
dan ulangi perintah download. - Buat Proxy Auth Cloud SQL agar dapat dieksekusi:
chmod +x cloud-sql-proxy
macOS 64-bit
- Download Proxy Auth Cloud SQL:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.darwin.amd64
- Buat Proxy Auth Cloud SQL agar dapat dieksekusi:
chmod +x cloud-sql-proxy
Mac M1
- Download Proxy Auth Cloud SQL:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.darwin.arm64
- Buat Proxy Auth Cloud SQL agar dapat dieksekusi:
chmod +x cloud-sql-proxy
Windows 64 bit
Klik kanan https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.x64.exe dan pilih Save Link As untuk mendownload Cloud SQL Auth Proxy. Ganti nama file menjadicloud-sql-proxy.exe
.
Windows 32 bit
Klik kanan https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.x86.exe dan pilih Save Link As untuk mendownload Cloud SQL Auth Proxy. Ganti nama file menjadicloud-sql-proxy.exe
.
Image Docker Proxy Auth Cloud SQL
Auth Proxy Cloud SQL memiliki image container yang berbeda, seperti distroless
, alpine
,
dan buster
. Image container Cloud SQL Auth Proxy default digunakan
distroless
, yang
tidak mengandung {i>shell<i}. Jika Anda membutuhkan {i>shell<i} atau alat terkait, maka unduh {i>image<i} berdasarkan
alpine
atau buster
.
Untuk informasi selengkapnya, lihat
Image Container Proxy Auth Cloud SQL.
Anda dapat menarik image terbaru ke mesin lokal Anda menggunakan Docker menggunakan perintah berikut:
docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.13.0
OS Lainnya
Untuk sistem operasi lain yang tidak disertakan di sini, Anda dapat mengompilasi Proxy Auth Cloud SQL dari sumber.Opsi startup Proxy Auth Cloud SQL
Saat memulai Proxy Auth Cloud SQL, Anda memberinya informasi berikut:
- Instance Cloud SQL mana saja yang akan dihubungkan
- Di mana proxy akan me-listen data yang datang dari aplikasi Anda, yang kemudian akan dikirim ke Cloud SQL
- Di mana tempat Proxy Auth Cloud SQL akan menemukan kredensial yang digunakan untuk mengautentikasi aplikasi Anda ke Cloud SQL
- Jika diperlukan, jenis alamat IP yang mana yang akan digunakan.
Berbagai opsi startup Proxy Auth Cloud SQL yang Anda berikan, menentukan apakah proxy tersebut akan me-listen di sebuah port TCP
atau di soket Unix. Jika me-listen di soket Unix, maka proxy tersebut akan membuat
soket di lokasi yang Anda pilih; biasanya di direktori /cloudsql/.
Untuk TCP, Proxy Auth Cloud SQL akan me-listen di localhost
secara default.
Jalankan file cloud-sql-proxy
yang dapat dieksekusi dengan argumen --help
untuk
melihat daftar lengkap opsi startup.
Anda dapat menginstal Proxy Auth Cloud SQL di mana saja di lingkungan lokal Anda. Lokasi biner Proxy Auth Cloud SQL tidak akan memengaruhi lewat mana proxy tersebut akan me-listen data dari aplikasi Anda.
Untuk mengetahui informasi selengkapnya tentang cara memulai Proxy Auth Cloud SQL, lihat Memulai Proxy Auth Cloud SQL.
Menggunakan akun layanan untuk autentikasi
Proxy Auth Cloud SQL perlu berautentikasi sebagai identitas IAM Cloud SQL untuk mengizinkan koneksi Anda ke instance Cloud SQL.
Keuntungan menggunakan sebuah akun layanan untuk tujuan ini adalah Anda dapat membuat file kredensial yang dikhususkan untuk Proxy Auth Cloud SQL, dan akan secara eksplisit serta permanen tertaut ke Proxy Auth Cloud SQL selama proxy tersebut berjalan. Oleh karena itu, menggunakan akun layanan adalah metode yang direkomendasikan untuk instance produksi yang tidak berjalan di instance Compute Engine.
File kredensial dapat diduplikasi dalam image sistem jika Anda perlu memanggil Proxy Auth Cloud SQL dari beberapa mesin.
Untuk menggunakan metode ini, Anda harus membuat dan mengelola file kredensial tersebut. Hanya pengguna
dengan izin resourcemanager.projects.setIamPolicy
(seperti project owner) yang dapat membuat akun layanan. Jika pengguna Google Cloud Anda
tidak memiliki izin ini, maka Anda harus meminta orang lain
untuk membuatkan akun layanan Anda, atau gunakan metode lain untuk
mengautentikasi Proxy Auth Cloud SQL.
Pelajari cara Membuat akun layanan.
Izin yang diperlukan untuk akun layanan
Jika Anda menggunakan sebuah akun layanan untuk menyediakan kredensial untuk Proxy Auth Cloud SQL, maka Anda
harus membuatnya menggunakan izin yang tepat. Jika Anda menggunakan peran
Identity Access and Management (IAM) yang lebih detail untuk mengelola izin Cloud SQL,
maka Anda harus memberi akun layanan tersebut sebuah peran yang
mencakup izin cloudsql.instances.connect
. Beberapa peran Cloud SQL bawaan
yang mencakup izin ini adalah:
- Cloud SQL Client
- Cloud SQL Editor
- Cloud SQL Admin
Jika Anda menggunakan peran project lama (Viewer, Editor, Owner), maka akun layanan setidaknya harus memiliki peran Editor.
Menjaga agar versi Proxy Auth Cloud SQL tetap terbaru
Google sewaktu-waktu merilis versi baru Proxy Auth Cloud SQL. Anda dapat melihat versi terkini dengan mengunjungi halaman rilis GitHub Proxy Auth Cloud SQL. Rilisan proxy yang akan datang juga akan diumumkan di forum pengumuman Cloud SQL Google Grup.
Penggunaan API
Proxy Auth Cloud SQL mengeluarkan permintaan ke Cloud SQL Admin API. Tiap permintaan yang keluar akan mengurangi kuota API project Anda.
Penggunaan API tertinggi terjadi saat Anda memulai Proxy Auth Cloud SQL. Saat berjalan, Proxy Auth Cloud SQL mengeluarkan 2 panggilan API per jam per instance yang terhubung.
Parameter dan flag Proxy Auth Cloud SQL
Proxy Auth Cloud SQL akan menerima beberapa flag dan parameter saat proxy tersebut dimulai. Berbagai opsi tersebut akan menentukan di mana dan bagaimana Proxy Auth Cloud SQL membuat soket yang digunakannya untuk berkomunikasi dengan Cloud SQL, serta bagaimana proxy tersebut berautentikasi.
Untuk mendapatkan bantuan terkait opsi Proxy Auth Cloud SQL, baca informasi di bawah ini:
- Opsi untuk mengautentikasi Proxy Auth Cloud SQL
- Contoh pemanggilan Proxy Auth Cloud SQL
- Halaman GitHub Proxy Auth Cloud SQL
- Bantuan Proxy Auth Cloud SQL, tampilkan menggunakan
./cloud-sql-proxy --help
Menggunakan Proxy Auth Cloud SQL di lingkungan produksi
Saat Anda menggunakan Proxy Auth Cloud SQL di lingkungan produksi, ada beberapa langkah yang dapat Anda lakukan untuk memastikan bahwa Proxy Auth Cloud SQL tersebut menyediakan ketersediaan yang diperlukan untuk aplikasi Anda.
Memastikan Proxy Auth Cloud SQL dijalankan sebagai layanan tetap
Jika proses Proxy Auth Cloud SQL terhenti, maka semua koneksi yang ada di dalamnya akan
terputus, dan aplikasi Anda tidak dapat membuat koneksi lagi ke
instance Cloud SQL dengan Proxy Auth Cloud SQL. Untuk mencegah skenario ini, pastikan untuk
menjalankan Proxy Auth Cloud SQL sebagai sebuah layanan tetap, sehingga jika Proxy Auth Cloud SQL berhenti karena
kejadian apa pun, maka layanan tersebut akan secara otomatis dimulai ulang. Ini dapat dilakukan dengan menggunakan
layanan seperti systemd
, upstart
, atau supervisor
. Untuk sistem operasi
Windows, jalankan Proxy Auth Cloud SQL sebagai Layanan Windows. Secara umum, pastikan Proxy Auth Cloud SQL memiliki
target waktu beroperasi yang sama dengan proses aplikasi Anda.
Berapa jumlah salinan Proxy Auth Cloud SQL yang dibutuhkan aplikasi Anda
Tidaklah diperlukan membuat satu proses proxy untuk setiap satu proses aplikasi; beberapa proses aplikasi dapat saling berbagi satu proses Proxy Auth Cloud SQL yang sama. Jalankan satu proses klien Proxy Auth Cloud SQL untuk satu workstation atau mesin virtual.
Jika Anda menggunakan penskalaan otomatis untuk mesin virtual, pastikan Proxy Auth Cloud SQL telah termasuk dalam konfigurasi mesin virtual Anda, sehingga setiap kali sebuah mesin virtual baru dimulai, mesin virtual tersebut akan memiliki proses Proxy Auth Cloud SQL sendiri.
Anda dapat mengelola berapa banyak koneksi yang dibutuhkan aplikasi Anda, baik dengan membatasi atau dengan mem-pooling koneksi. Proxy Auth Cloud SQL tidak memberlakukan pembatasan apa pun pada kecepatan koneksi baru atau pada jumlah koneksi persisten.
Mengurangi output Proxy Auth Cloud SQL
Jika Anda perlu mengurangi ukuran log Proxy Auth Cloud SQL, maka Anda dapat melakukannya dengan menyetel
--quiet
saat Anda memulai Proxy Auth Cloud SQL. Namun, perlu diingat bahwa tindakan
tersebut akan mengurangi efektivitas output Proxy Auth Cloud SQL dalam mendiagnosis masalah
koneksi.
Pengaruh failover terhadap Proxy Auth Cloud SQL
Jika Anda menjalankan Proxy Auth Cloud SQL pada instance yang dikonfigurasi untuk Ketersediaan Tinggi, lalu terjadi failover, maka koneksi yang melalui Proxy Auth Cloud SQL akan terpengaruh dengan cara yang sama seperti koneksi yang melalui IP: semua koneksi yang ada akan terputus, dan aplikasi tersebut harus membuat koneksi-koneksi yang baru. Namun, intervensi secara manual tidaklah diperlukan; aplikasi dapat terus menggunakan string koneksi yang sama seperti sebelumnya.
Menjaga agar versi image Docker Proxy Auth Cloud SQL selalu terbaru
Image Docker Proxy Auth Cloud SQL didasarkan pada versi tertentu dari Proxy Auth Cloud SQL. Ketika versi terbaru Proxy Auth Cloud SQL tersedia, tarik image Docker Proxy Auth Cloud SQL versi baru untuk menjaga lingkungan tetap menjadi yang terbaru. Anda dapat melihat versi terbaru Auth Proxy Cloud SQL dengan mengunjungi halaman rilis GitHub Proxy Auth Cloud SQL.
Cara memaksakan penggunaan Proxy Auth Cloud SQL
Anda dapat memaksakan penggunaan Proxy Auth Cloud SQL pada koneksi instance Cloud SQL menggunakan ConnectorEnforcement (PemaksaanKonektor). Dengan pemaksaan konektor, maka koneksi database langsung akan ditolak.
Untuk menggunakan pemaksaan konektor, gunakan kolom ConnectorEnforcement
di instances
API.
Untuk mengetahui informasi lebih lengkap, lihat Mengedit instance.
Tentang Operator Proxy Cloud SQL
Operator Proxy Cloud SQL adalah operator Kubernetes open source yang mengotomatisasi koneksi workload di sebuah klaster GKE ke database Cloud SQL. Operator Proxy Auth Cloud SQL menggunakan resource khusus AuthProxyWorkload yang menentukan konfigurasi Proxy Auth Cloud SQL untuk workload tertentu. Operator Proxy Auth Cloud SQL akan membaca resource ini dan menambahkan container Proxy Auth Cloud SQL dengan konfigurasi yang diperlukan ke workload yang sesuai.
Saat Anda menginstal operator di klaster GKE serta mengonfigurasi workload dan instance Cloud SQL, Operator Proxy Auth Cloud SQL akan secara otomatis mengonfigurasi Proxy Auth Cloud SQL dan menghubungkan workload GKE ke instance Cloud SQL Anda.
Operator Proxy Auth Cloud SQL juga akan memeriksa status Proxy Auth Cloud SQL. Jika Proxy Auth Cloud SQL tidak dapat terhubung, maka Operator Proxy Auth Cloud SQL akan membuat output informasi proses debug, dan memberi Anda panduan untuk memecahkan masalah serta memperbaiki masalah konfigurasi umum.
Untuk mengetahui informasi lebih lengkap, lihat Menghubungkan menggunakan Operator Proxy Cloud SQL.