Ringkasan koneksi

Untuk menghubungkan aplikasi dan alat Anda dengan aman ke database AlloyDB untuk PostgreSQL, Anda dapat mengonfigurasi jaringan, otorisasi, autentikasi, dan penggabungan koneksi:

  • Jaringan: Instance AlloyDB menggunakan alamat IP publik atau pribadi di jaringan Virtual Private Cloud (VPC). Beberapa opsi memungkinkan koneksi yang aman dari aplikasi yang berjalan di luar jaringan VPC.

  • Otorisasi: Proxy Auth AlloyDB dan Konektor Bahasa AlloyDB memungkinkan Anda menggunakan Identity and Access Management (IAM) untuk mengontrol siapa yang memiliki akses ke data Anda. Aturan firewall jaringan VPC Anda memungkinkan Anda menyesuaikan akses ke resource AlloyDB lebih lanjut.

  • Autentikasi: Gunakan teknik autentikasi pengguna PostgreSQL standar untuk login ke instance Anda. AlloyDB juga mendukung autentikasi berbasis IAM menggunakan peran pengguna PostgreSQL standar.

  • Penggabungan: Untuk meningkatkan keandalan, performa, dan skalabilitas, gunakan penggabungan koneksi sisi klien PostgreSQL standar dan penggabungan koneksi terkelola sisi server.

Untuk panduan dalam memilih penyiapan konektivitas yang tepat untuk workload Anda, lihat Memilih opsi konektivitas.

Jaringan

Meskipun instance AlloyDB berisi banyak node, aplikasi Anda terhubung ke instance melalui satu alamat IP statis. Alamat ini dapat berupa alamat IP pribadi di jaringan VPC yang Anda tentukan saat pertama kali menyiapkan cluster instance, atau alamat IP publik yang memungkinkan koneksi langsung dari luar jaringan VPC.

IP Pribadi

Saat Anda mengonfigurasi AlloyDB dengan IP pribadi, instance Anda akan mendapatkan alamat IP pribadi dalam jaringan VPC Anda.

Alamat IP pribadi memengaruhi koneksi ke aplikasi Anda dengan dua cara:

  • Aplikasi yang berjalan di tempat lain dalam jaringan VPC project Anda dapat terhubung ke instance—atau ke proxy yang mewakili instance—tanpa langkah atau resource tambahan.

    Sebagai contoh, Menghubungkan dari Compute Engine menunjukkan cara terhubung ke instance AlloyDB dengan menjalankan program command line psql di VM Compute Engine dalam jaringan VPC Anda.

  • Aplikasi yang berjalan di luar jaringan VPC memerlukan layanan perantara untuk terhubung ke instance AlloyDB. Solusinya mencakup menjalankan layanan proxy di VM dalam jaringan VPC instance, atau menggunakan produk Google Cloud lain untuk membuat koneksi permanen antara aplikasi dan jaringan VPC Anda.

    Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke cluster dari luar VPC-nya.

Koneksi melalui IP pribadi biasanya memberikan latensi yang lebih rendah dan vektor serangan terbatas karena tidak perlu melintasi internet.

Untuk mempelajari lebih lanjut IP pribadi di AlloyDB, lihat Ringkasan IP pribadi.

IP Publik

Saat Anda mengonfigurasi AlloyDB dengan IP publik, instance Anda akan mendapatkan alamat IP publik untuk koneksi masuk yang dapat diakses di internet publik. Secara opsional, Anda dapat menggunakan jaringan eksternal yang diizinkan untuk menentukan rentang alamat IP dalam format CIDR yang dapat mengakses instance Anda.

Sebaiknya gunakan IP publik dengan Konektor Bahasa AlloyDB atau Proxy Auth AlloyDB untuk memastikan koneksi yang aman antara klien dan instance Anda.

Untuk mengetahui informasi selengkapnya tentang cara menambahkan alamat IP publik dan jaringan eksternal yang diizinkan ke instance Anda, lihat Terhubung menggunakan IP publik.

AlloyDB juga mendukung koneksi keluar dari instance Anda ke internet publik. Saat Anda mengaktifkan IP publik keluar, AlloyDB akan memberikan alamat IP sumber yang konsisten dan dapat diprediksi untuk traffic yang keluar dari instance AlloyDB Anda ke internet publik. Saat Anda mengaktifkan fitur ini, AlloyDB akan menyediakan sepasang alamat IP publik statis yang digunakan secara eksklusif untuk koneksi keluar dari instance Anda.

Koneksi keluar sangat berguna untuk skenario berikut:

  • Migrasi database: Saat memigrasikan data dari database eksternal ke AlloyDB menggunakan Database Migration Service, Anda dapat mengonfigurasi firewall database eksternal untuk mengizinkan koneksi dari alamat IP keluar tertentu dari instance AlloyDB Anda, sehingga memastikan jalur transfer data yang aman.

  • Foreign data wrapper: Jika Anda perlu mengkueri data dari database eksternal dalam AlloyDB menggunakan foreign data wrapper seperti postgres_fdw atau oracle_fdw, Anda dapat menambahkan alamat IP keluar instance ke daftar yang diizinkan database eksternal. Konfigurasi ini memungkinkan AlloyDB terhubung dan mengkueri sumber data eksternal dengan aman.

Saat mengaktifkan IP publik keluar, Anda dapat melihat alamat IP yang ditetapkan di konsol Google Cloud atau menggunakan gcloud CLI. Kemudian, Anda dapat menggunakan alamat IP ini untuk mengonfigurasi aturan firewall atau daftar kontrol akses (ACL) di sistem eksternal untuk memberi instance AlloyDB akses ke sistem eksternal Anda.

Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan IP publik keluar, lihat Menambahkan konektivitas keluar ke instance.

Otorisasi

Anda dapat mengontrol akses ke cluster AlloyDB menggunakan Konektor Bahasa AlloyDB, Proxy Auth AlloyDB, atau aturan firewall VPC.

Konektor Bahasa AlloyDB

Konektor Bahasa AlloyDB adalah library klien yang menyediakan mTLS otomatis menggunakan TLS 1.3 dan otorisasi IAM saat terhubung ke cluster AlloyDB.

Anda dapat menggunakan library ini secara langsung dari bahasa pemrograman masing-masing. Keduanya memberikan kemampuan yang sama dengan Proxy Auth tanpa memerlukan proses eksternal. Pendekatan ini memberikan keamanan yang lebih kuat dan persyaratan konfigurasi yang lebih rendah untuk terhubung ke AlloyDB.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan Konektor Bahasa AlloyDB.

Menghubungkan menggunakan gcloud

Untuk sesi database interaktif, Anda dapat menggunakan perintah gcloud beta alloydb connect. Perintah ini menyederhanakan proses koneksi dengan mengelola instance lokal Proxy Auth AlloyDB secara otomatis dan memulai sesi klien psql untuk Anda.

Untuk mengetahui informasi selengkapnya, lihat Menghubungkan menggunakan gcloud.

Mengontrol akses dengan IAM dan Proxy Auth AlloyDB

Meskipun Anda dapat terhubung langsung ke instance melalui alamat IP-nya, sebaiknya gunakan Proxy Auth AlloyDB di lingkungan produksi. Alat ini menyediakan kontrol akses berbasis IAM dan enkripsi end-to-end antara proxy dan cluster Anda.

Untuk mengetahui informasi selengkapnya, lihat Tentang Proxy Auth AlloyDB.

Membatasi akses VPC dengan aturan firewall

Seperti halnya project berbasis cloud, Anda harus menyesuaikan aturan firewall jaringan VPC untuk membatasi akses jaringan hanya ke rentang IP atau subnetwork yang terhubung dengan aplikasi Anda. Praktik ini sangat penting untuk aplikasi eksternal, seperti yang dijelaskan dalam Menghubungkan ke cluster dari luar VPC-nya.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi firewall jaringan VPC, lihat Aturan firewall VPC.

Autentikasi

AlloyDB mendukung dua jenis pengguna database, yang masing-masing memiliki cara sendiri untuk melakukan autentikasi dengan database Anda:

  • Peran pengguna PostgreSQL standar melakukan autentikasi menggunakan nama pengguna dan sandi. Anda dapat mengelola akun ini menggunakan teknik pengelolaan pengguna PostgreSQL biasa. Untuk mengetahui informasi selengkapnya, lihat Mengelola pengguna PostgreSQL dengan autentikasi bawaan.

  • Akun pengguna dan layanan IAM melakukan autentikasi sebagai pengguna database menggunakan token OAuth 2.0. Anda mengelola akun ini menggunakan sistemGoogle Cloud IAM. Untuk mengetahui informasi selengkapnya, lihat Mengelola autentikasi IAM.

Setelah melakukan autentikasi dengan instance AlloyDB, aplikasi dapat memperlakukan instance seperti server PostgreSQL biasa. Setelah membuat rute jaringan dan otorisasi ke instance, Anda dapat menggunakan teknik PostgreSQL standar untuk login ke instance dan mengakses data Anda. Hal ini berlaku baik saat login secara manual dengan alat seperti psql, maupun saat terhubung ke database secara terprogram menggunakan library kode PostgreSQL.

Biasanya, autentikasi pertama Anda dengan cluster AlloyDB baru melibatkan login ke instance utamanya sebagai pengguna postgres, menggunakan sandi yang Anda tentukan saat membuat cluster. Dari sana, Anda dapat membuat pengguna database tanpa hak istimewa administratif untuk penggunaan aplikasi Anda.

Jika Anda tidak menetapkan sandi untuk postgres saat membuat cluster, Anda tidak dapat login ke cluster. Untuk login, tetapkan sandi untuk postgres atau buat pengguna tambahan. Untuk mengetahui informasi selengkapnya, lihat Mengelola pengguna PostgreSQL dengan autentikasi bawaan.

Penggabungan

Penggabungan koneksi adalah teknik yang membantu Anda memastikan bahwa workload Anda memiliki koneksi yang andal dan berperforma tinggi ke database Anda. Fitur ini berguna di sisi klien dan server.

Penggabungan koneksi klien

Saat Anda terhubung ke AlloyDB, gunakan pool koneksi klien. Kumpulan koneksi klien membuat beberapa koneksi ke database Anda dan memastikan bahwa koneksi tersebut tetap aktif dan responsif selama masa aktif workload Anda. Pendekatan ini memastikan workload Anda memiliki koneksi yang andal ke database.

  • Saat Anda menjalankan kueri secara manual dari command line.
  • Saat Anda menggunakan bahasa yang tidak mendukung penggabungan koneksi klien.
  • Saat workload bersifat sementara dan tidak akan mempertahankan koneksi yang berumur panjang.

Anda dapat menggunakan kumpulan koneksi klien standar apa pun yang mendukung PostgreSQL. Perhatikan hal berikut:

  • Library kumpulan koneksi klien terkadang terpisah dari driver PostgreSQL.
  • Driver PostgreSQL terkadang menyertakan fungsi penggabungan koneksi klien dalam library yang sama.

Berikut adalah library kumpulan koneksi yang umum digunakan:

Jika library mendukung PostgreSQL, Anda dapat menggunakannya dengan AlloyDB.

Mengonfigurasi kumpulan koneksi klien

Untuk mendapatkan performa terbaik dari kumpulan koneksi klien, Anda mungkin perlu mengonfigurasi ukuran kumpulan. Gunakan formula berikut sebagai titik awal:

connections = (vCPU count * 2) + 1

Untuk mengetahui informasi selengkapnya, lihat Tentang Ukuran Pool. Bergantung pada beban dunia nyata, Anda mungkin perlu melakukan penyesuaian tambahan.

Menggunakan penggabungan koneksi terkelola

Selain penggabungan koneksi klien, AlloyDB juga mendukung penggabungan koneksi sisi server dengan penggabungan koneksi terkelola.

Meskipun Anda dapat menggunakan penggabungan koneksi terkelola untuk workload transaksional apa pun, penggabungan koneksi terkelola paling cocok untuk aplikasi yang berisi lebih banyak koneksi berumur pendek, atau aplikasi yang mungkin mengalami lonjakan koneksi. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi penggabungan koneksi terkelola.

Langkah berikutnya