Halaman ini menjelaskan cara menggunakan endpoint tulis AlloyDB untuk PostgreSQL guna menyederhanakan pengelolaan koneksi database untuk aplikasi Anda.
Endpoint adalah resource AlloyDB yang menyediakan nama layanan nama domain (DNS) stabil yang dapat digunakan aplikasi Anda untuk terhubung ke instance AlloyDB. Dengan menggunakan endpoint, Anda memisahkan aplikasi dari alamat IP atau Uniform Resource Identifier (URI) instance tertentu. Abstraksi ini menyederhanakan pengelolaan koneksi selama peristiwa operasional—misalnya, pemulihan dari bencana, pemulihan cadangan, atau migrasi—karena Anda dapat mengalihkan nama DNS endpoint ke instance lain tanpa mengubah konfigurasi aplikasi.
Endpoint AlloyDB mendukung jenis WRITE_ENDPOINT. Endpoint tulis mengarahkan traffic ke satu instance utama AlloyDB dan melayani traffic baca dan tulis.
Meskipun nama DNS berfungsi sebagai resource global, resource endpoint itu sendiri bersifat regional. Meski begitu, setiap endpoint dapat ditautkan ke instance secara global, dan nama DNS-nya dapat diakses dari lokasi mana pun.
Manfaat menggunakan endpoint
Menggunakan endpoint tulis memberikan manfaat berikut:
- Pemulihan dari bencana yang disederhanakan: jika Anda melakukan pengalihan atau failover lintas region ke cluster sekunder, AlloyDB akan otomatis memperbarui endpoint untuk mengarah ke instance utama baru. Aplikasi Anda kemudian dapat terhubung kembali menggunakan nama DNS endpoint yang sama, sehingga mengurangi target waktu pemulihan (RTO).
- Pemulihan cadangan yang lancar: saat Anda memulihkan instance dari cadangan, AlloyDB akan membuat instance baru dengan alamat IP baru. Anda dapat memperbarui endpoint untuk mengarah ke instance yang baru dipulihkan. Hal ini memungkinkan aplikasi melanjutkan operasi tanpa perubahan konfigurasi.
- Migrasi yang lebih mudah: selama migrasi, Anda dapat mengalihkan endpoint dari database sumber ke instance AlloyDB dengan gangguan aplikasi minimal.
Batasan
- Endpoint hanya mendukung instance yang dikonfigurasi untuk menggunakan akses layanan pribadi (PSA). Endpoint tidak mendukung instance yang dikonfigurasi untuk menggunakan Private Service Connect (PSC).
- Dukungan untuk Konektor Bahasa AlloyDB dan Proxy Auth AlloyDB tidak tersedia untuk endpoint tulis.
- Operasi modifikasi serentak (seperti update serentak, atau operasi update dan hapus) pada endpoint yang mengarah ke instance target yang sama tidak didukung dan dapat menyebabkan kegagalan.
Sebelum memulai
- Instal dan lakukan inisialisasi pada Google Cloud CLI.
- Aktifkan Cloud DNS API.
- Pastikan Anda memiliki instance AlloyDB yang ada untuk berfungsi sebagai target endpoint.
Untuk mendapatkan izin yang Anda perlukan untuk mengelola endpoint, minta administrator Anda untuk memberikan peran Pengelolaan Identitas dan Akses (IAM) Admin AlloyDB (
roles/alloydb.admin)pada project Anda. Peran bawaan ini berisi izin yang diperlukan untuk mengelola endpoint.Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya. Izin khusus yang diperlukan adalah:
alloydb.endpoints.createalloydb.endpoints.updatealloydb.endpoints.getalloydb.endpoints.listalloydb.endpoints.delete
Untuk mengetahui informasi selengkapnya, lihat Peran dan izin IAM AlloyDB.
Anda dapat membuat dan mengelola endpoint tulis menggunakan Google Cloud CLI.
Membuat endpoint
Untuk membuat endpoint tulis, gunakan Google Cloud CLI. Jenis endpoint harus WRITE_ENDPOINT, dan harus menargetkan satu instance utama.
Konsol
Di Google Cloud konsol, buka halaman Endpoints.
Klik Create endpoint.
Di kolom Endpoint name, masukkan ID untuk endpoint Anda. Harus terdiri dari huruf kecil (a-z), angka, dan tanda hubung, diawali dengan huruf kecil, dan diakhiri dengan huruf kecil atau angka.
Pilih Region.
Untuk Endpoint type, pilih Write.
Di kolom instance target, pilih instance utama yang harus dituju oleh endpoint ini.
Klik Create.
gcloud
gcloud beta alloydb endpoints create ENDPOINT_ID \
--project=PROJECT_ID \
--region=REGION_ID \
--endpoint-type=ENDPOINT_TYPE \
--target-instances=TARGET_INSTANCE_NAME
Ganti kode berikut:
ENDPOINT_ID: ID unik untuk endpoint. ID ini harus unik dalam project dan lokasi yang ditentukan.PROJECT_ID: Project ID Google Cloud Anda.REGION_ID: ID region tempat Anda ingin membuat endpoint—misalnya,us-central1.ENDPOINT_TYPE: jenis resource endpoint. HanyaWRITE_ENDPOINTyang didukung.TARGET_INSTANCE_NAME: nama resource lengkap instance AlloyDB untuk PostgreSQL yang dituju oleh endpoint. Jalur resource lengkap untuk instance memiliki format berikut:projects/$PROJECT/locations/$LOCATION/clusters/$CLUSTER/instances/$INSTANCE.
Menghubungkan ke instance menggunakan endpoint
Untuk terhubung ke instance AlloyDB menggunakan endpoint, Anda harus terlebih dahulu mendapatkan nama DNS yang dibuat secara otomatis dan terkait dengan endpoint.
Mendapatkan nama DNS
Anda dapat melihat nama DNS endpoint menggunakan Google Cloud CLI.
Konsol
Di Google Cloud konsol, buka halaman Endpoints.
Temukan endpoint yang ingin Anda hubungkan dan salin nilai di kolom DNS name.
gcloud
Gunakan perintah
gcloud beta alloydb endpoints describe:gcloud beta alloydb endpoints describe ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION_IDGanti kode berikut:
ENDPOINT_ID: ID endpointPROJECT_ID: ID proyek Google Cloud AndaREGION_ID: ID region tempat endpoint berada
Dalam output perintah, temukan kolom
dnsNamedan salin nilainya.
Menghubungkan menggunakan psql
Setelah memiliki nama DNS, Anda dapat menggunakannya sebagai host dalam string koneksi atau alat klien. Misalnya, untuk terhubung menggunakan klien psql, jalankan perintah berikut:
psql -h DNS_NAME -U USERNAME -d DATABASE_NAME
Ganti kode berikut:
DNS_NAME: nama DNS endpointUSERNAME: pengguna database yang akan terhubungDATABASE_NAME: nama database yang akan dihubungkan
Untuk mengetahui informasi selengkapnya tentang cara menggunakan psql, lihat
Menghubungkan menggunakan klien psql.
Memperbarui endpoint
Untuk mengubah instance yang dituju oleh endpoint, seperti setelah operasi pemulihan, gunakan perintah berikut:
Konsol
Di Google Cloud konsol, buka halaman Endpoints.
Di baris endpoint yang ingin Anda perbarui, klik Actions, lalu pilih Edit.
Di kolom instance target, pilih instance utama baru yang harus dituju oleh endpoint ini.
Klik Update.
gcloud
gcloud beta alloydb endpoints update ENDPOINT_ID \
--project=PROJECT_ID \
--region=REGION_ID \
--target-instances=NEW_TARGET_INSTANCE_NAME
Ganti kode berikut:
ENDPOINT_ID: ID endpoint yang akan diupdatePROJECT_ID: ID proyek Google Cloud AndaREGION_ID: ID region tempat endpoint beradaNEW_TARGET_INSTANCE_NAME: nama resource lengkap instance target baru
Mencantumkan endpoint
Untuk mencantumkan semua endpoint dalam project dan region tertentu, gunakan perintah berikut:
Konsol
Di Google Cloud konsol, buka halaman Endpoints.
Halaman ini mencantumkan semua endpoint dalam project saat ini.
gcloud
gcloud beta alloydb endpoints list --project=PROJECT_ID \
--region=REGION_ID
Ganti kode berikut:
PROJECT_ID: ID proyek Google Cloud AndaREGION_ID: ID region tempat endpoint berada
Melihat detail endpoint
Untuk melihat detail endpoint tertentu, gunakan perintah Google Cloud CLI berikut:
gcloud
gcloud beta alloydb endpoints describe ENDPOINT_ID \
--project=PROJECT_ID \
--region=REGION_ID
Ganti kode berikut:
ENDPOINT_ID: ID endpoint yang akan dijelaskanPROJECT_ID: ID proyek Google Cloud AndaREGION_ID: ID region tempat endpoint berada
Di Google Cloud konsol, Anda dapat melihat detail endpoint di halaman Endpoints.
Menghapus endpoint
Untuk menghapus endpoint, gunakan perintah berikut:
Konsol
Di Google Cloud konsol, buka halaman Endpoints.
Di baris endpoint yang ingin Anda hapus, klik Actions, lalu pilih Delete.
Untuk mengonfirmasi, ketik ID endpoint, lalu klik Delete.
gcloud
gcloud beta alloydb endpoints delete ENDPOINT_ID \
--project=PROJECT_ID \
--region=REGION_ID
Ganti kode berikut:
ENDPOINT_ID: ID endpoint yang akan dihapusPROJECT_ID: ID proyek Google Cloud AndaREGION_ID: ID region tempat endpoint berada
Perilaku endpoint tulis selama pengalihan atau failover lintas region
Meskipun nama DNS endpoint diakses ke IP instance tertentu saat pembuatan, endpoint ini bersifat dinamis. Jika terjadi aktivitas replikasi lintas region, seperti pengalihan atau failover lintas region (Pratinjau), endpoint tulis AlloyDB memastikan konektivitas berkelanjutan tanpa intervensi manual. Saat cluster sekunder dipromosikan untuk menjadi cluster utama baru, endpoint akan otomatis memperbarui data DNS-nya untuk mengarah ke instance utama baru. Perilaku ini menghilangkan konfigurasi manual string koneksi aplikasi, sehingga mengurangi kompleksitas operasional secara signifikan dan meminimalkan waktu nonaktif untuk memenuhi target waktu pemulihan (RTO).
Setelah operasi dan propagasi DNS selesai, aplikasi Anda dapat terhubung kembali ke instance utama baru menggunakan nama DNS endpoint yang sama.
Mencegah penulisan yang bertentangan selama failover
Menggunakan endpoint tulis selama failover lintas region membantu mencegah penulisan yang bertentangan dengan otomatis mengalihkan traffic tulis baru dari cluster utama asli ke cluster utama baru. Untuk mengetahui informasi selengkapnya tentang perilaku endpoint tulis selama failover, lihat Menggunakan endpoint tulis untuk menghindari split-brain.
Langkah berikutnya
- Pelajari lebih lanjut cara terhubung ke instance AlloyDB.