Topik ini menjelaskan cara menggunakan NLB dan PrivateLink untuk membuat koneksi privat antara dua kluster Elasticsearch dalam wilayah yang sama. Dengan mengonfigurasi cross-cluster replication (CCR), Anda dapat menyinkronkan data indeks secara near-real time untuk disaster recovery dalam wilayah tersebut.
Prasyarat
Anda telah membuat dua instans Elasticsearch dalam wilayah yang sama, misalnya China (Hangzhou). Satu instans berfungsi sebagai kluster pemimpin dan yang lainnya sebagai kluster pengikut. Untuk informasi selengkapnya, lihat Buat instans Alibaba Cloud Elasticsearch.
Kedua kluster menggunakan arsitektur management cloud-native v3. Jika suatu kluster menggunakan arsitektur v1 atau v2, Anda harus melakukan upgrade terlebih dahulu. Untuk informasi selengkapnya, lihat Upgrade arsitektur instans.
Kedua kluster menjalankan Elasticsearch versi 7.10.0 atau lebih baru, dan versi kluster pengikut harus sama dengan atau lebih baru daripada versi kluster pemimpin.
Ikhtisar
Instans Alibaba Cloud Elasticsearch dideploy di Virtual Private Cloud (VPC) yang dikelola, bukan di VPC milik Anda sendiri. Artinya, meskipun Anda menghubungkan VPC Anda dalam wilayah yang sama menggunakan CEN, kluster tidak dapat saling berkomunikasi melalui jaringan pribadi secara default. Untuk membuat koneksi privat ini, Anda harus menggunakan NLB dan PrivateLink selain CEN guna menjembatani VPC yang dikelola dari kedua kluster tersebut. Proses keseluruhan adalah sebagai berikut:
Gunakan CEN untuk menghubungkan VPC tempat kluster pemimpin dan kluster pengikut berada. Jika kedua instans Elasticsearch berada dalam VPC yang sama, Anda dapat melewati langkah ini.
Di VPC kluster pengikut, buat instans NLB untuk meneruskan lalu lintas ke alamat IP privat kluster pemimpin.
Buat layanan titik akhir PrivateLink berdasarkan instans NLB tersebut.
Di Konsol Alibaba Cloud Elasticsearch untuk kluster pengikut, konfigurasikan koneksi privat untuk mendapatkan nama domain PrivateLink.
Di Konsol Kibana kluster pengikut, tambahkan kluster pemimpin sebagai remote cluster dan konfigurasikan CCR.
Prosedur
Langkah 1: Hubungkan VPC dengan CEN
Jika kedua instans Elasticsearch berada dalam VPC yang sama, lewati langkah ini dan lanjutkan ke Langkah 2.
Gunakan CEN untuk menghubungkan VPC kluster pemimpin dan VPC kluster pengikut. Untuk petunjuk lengkap, lihat Hubungkan VPC dalam wilayah yang sama.
Langkah 2: Dapatkan IP privat kluster pemimpin
Masuk ke Konsol Alibaba Cloud Elasticsearch.
Di halaman Basic Information kluster pemimpin, temukan bidang Internal Endpoint dan salin nama domain privatnya.
Dari instans ECS dalam VPC yang sama, jalankan perintah berikut untuk menyelesaikan alamat IP privat kluster pemimpin:
ping <leader_cluster_private_domain>Catat alamat IP yang diperoleh untuk digunakan pada langkah berikutnya.
Langkah 3: Buat NLB dan kelompok server
Buat instans NLB di VPC kluster pengikut untuk meneruskan lalu lintas ke kluster pemimpin.
Pastikan instans NLB dan kelompok server dibuat dalam wilayah yang sama dengan kluster pengikut. Instans NLB harus berada di wilayah ini agar dapat membuat layanan titik akhir PrivateLink.
Masuk ke Konsol NLB.
Buat kelompok server.
Di panel navigasi sebelah kiri, klik Server Groups.
Klik Create Server Group dan konfigurasikan parameter berikut:
Parameter
Description
Server group type
Pilih IP.
Forwarding port
Aktifkan All-port Forwarding.
Health check
Atur Port ke 9300.
Di kelompok server yang baru saja Anda buat, klik Add Backend Servers. Tambahkan alamat IP privat kluster pemimpin dari Langkah 2. Pertahankan port default.
Buat instans NLB dan listener.
Karena halaman pembelian NLB tidak mendukung fitur all-port, buat instans NLB terlebih dahulu tanpa listener. Kemudian, dari halaman detail instans, buat listener dan aktifkan fitur all-port.
Jika Anda sudah memiliki instans NLB, Anda dapat langsung membuat listener. Jika belum, Anda harus membuat instans NLB terlebih dahulu.
Di panel navigasi sebelah kiri, klik Instances. Pilih atau buat instans NLB.
Buka halaman detail instans, klik tab Listeners, lalu klik Create Listener.
Aktifkan fitur All-port dan atur rentang port listener ke 9200-9300.
Untuk Server Group, pilih IP sebagai tipe dan pilih kelompok server yang Anda buat pada langkah sebelumnya.
Langkah 4: Konfigurasi PrivateLink
Gunakan PrivateLink untuk menghubungkan VPC management kluster pengikut ke kluster pemimpin.
Masuk ke Konsol PrivateLink.
Buat layanan titik akhir.
Di panel navigasi sebelah kiri, klik Endpoint Services.
Klik Create Endpoint Service dan konfigurasikan parameter berikut:
Parameter
Description
Service resource type
Pilih NLB.
Service resource
Pilih instans NLB yang Anda buat atau gunakan di Langkah 3.
Zone
Pilih zona ketersediaan tempat instans NLB berada.
Allow endpoint connection
Pilih Yes.
Tambahkan koneksi privat di kluster pengikut.
Masuk ke Konsol Alibaba Cloud Elasticsearch dan buka halaman detail kluster pengikut.
Di panel navigasi sebelah kiri, pilih Configuration and Management > Security Settings.
Di bagian Network Settings, klik Configure Private Connection.
Klik Add Private Connection dan pilih layanan titik akhir yang Anda buat pada langkah sebelumnya.
Tunggu hingga status koneksi menjadi Connected.
Dapatkan nama domain PrivateLink.
Setelah koneksi terbentuk, kembali ke konsol PrivateLink. Pada tab Endpoint Connection Status di layanan titik akhir, periksa koneksi titik akhir yang dibuat secara otomatis. Ini merupakan nama domain privat yang disediakan oleh PrivateLink. Catat nama domain tersebut untuk digunakan saat mengonfigurasi kluster jarak jauh.
Langkah 5: Konfigurasi cross-cluster replication (CCR)
Masuk ke Konsol Kibana kluster pengikut. Untuk informasi selengkapnya, lihat Masuk ke Konsol Kibana melalui internet (untuk arsitektur v2/v3).
Untuk melakukannya, buka halaman detail kluster pengikut, klik Visualization di panel navigasi sebelah kiri, lalu klik Log on to Kibana.
Tambahkan remote cluster.
Di menu sebelah kiri Kibana, klik Stack Management.
Di bagian Data, klik Remote Clusters.
Klik Add a remote cluster dan konfigurasikan parameter berikut:
Parameter
Description
Name
Masukkan ID instans kluster pemimpin.
Proxy mode
Aktifkan proxy mode.
Proxy address
Masukkan nama domain PrivateLink dari Langkah 4. Gunakan format
<domain-name>:9300.Klik Save dan pastikan status koneksi adalah Connected.
Konfigurasikan mode replikasi.
CCR mendukung dua mode:
Mode
Description
Follower index
Mereplikasi satu indeks tertentu.
Auto-follow pattern
Secara otomatis mereplikasi indeks yang sesuai dengan pola nama tertentu. Mode ini cocok untuk sinkronisasi massal.
Setelah pola auto-follow dibuat, indeks baru di kluster pemimpin akan secara otomatis disinkronkan ke kluster pengikut. Indeks yang sudah ada tidak disinkronkan secara otomatis. Untuk menyinkronkan indeks yang sudah ada, Anda harus membuat follower index secara manual.
Contoh ini menggunakan pola auto-follow:
Di Stack Management, klik Cross-Cluster Replication.
Pilih tab Auto-follow patterns dan klik Create an auto-follow pattern.
Untuk Remote cluster, pilih remote cluster yang baru saja Anda tambahkan. Untuk Index patterns, masukkan
*untuk mereplikasi semua indeks. Untuk mereplikasi indeks tertentu, Anda dapat memasukkan pola nama, sepertilogs-*.Klik Create.
Langkah 6: Verifikasi sinkronisasi data
Verifikasi sinkronisasi indeks yang sudah ada
Pola auto-follow tidak mereplikasi indeks yang sudah ada. Anda harus membuat follower index secara manual di Konsol Kibana kluster pengikut. Untuk melakukannya, buka Stack Management > Cross-Cluster Replication > Follower Indices.
Setelah Anda membuat follower index secara manual, jalankan perintah berikut di Konsol Kibana kluster pengikut untuk memverifikasi bahwa data telah disinkronkan:
GET /<index-name>/_searchJika hasil yang dikembalikan konsisten dengan hasil dari kluster pemimpin, data yang sudah ada telah disinkronkan.
Verifikasi sinkronisasi data baru
Di Konsol Kibana kluster pemimpin, buat indeks baru dan tulis dokumen ke dalamnya:
PUT /test-increment-index POST /test-increment-index/_doc { "title": "increment test", "content": "This is a test document for CCR incremental sync." }Di Konsol Kibana kluster pengikut, kueri indeks tersebut:
GET /test-increment-index/_searchJika konten dokumen yang dikembalikan sesuai dengan yang Anda tulis, data baru sedang disinkronkan secara real time.
FAQ
Mengapa status remote cluster bukan "Connected"?
Periksa hal berikut:
Pastikan bandwidth intra-wilayah untuk CEN telah dialokasikan dan koneksi jaringan antara kedua VPC telah terbentuk.
Pastikan rentang port listener instans NLB mencakup 9200-9300.
Pastikan alamat IP privat kluster pemimpin di kelompok server benar.
Pastikan port pemeriksaan kesehatan untuk kelompok server adalah 9300.
Pastikan status koneksi layanan titik akhir PrivateLink adalah Connected.
Latensi CCR intra-wilayah vs. CCR single-AZ
Latensi CCR intra-wilayah dipengaruhi oleh latensi jaringan antar zona ketersediaan. Latensi ini biasanya sedikit lebih tinggi daripada replikasi dalam satu zona ketersediaan, tetapi umumnya tetap dalam hitungan detik. Latensi aktual bergantung pada konfigurasi bandwidth CEN, volume data, dan kondisi jaringan. Kami menyarankan Anda mengonfigurasi bandwidth intra-wilayah CEN sesuai dengan kebutuhan bisnis Anda.
Apa saja persyaratan versi untuk CCR?
Versi kluster pengikut harus sama dengan atau lebih baru daripada versi kluster pemimpin. Kedua kluster harus menjalankan Elasticsearch versi 7.10.0 atau lebih baru dan menggunakan arsitektur management cloud-native v3.