Ringkasan ini menjelaskan konfigurasi koneksi dan akses penting untuk database AlloyDB Omni yang di-deploy di cluster Kubernetes, dan menjelaskan secara mendetail cara membuat konektivitas yang fleksibel dan aman. Koneksi mencakup area berikut:
- Jaringan: pelajari cara mengonfigurasi cluster database AlloyDB Omni untuk akses internal menggunakan Layanan
ClusterIPKubernetes atau akses eksternal menggunakanLoadBalancer, termasuk cara membatasi traffic eksternal menggunakan rentang Classless Inter-Domain Routing (CIDR) sumber. - Penggabungan koneksi: gunakan Resource Kustom
PgBounceruntuk menerapkan penggabungan koneksi guna pengelolaan koneksi yang efisien dan mengurangi beban pada instance database. - Autentikasi dan otorisasi: akses yang aman menggunakan metode yang didukung seperti integrasi berbasis sandi dan Active Directory/Kerberos, bersama dengan kontrol terperinci yang diterapkan melalui kebijakan jaringan Kubernetes dan peran PostgreSQL.
Jaringan
Anda dapat mengonfigurasi cluster database AlloyDB Omni—yang dikelola oleh resource kustom DBCluster—untuk akses internal atau eksternal.
Untuk mengetahui detail selengkapnya tentang opsi jaringan DBCluster, lihat Referensi CRD DBCluster.
Konektivitas internal
Secara default, instance AlloyDB Omni diekspos menggunakan Layanan ClusterIP Kubernetes. Hal ini memastikan bahwa instance hanya dapat diakses oleh aplikasi lain yang berjalan di cluster Kubernetes yang sama. Anda dapat menemukan endpoint untuk instance utama di status DBCluster.
Konektivitas eksternal
Untuk mengizinkan koneksi dari luar cluster Kubernetes, perbarui spesifikasi DBCluster:
- Aktifkan traffic eksternal: tetapkan
spec.allowExternalIncomingTraffic: true, yang biasanya menyediakan LayananLoadBalancer. - Menerapkan kontrol terperinci: gunakan
spec.primarySpec.dbLoadBalancerOptions. Misalnya, di Google Cloud, tetapkangcp.loadBalancerType: "External"untuk mendapatkan alamat IP yang dapat diakses dari internet publik.
Membatasi akses
Untuk mengamankan koneksi eksternal, gunakan spec.primarySpec.sourceCidrRanges untuk menentukan daftar rentang CIDR yang diizinkan. Sistem akan memblokir koneksi apa pun yang berasal dari alamat IP di luar rentang ini.
Penggabungan koneksi dengan PgBouncer
Untuk mengelola koneksi secara efisien dan mengurangi beban instance, gunakan PgBouncer. Operator AlloyDB Omni menyediakan PgBouncer Custom Resource (CR) untuk menyederhanakan operasi ini.
Untuk mengetahui detail lengkap tentang cara mengonfigurasi PgBouncer, lihat Referensi CRD PgBouncer.
Deployment dan konfigurasi
Buat resource PgBouncer dan rujuk cluster database Anda di spec.dbclusterRef. Parameter utama dalam spec.parameters meliputi hal berikut:
pool_mode: menentukan kapan koneksi digunakan kembali (session,transaction, ataustatement).default_pool_size: koneksi server per pengguna dan database.max_client_conn: koneksi klien maksimum yang diizinkan.max_db_connections: koneksi maksimum yang dibuka ke instance AlloyDB Omni.
Mengekspos PgBouncer
Gunakan spec.serviceOptions.type untuk mengontrol visibilitas.
ClusterIP: hanya akses cluster internal.LoadBalancer: akses eksternal. Anda dapat membatasi ini denganspec.serviceOptions.loadBalancerSourceRangesmenggunakan blok CIDR.
Autentikasi dan otorisasi
AlloyDB Omni mendukung beberapa metode untuk memverifikasi identitas dan mengontrol akses.
Metode autentikasi
- Berbasis sandi: Autentikasi nama pengguna dan sandi PostgreSQL standar. Sandi administrator biasanya diberikan menggunakan Secret Kubernetes, seperti yang ditunjukkan dalam Contoh DBCluster Lengkap.
Active Directory dan Kerberos: Dikelola menggunakan CR
UserDefinedAuthentication. Hal ini mendukung sinkronisasi grup GSSAPI dan LDAP menggunakan hal berikut:spec.keytabSecretRef: untuk keytab Kerberos.spec.ldapConfiguration: untuk pemetaan grup dan setelan LDAP.spec.pgHbaEntries: untuk mengonfigurasi aturanpg_hba.conf–misalnya,gssatauldap.
Untuk mengetahui informasi selengkapnya, lihat Referensi CRD UserDefinedAuthentication.
Berbasis sertifikat (direncanakan): dukungan untuk autentikasi sertifikat TLS tanpa sandi direncanakan untuk rilis mendatang.
Otorisasi dan kontrol akses
- Kebijakan jaringan Kubernetes: menentukan aturan tingkat pod untuk mengamankan traffic antara aplikasi dan pod AlloyDB Omni atau
PgBouncer. - Rentang CIDR sumber: membatasi traffic di tingkat
LoadBalancer. - Peran PostgreSQL: menggunakan peran dan hak istimewa database standar untuk mengelola izin pengguna setelah pengguna diautentikasi.
Langkah berikutnya
- Tinjau Referensi CRD DBCluster untuk semua opsi konfigurasi.
- Pelajari cara men-deploy penggabungan koneksi dengan Referensi CRD PgBouncer.
- Pahami integrasi Active Directory di Referensi CRD UserDefinedAuthentication.
- Lihat contoh lengkap di Contoh DBCluster Lengkap.
- Lihat dokumentasi Kubernetes tentang Kebijakan Jaringan.