Untuk memisahkan aplikasi Anda dari alamat IP atau Uniform Resource Identifier (URI) tertentu dari instance utama AlloyDB untuk PostgreSQL selama peralihan, failover lintas region, pemulihan cadangan, atau migrasi, Anda dapat mengonfigurasi endpoint tulis.
Endpoint adalah resource AlloyDB yang menyediakan nama Domain Name System (DNS) yang stabil yang dapat digunakan aplikasi Anda untuk terhubung ke instance AlloyDB. Abstraksi ini menyederhanakan pengelolaan koneksi selama peristiwa operasional—misalnya, disaster recovery, pemulihan cadangan, atau migrasi—karena Anda dapat mengalihkan nama DNS endpoint ke instance yang berbeda tanpa mengubah konfigurasi aplikasi.
Endpoint AlloyDB mendukung jenis WRITE_ENDPOINT. Endpoint tulis mengarahkan traffic ke satu instance utama AlloyDB dan menyalurkan traffic baca dan tulis.
Meskipun nama DNS berfungsi sebagai resource global, resource endpoint itu sendiri bersifat regional. Meskipun demikian, setiap endpoint dapat ditautkan ke instance secara global, dan resolusi nama DNS-nya dari lokasi mana pun.
Manfaat menggunakan endpoint
Penggunaan endpoint tulis memberikan manfaat berikut:
- Pemulihan dari bencana (disaster recovery) 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 batas waktu pemulihan (RTO).
- Pemulihan cadangan yang disederhanakan: Saat Anda memulihkan instance dari cadangan, AlloyDB akan membuat instance baru dengan alamat IP baru. Anda dapat mengupdate endpoint agar mengarah ke instance yang baru dipulihkan. Kemampuan 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 yang 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 simultan, atau operasi update dan penghapusan) 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 sudah memiliki instance AlloyDB yang akan berfungsi sebagai target untuk endpoint.
Untuk mendapatkan izin yang diperlukan untuk mengelola endpoint, minta administrator untuk memberi Anda peran Identity and Access Management (IAM) AlloyDB Admin (
roles/alloydb.admin) di 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 konsol Google Cloud , 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 yang terkait dengan endpoint tersebut.
Mendapatkan nama DNS
Anda dapat melihat nama DNS endpoint menggunakan Google Cloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Endpoints.
Temukan endpoint yang ingin Anda hubungkan dan salin nilai di kolom DNS name.
gcloud
Guakan 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: Project ID Google Cloud AndaREGION_ID: ID region tempat endpoint berada
Di 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 dihubungkanDATABASE_NAME: nama database yang akan dihubungkan
Untuk informasi selengkapnya tentang cara menggunakan psql, lihat
Menghubungkan menggunakan klien psql.
Memperbarui endpoint
Untuk mengubah instance yang ditunjuk oleh endpoint, seperti setelah operasi pemulihan, gunakan perintah berikut:
Konsol
Di konsol Google Cloud , 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 ditunjuk 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: Project ID Google Cloud AndaREGION_ID: ID region tempat endpoint beradaNEW_TARGET_INSTANCE_NAME: nama resource lengkap instance target baru
Mencantumkan endpoint
Untuk mencantumkan semua endpoint di project dan region tertentu, gunakan perintah berikut:
Konsol
Di konsol Google Cloud , 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: Project ID 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 dideskripsikanPROJECT_ID: Project ID Google Cloud AndaREGION_ID: ID region tempat endpoint berada
Di konsol Google Cloud , Anda dapat melihat detail endpoint di halaman Endpoints.
Menghapus endpoint
Untuk menghapus endpoint, gunakan perintah berikut:
Konsol
Di konsol Google Cloud , 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: Project ID Google Cloud AndaREGION_ID: ID region tempat endpoint berada
Menulis perilaku endpoint selama peralihan atau failover lintas region
Meskipun nama DNS endpoint di-resolve 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 mempertahankan konektivitas berkelanjutan tanpa intervensi manual. Saat cluster sekunder dipromosikan menjadi cluster utama baru, endpoint akan otomatis memperbarui data DNS-nya untuk mengarah ke instance utama baru. Perilaku ini menghilangkan konfigurasi ulang manual string koneksi aplikasi, sehingga mengurangi kompleksitas operasional secara signifikan dan meminimalkan periode nonaktif untuk memenuhi batas waktu pemulihan (RTO).
Setelah operasi dan penerapan 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 konflik penulisan dengan mengarahkan traffic tulis baru secara otomatis dari cluster utama asli ke cluster 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.