Halaman ini memberikan ringkasan tentang cara terhubung ke instance Cloud SQL dan menjelaskan opsi autentikasi dan otorisasi yang tersedia.
Ringkasan
Saat mempertimbangkan cara untuk terhubung ke instance Cloud SQL, terdapat banyak pilihan yang perlu diingat, termasuk:
- Apakah Anda ingin instance Cloud SQL dapat diakses dari internet, atau dirahasiakan dalam jaringan Virtual Private Cloud (VPC), atau membuatnya dapat diakses secara publik dan pribadi?
- Apakah Anda berencana menulis kode koneksi sendiri, atau ingin terhubung menggunakan alat yang tersedia untuk publik seperti Proxy Auth Cloud SQL atau klien psql?
- Apakah Anda ingin mewajibkan enkripsi melalui SSL/TLS atau mengizinkan traffic yang tidak terenkripsi?
Di bagian berikut, kita akan membahas opsi yang disediakan Cloud SQL untuk menghubungkan, memberi otorisasi, dan mengautentikasi ke database Anda.
- Cara menghubungkan - jalur jaringan mana yang Anda gunakan untuk menjangkau instance:
- Alamat IP internal khusus VPC (Pribadi).
- Alamat IP eksternal yang dapat diakses internet (Publik).
- Cara memberikan otorisasi - koneksi mana yang diotorisasi dan diizinkan untuk
terhubung ke instance Cloud SQL Anda:
- Library proxy Auth Cloud SQL dan konektor Cloud SQL untuk Java dan Python - library ini menyediakan akses berdasarkan IAM.
- Sertifikat SSL/TLS yang dikelola sendiri - sertifikat ini hanya mengizinkan koneksi berdasarkan kunci publik tertentu.
- Jaringan yang diizinkan - daftar alamat IP yang diizinkan untuk terhubung.
- Cara mengautentikasi - metode untuk login ke database Anda.
- Autentikasi database bawaan - login dengan nama pengguna/sandi yang disetel di mesin database.
- Autentikasi database IAM - login dengan email atau token OAuth 2.0 sebagai sandi.
Gunakan informasi berikut untuk memutuskan opsi koneksi, otorisasi, dan autentikasi yang paling cocok bagi Anda.
Sebelum memulai
Memberi akses ke aplikasi tidak otomatis mengaktifkan akun pengguna database untuk terhubung ke instance. Sebelum dapat terhubung ke instance, Anda harus memiliki akun pengguna database yang dapat dihubungkan. Untuk instance baru, ini berarti Anda harus mengonfigurasi akun pengguna default. Untuk informasi selengkapnya, lihat Mengelola pengguna dengan autentikasi bawaan.
Cara terhubung ke Cloud SQL
Koneksi database menggunakan resource di server dan aplikasi yang terhubung. Selalu gunakan praktik pengelolaan koneksi yang baik untuk meminimalkan jejak aplikasi Anda dan mengurangi kemungkinan terlampauinya batas koneksi Cloud SQL. Untuk mengetahui informasi selengkapnya, lihat Mengelola koneksi database.
IP publik dan pribadi
Di Cloud SQL, IP publik berarti instance dapat diakses melalui internet publik. Sebaliknya, instance yang hanya menggunakan IP pribadi tidak dapat diakses melalui internet publik, tetapi dapat diakses melalui Virtual Private Cloud (VPC). Instance Cloud SQL dapat memiliki alamat IP publik dan pribadi.
IP Pribadi
IP pribadi adalah alamat IPv4 yang dapat diakses di Virtual Private Cloud (VPC).
Anda dapat menggunakan alamat ini untuk terhubung dari resource lain yang memiliki akses ke VPC. Koneksi melalui IP pribadi biasanya memberikan latensi yang lebih rendah dan vektor serangan terbatas karena tidak perlu melintasi internet. Secara opsional, Anda dapat mewajibkan agar semua koneksi menggunakan proxy Cloud SQL atau sertifikat SSL yang dikelola sendiri.
Sebaiknya konfigurasi instance dengan IP pribadi saat terhubung dari klien di resource yang memiliki akses ke VPC. Untuk mengetahui informasi lebih lanjut tentang resource yang dapat menggunakan IP pribadi, lihat Persyaratan untuk IP Pribadi.
Untuk jalur IP pribadi, layanan dan aplikasi berikut terhubung langsung ke instance Anda melalui Akses VPC Serverless:
- Lingkungan standar App Engine
- Lingkungan fleksibel App Engine
- Cloud Functions
- Cloud Run
Pelajari lebih lanjut cara menggunakan IP pribadi dengan Cloud SQL
Untuk mengetahui petunjuk tentang cara menambahkan IP pribadi ke instance, lihat salah satu hal berikut:
- Mengonfigurasi Konektivitas IP Pribadi.
- Menghubungkan ke instance menggunakan Private Service Connect
IP Publik
IP publik adalah alamat IPv4 yang tersedia secara eksternal di internet publik. Alamat ini dapat menerima koneksi dari perangkat di dalam dan di luar jaringan Google, termasuk dari lokasi seperti rumah atau kantor Anda.
Untuk membantu menjaga keamanan instance Anda, setiap koneksi ke instance Cloud SQL yang menggunakan IP publik harus diberi otorisasi menggunakan Proxy Auth Cloud SQL atau jaringan yang diizinkan.
Mengonfigurasi instance dengan IP publik adalah cara terbaik saat terhubung dari klien yang tidak memenuhi persyaratan VPC.
Untuk mengetahui petunjuk tentang cara menambahkan IP publik ke instance, lihat Mengonfigurasi Konektivitas IP Publik.
Untuk mengetahui informasi tentang cara menghubungkan klien psql ke instance Cloud SQL menggunakan IP publik, lihat Menghubungkan menggunakan klien database.
Alamat IP yang ditetapkan secara dinamis
Beberapa aplikasi perlu terhubung ke instance Cloud SQL Anda menggunakan alamat IP yang ditetapkan secara dinamis atau sementara. Hal ini berlaku untuk aplikasi Platform as a Service (PaaS), dan lain-lain.
Dalam hal ini, Anda harus menggunakan Proxy Auth Cloud SQL.
Cara memberikan otorisasi ke Cloud SQL
Cloud SQL Language Connector
Konektor Bahasa Cloud SQL adalah library klien yang memberikan enkripsi dan otorisasi IAM saat terhubung ke instance Cloud SQL. Cloud SQL merekomendasikan penggunaan Cloud SQL Language Connectors untuk terhubung ke instance Cloud SQL Anda, bukan opsi koneksi lainnya.
Anda dapat menggunakan library ini secara langsung dari bahasa pemrograman yang didukung. Keduanya memberikan autentikasi yang sama dengan Proxy Auth Cloud SQL tanpa memerlukan proses eksternal. Hal ini memberikan keamanan yang lebih kuat dan persyaratan konfigurasi yang lebih rendah untuk terhubung ke Cloud SQL. Cloud SQL Language Connector juga menggunakan kode yang sama saat terhubung menggunakan alamat IP publik atau alamat IP pribadi.
Untuk memulai, lihat Cloud SQL Language Connector.
Proxy Auth Cloud SQL
Dengan Proxy Auth Cloud SQL, Anda dapat memberi otorisasi dan mengamankan koneksi menggunakan izin Identity and Access Management (IAM). Proxy Auth Cloud SQL memvalidasi koneksi menggunakan kredensial untuk pengguna atau akun layanan, dan menggabungkan koneksi dalam lapisan SSL/TLS yang diberi otorisasi untuk instance Cloud SQL. Untuk mengetahui detail selengkapnya tentang cara kerja Proxy Auth Cloud SQL, lihat Tentang Proxy Auth Cloud SQL.
Menggunakan Proxy Auth Cloud SQL adalah metode yang direkomendasikan untuk mengautentikasi koneksi ke instance Cloud SQL karena merupakan metode teraman.
Proxy Auth Cloud SQL adalah library open source yang didistribusikan sebagai biner yang dapat dieksekusi. Proxy Auth Cloud SQL bertindak sebagai server perantara yang memproses koneksi masuk, menggabungkannya ke dalam SSL/TLS, lalu meneruskannya ke instance Cloud SQL.
Beberapa lingkungan menyediakan mekanisme yang terhubung menggunakan Proxy Auth Cloud SQL. Untuk mengetahui petunjuk tentang cara menghubungkan menggunakan lingkungan tersebut, lihat salah satu hal berikut:
- Terhubung dari Cloud Run
- Terhubung dari Cloud Functions
- Terhubung dari lingkungan standar App Engine
- Menghubungkan dari lingkungan Fleksibel App Engine
- Terhubung dari Google Kubernetes Engine
Sertifikat SSL/TLS yang dikelola sendiri
Daripada menggunakan Proxy Auth Cloud SQL untuk mengenkripsi koneksi Anda, ini memungkinkan untuk menyiapkan sertifikat SSL/TLS klien/server yang khusus untuk instance Cloud SQL. Sertifikat ini digunakan untuk memvalidasi klien dan server satu sama lain dan mengenkripsi koneksi di antara keduanya.
Sangat disarankan untuk menggunakan sertifikat SSL/TLS yang dikelola sendiri untuk memberikan enkripsi saat tidak menggunakan Proxy Auth Cloud SQL. Jika hal ini tidak dilakukan, data Anda akan disebarkan secara tidak aman dan mungkin dicegat atau diperiksa oleh pihak ketiga.
Untuk mulai menggunakan sertifikat SSL/TLS yang dikelola sendiri, lihat Memberikan otorisasi dengan sertifikat SSL/TLS.
Jaringan resmi
Kecuali menggunakan Proxy Auth Cloud SQL, koneksi ke alamat IP publik suatu instance hanya diizinkan jika koneksi tersebut berasal dari jaringan resmi. Jaringan yang diizinkan adalah alamat atau rentang IP yang telah ditentukan sebagai pengguna memiliki izin untuk terhubung.
Untuk mulai menggunakan jaringan resmi lihat Memberikan otorisasi dengan Jaringan Resmi.
Cara mengautentikasi ke Cloud SQL
Autentikasi memberikan kontrol akses dengan memverifikasi identitas pengguna. Untuk pengguna akhir, autentikasi dicapai saat pengguna memasukkan kredensial (nama pengguna dan sandi). Untuk aplikasi, autentikasi dilakukan saat kredensial pengguna ditetapkan ke akun layanan.
Cloud SQL menggunakan autentikasi bawaan database yang melakukan autentikasi menggunakan nama pengguna dan sandi. Untuk mengetahui informasi selengkapnya, lihat membuat dan mengelola pengguna PostgreSQL.
Cloud SQL juga terintegrasi dengan IAM untuk membantu Anda memantau dan mengelola akses database pengguna dan akun layanan dengan lebih baik. Fitur ini disebut autentikasi database IAM.Pelajari lebih lanjut tentang autentikasi database IAM.
Pelajari lebih lanjut tentang cara membuat dan mengelola pengguna yang menggunakan autentikasi database IAM.
Alat untuk terhubung ke Cloud SQL
Tabel berikut berisi beberapa opsi untuk terhubung ke Cloud SQL:
Opsi koneksi | Informasi selengkapnya |
---|---|
Proxy Auth Cloud SQL | |
gcloud CLI | |
Cloud SQL language connector | |
Cloud Shell | |
Cloud Code | |
Terhubung menggunakan alat administrasi database pihak ketiga | |
pgAdmin | |
Toad Edge | |
Blendo |
Contoh kode
Anda dapat terhubung ke Proxy Auth Cloud SQL dari bahasa apa pun yang memungkinkan Anda terhubung ke soket Unix atau TCP. Di bawah ini terdapat beberapa cuplikan kode dari contoh lengkap di GitHub untuk membantu memahami cara kerja dalam aplikasi.
Memecahkan masalah
Jika Anda mengalami masalah saat menghubungkan, periksa halaman berikut untuk membantu melakukan proses debug atau menemukan solusi untuk masalah umum:
- Proses debug masalah koneksi
- Error konektivitas umum
- Memecahkan masalah koneksi Proxy Auth Cloud SQL
- Masalah koneksi umum
Langkah selanjutnya
- Pelajari cara terhubung dengan Panduan memulai Cloud SQL untuk postgres.
- Pelajari praktik terbaik untuk mengelola koneksi database.
- Pelajari tentang autentikasi database IAM.
- Pelajari cara terhubung menggunakan klien psql dari mesin lokal atau Compute Engine.
- Pelajari cara mengonfigurasi konektivitas IP.
- Pelajari tentang Proxy Auth Cloud SQL.
- Pelajari opsi untuk dukungan.