Menghubungkan banyak cluster: cross-cluster search (CCS) dengan remote clusters dan data federation, serta cross-cluster replication (CCR) leader-follower untuk disaster recovery, geo-distribution, dan monitoring replication lag.

Satu cluster memang kuat, tapi organisasi besar jarang hidup dengan satu cluster saja: cluster per region, per tim, per lingkungan, atau per fungsi (misalnya cluster observability terpisah dari cluster aplikasi). Data yang tersebar menimbulkan dua kebutuhan: mencari data di semua cluster sekaligus, dan menyalin data antar cluster untuk ketahanan.
Episode 22 membahas dua fitur yang menjawab kebutuhan itu: cross-cluster search (CCS) — mencari lintas cluster tanpa menyalin data — dan cross-cluster replication (CCR) — menyalin index secara kontinu dari cluster leader ke follower untuk disaster recovery dan geo-distribution.
CCS memungkinkan satu cluster mengeksekusi pencarian di cluster lain secara transparan. Kalian tidak perlu menyalin data — cukup menunjuk cluster jarak jauh sebagai remote cluster, lalu mencarinya seperti index lokal:
GET /remote-logs:logs-*/_searchNotasi remote-cluster:index memberi tahu Elasticsearch ke mana harus mencari. Hasilnya digabung oleh coordinating node di cluster lokal. Inilah dasar data federation: banyak sumber data, satu titik pencarian.
Remote cluster didaftarkan lewat cluster settings:
PUT /_cluster/settings{
"persistent": {
"cluster.remote.remote-logs.seeds": [
"logs-node1:9300",
"logs-node2:9300"
]
}
}Setiap node lokal harus memiliki role remote_cluster_client untuk terhubung. Cek status koneksi:
GET /_remote/infoPencarian lintas cluster memakai nama remote sebagai awalan index:
{
"query": {
"match": { "message": "timeout" }
}
}Di request body, kalian tentukan index di bagian index parameter request: POST /remote-logs:logs-*,remote-prod:app-logs-*/_search. Untuk aggregation lintas cluster, CCS mendukung aggregation penuh — data digabung di node koordinator.
Keamanan dan performa CCS perlu diperhatikan:
remote_cluster_client dengan API keys.ccs_minimize_roundtrips untuk mengurangi round-trip; hasilnya bisa lebih lambat untuk aggregation besar.Tip
CCS adalah alat yang tepat saat data tetap tinggal di tempatnya — misalnya data kepatuhan yang tidak boleh pindah region, atau pencarian federasi antar tim. Jika kebutuhanmu adalah menyalin data (redundansi, failover), CCR adalah jawabannya. Kenali bedanya agar tidak salah pakai.
| Use Case | Penjelasan |
|---|---|
| Data federation | Satu endpoint pencarian untuk banyak cluster tim |
| Segregasi | Cluster terpisah untuk isolasi keamanan, tapi tetap bisa dicari lintas |
| Observability multi-region | Mencari log dari semua region dalam satu query |
Pertimbangan penting: jika cluster remote tidak terjangkau, pencarian CCS gagal total (atau sebagian sesuai setting skip_unavailable). Setel "skip_unavailable": true agar satu cluster down tidak mematikan seluruh pencarian.
CCR menyalin index secara kontinu antar cluster dengan model leader-follower: satu index di cluster leader, salinannya di cluster follower diperbarui terus. Ciri-cirinya:
Syaratnya sama dengan CCS: remote cluster terdaftar dan TLS aktif. Lalu buat index follower di cluster target dengan nama remote sebagai sumber:
PUT /remote-logs:logs-prod/_ccr/follow{
"remote_cluster": "remote-logs",
"leader_index": "logs-prod"
}Saat ini jalan, perubahan di leader (index, update, delete) tersalin ke follower. Untuk menyamakan mapping awal, gunakan _ccr/auto_follow dengan pola index:
PUT /_ccr/auto_follow/logs-follow-pattern{
"remote_cluster": "remote-logs",
"leader_index_patterns": ["logs-*"]
}Dengan auto follow, setiap index baru logs-* di leader otomatis punya follower — sangat berguna untuk data time-series yang rollover terus-menerus.
| Use Case | Detail |
|---|---|
| Disaster recovery | Salinan di region lain siap diaktifkan saat failover (episode 29) |
| Geo-distribution | Data tersedia dekat pengguna di berbagai region |
| Isolasi baca | Trafik analytics dibaca dari follower, leader fokus pada tulis |
Replication lag — selisih waktu antara tulis di leader dan muncul di follower — adalah metrik paling penting CCR:
GET /remote-logs:logs-prod/_ccr/info{
"follower_indices": [
{
"follower_index": "logs-prod",
"leader_index": "logs-prod",
"remote_cluster": "remote-logs",
"time_since_last_read_millis": 850,
"follower_checkpoint": 4210
}
]
}time_since_last_read_millis kecil berarti lag rendah. Lag yang membesar menandakan jaringan bermasalah, follower kewalahan, atau leader yang lambat — pantau dan buat alert (episode 21). Jangan lupa menambahkan ccr metrik ke monitoring.
Warning
CCR tidak menjamin konsistensi sempurna: follower bisa tertinggal beberapa detik. Untuk skenario failover, rencanakan bagaimana menangani data yang belum tersalin saat leader mati mendadak (RPO beberapa detik) — episode 29 membahas RPO/RTO secara detail. CCR mengurangi risiko, bukan menghilangkannya.
Memakai CCS saat butuh salinan. CCS tanpa reduksi jaringan tidak menggantikan CCR untuk DR.
Lupa skip_unavailable. Satu cluster down mematikan seluruh pencarian CCS.
Menulis ke follower index. Follower read-only — tulis di leader, lalu tunggu sinkronisasi.
Mengabaikan replication lag. Lag yang membesar = bencana menunggu — pantau dan alert.
TLS tidak aktif antar cluster. Koneksi CCS/CCR wajib terenkripsi.
Di episode 22 kalian menguasai cross-cluster search dan replication: konsep CCS dengan remote clusters dan data federation, setup remote cluster dengan seed hosts, menjalankan pencarian lintas cluster beserta pertimbangan performa dan keamanannya, lalu CCR dengan model leader-follower, setup follow dan auto follow, serta monitoring replication lag.
Inti yang harus dibawa pulang:
skip_unavailable agar satu cluster down tidak mematikan pencarian.time_since_last_read_millis sebagai indikator kesehatan replication.Cluster yang terhubung menyediakan data besar — dan data besar bisa diolah lebih jauh. Di episode 23 kita bahas fitur machine learning Elasticsearch: anomaly detection dengan ML jobs, single vs multi-metric, population analysis; data frame analytics untuk outlier, regression, dan classification; serta fitur NLP 8.x — ELSER, semantic search, dan integrasi embeddings. Sampai jumpa!