全部产品
Search
文档中心

Elasticsearch:Gunakan fitur CCR dalam skenario pemulihan bencana

更新时间:Nov 10, 2025

Jika terjadi bencana pada kluster Elasticsearch Anda—seperti gangguan layanan akibat kegagalan perangkat keras, kesalahan perangkat lunak, kegagalan pusat data, atau bencana alam—Anda dapat menggunakan fitur replikasi antar kluster (cross-cluster replication/CCR) untuk menerapkan pemulihan bencana lintas wilayah atau lintas sumber daya. Topik ini menjelaskan cara menerapkan CCR pada arsitektur jaringan baru maupun arsitektur jaringan asli.

Informasi latar belakang

CCR adalah fitur komersial yang dirilis dalam edisi Platinum Elasticsearch open source. Setelah membeli kluster Alibaba Cloud Elasticsearch dan melakukan beberapa konfigurasi sederhana, Anda dapat menggunakan fitur ini secara gratis.

Anda dapat menggunakan CCR dalam skenario pemulihan bencana untuk mencadangkan data antara kluster Elasticsearch yang berada dalam virtual private cloud (VPC) yang sama tetapi zona berbeda. Jika suatu kluster (kluster jarak jauh) mengalami kegagalan, Anda dapat mengambil datanya dari kluster lain (kluster lokal) dan memulihkan data tersebut ke kluster jarak jauh. Fitur ini membantu mencegah kehilangan data.

Untuk menggunakan CCR, Anda harus menyiapkan dua jenis kluster: kluster lokal dan kluster jarak jauh. Kluster jarak jauh menyediakan data sumber, yang disimpan dalam indeks pemimpin (leader indexes). Kluster lokal mereplikasi data tersebut dan menyimpannya dalam indeks pengikut (follower indexes). Anda juga dapat menggunakan CCR untuk memigrasikan volume data besar sekaligus. Untuk informasi selengkapnya, lihat Cross-cluster replication.

Skenario

Pilih solusi berdasarkan skenario bisnis Anda:

Lingkungan

Solusi

Dua kluster Alibaba Cloud Elasticsearch diterapkan dalam arsitektur jaringan baru.

Catatan

Hanya mendukung kluster Alibaba Cloud Elasticsearch versi V7.7 atau lebih baru.

Gunakan NLB dan PrivateLink untuk menerapkan CCR

Dua kluster Alibaba Cloud Elasticsearch diterapkan dalam arsitektur jaringan asli dan berada dalam VPC yang sama.

Catatan

Hanya mendukung kluster Alibaba Cloud Elasticsearch single-zone versi V6.7.0 atau lebih baru.

Hubungkan kluster Alibaba Cloud Elasticsearch untuk mengaktifkan CCR

Catatan
  • Skenario penggunaan di atas juga berlaku untuk fitur pencarian lintas klaster (CCS). Untuk informasi selengkapnya, lihat modules-cross-cluster-search.

  • Fitur CCR tidak dapat digunakan untuk mencadangkan data antara kluster Alibaba Cloud Elasticsearch dan kluster Elasticsearch yang dikelola sendiri.

  • Kluster Alibaba Cloud Elasticsearch yang dibuat sebelum Oktober 2020 diterapkan dalam arsitektur jaringan asli. Kluster Alibaba Cloud Elasticsearch yang dibuat pada Oktober 2020 atau setelahnya diterapkan dalam arsitektur jaringan baru.

Gunakan NLB dan PrivateLink untuk menerapkan CCR

Persiapan

  • Buat dua kluster Alibaba Cloud Elasticsearch versi V7.7 atau lebih baru dalam wilayah dan zona yang sama.

    Catatan

    Kedua kluster digunakan sebagai berikut:

    • Salah satu digunakan sebagai kluster jarak jauh dan menyediakan data sumber.

    • Yang lain digunakan sebagai kluster lokal dan mereplikasi data dari satu atau beberapa indeks dalam kluster jarak jauh.

  • Buat koneksi pribadi antara kedua kluster. Untuk informasi selengkapnya, lihat Gunakan NLB dan PrivateLink untuk membuat koneksi pribadi antara kluster Alibaba Cloud Elasticsearch.

    Catatan

    Tambahkan alamat IP pribadi kluster jarak jauh ke grup server Network Load Balancer (NLB) untuk membuat koneksi pribadi antara kedua kluster.

  • Buat indeks (indeks pemimpin) dalam kluster jarak jauh.

    1. Login ke konsol Kibana kluster jarak jauh. Untuk informasi selengkapnya, lihat Login ke konsol Kibana.

    2. Pada halaman yang muncul, klik ikon 菜单.png di pojok kiri atas dan pilih Management > Dev Tools).

    3. Jalankan perintah berikut untuk membuat indeks pemimpin dalam kluster jarak jauh:

      PUT /leader-new
      {
        "settings": {
          "number_of_shards": 1,
          "number_of_replicas": 0
        },
        "mappings": {
          "properties": {
            "name": {
              "type": "text"
            },
            "age": {
              "type": "integer"
            }
          }
        }
      }

Skenario 1: Menerapkan CCR untuk indeks tertentu

Langkah 1: Hubungkan kluster jarak jauh ke kluster lokal

  1. Login ke konsol Kibana kluster lokal. Untuk informasi selengkapnya, lihat Login ke konsol Kibana.

  2. Pada halaman yang muncul, klik ikon 菜单.png di pojok kiri atas dan pilih Management > Stack Management.

  3. Pada panel navigasi kiri halaman Management, klik Remote Clusters.

  4. Klik Add A Remote Cluster.

  5. Pada halaman yang muncul, tentukan informasi tentang kluster jarak jauh.

    • Name: nama kluster jarak jauh. Nama harus unik.

    • Connection Mode: Aktifkan Use Proxy Mode.

    • Proxy Address: alamat server proxy. Alamat harus dalam format Nama domain titik akhir:9300. Nama domain titik akhir adalah nama domain dari titik akhir yang sesuai dengan layanan titik akhir PrivateLink Anda.

      Catatan

      Saat CCR, Kibana menggunakan alamat IP node data untuk mengakses kluster melalui port TCP 9300. Port HTTP 9200 tidak didukung.

  6. Klik Save.

    Setelah disimpan, sistem secara otomatis terhubung ke kluster Leader. Setelah koneksi berhasil, status koneksi menampilkan Connected (Connected).

Contoh penggunaan API

PUT /_cluster/settings 
{
	"persistent": {
		"cluster": {
			"remote": {
				"<remote_cluster>": {
					"mode": "PROXY",
					"proxy_address": "Nama domain titik akhir:9300"
				}
			}
		}
	}
}

Parameter

Deskripsi

persistent

Menentukan bahwa pengaturan disimpan secara permanen meskipun kluster dimulai ulang.

<remote_cluster>

Ganti dengan nama kluster jarak jauh.

mode

Hanya modus proxy yang didukung. Kluster lokal menggunakan alamat proxy yang dikonfigurasi untuk mengakses kluster jarak jauh. Semua permintaan ke kluster jarak jauh dikirim ke alamat proxy ini dan diteruskan oleh server proxy ke node yang sesuai dalam kluster jarak jauh.

proxy_address

Alamat server proxy. Alamat harus dalam format Nama domain titik akhir yang sesuai dengan layanan titik akhir PrivateLink Anda:9300.

Catatan

Dalam contoh ini, CCR atau CCS menggunakan lapisan transport Elasticsearch dan perlu menggunakan port 9300 untuk komunikasi.

Langkah 2: Konfigurasi CCR

  1. Buka halaman Management di konsol Kibana kluster lokal. Pada panel navigasi kiri, klik Cross-Cluster Replication.

  2. Klik Create A Follower Index.

  3. Konfigurasi CCR.

    Parameter

    Deskripsi

    Remote Cluster

    Kluster jarak jauh yang terhubung ke kluster lokal.

    Leader Index

    Indeks yang akan dimigrasikan.

    Follower Index

    Indeks tempat Anda ingin mencadangkan data. Anda harus menentukan nama indeks yang unik.

  4. Klik Create.

    Setelah indeks pengikut dibuat, indeks tersebut berada dalam status Active.

Contoh penggunaan API

Saat membuat indeks pengikut, Anda harus mereferensikan kluster jarak jauh dan indeks pemimpin yang dibuat dalam kluster jarak jauh.

Catatan

Kode dalam topik ini hanya sebagai referensi. Saat menggunakan kode, ganti nama kluster dan indeks dengan milik Anda sendiri.

# Contoh: leader-new-copy adalah nama indeks pengikut yang dibuat dalam kluster lokal untuk menerima data yang direplikasi dari indeks pemimpin dalam kluster jarak jauh.
PUT /leader-new-copy/_ccr/follow
{
  "remote_cluster": "es-leader",
  "leader_index": "leader-old"
}

Parameter

Deskripsi

remote_cluster

Nama kluster jarak jauh yang terhubung ke kluster lokal. Parameter ini sesuai dengan parameter <remote_cluster> pada Langkah 1.

leader_index

Nama indeks pemimpin. Parameter ini mengontrol indeks mana dalam kluster jarak jauh yang digunakan untuk mereplikasi data.

Langkah 3: Verifikasi hasil pencadangan data

  1. Dalam konsol Kibana kluster jarak jauh, jalankan perintah berikut untuk memasukkan data ke dalam indeks pemimpin:

    POST leader-new/_doc/
    {
      "name":"Jack",
      "age":40
    }
  2. Dalam konsol Kibana kluster lokal, jalankan perintah berikut untuk memeriksa apakah data yang dimasukkan telah dicadangkan ke indeks pengikut:

    GET leader-new-copy/_search

    Hasil yang ditunjukkan pada gambar berikut dikembalikan. Hasil ini menunjukkan bahwa data dalam indeks pemimpin leader-new kluster jarak jauh telah dicadangkan ke indeks pengikut leader-new-copy kluster lokal.image

  3. Masukkan dokumen ke dalam indeks pemimpin.

    POST leader-new/_doc/
    {
      "name":"Pony",
      "age":50
    }
  4. Jalankan perintah berikut pada kluster lokal untuk memeriksa apakah data inkremental dapat dicadangkan ke indeks pengikut secara real-time:

    GET leader-new-copy/_search

    Keluaran perintah menunjukkan bahwa data inkremental telah dicadangkan ke indeks pengikut.image

Skenario 2: Tentukan pola indeks untuk menerapkan CCR pada beberapa indeks

Langkah 1: Hubungkan kluster jarak jauh ke kluster lokal

  1. Login ke konsol Kibana kluster lokal. Untuk informasi selengkapnya, lihat Login ke konsol Kibana.

  2. Pada halaman yang muncul, klik ikon 菜单.png di pojok kiri atas dan pilih Management > Stack Management.

  3. Pada panel navigasi kiri halaman Management, klik Remote Clusters.

  4. Klik Add A Remote Cluster.

  5. Pada halaman yang muncul, tentukan informasi tentang kluster jarak jauh.

    • Name: nama kluster jarak jauh. Nama harus unik.

    • Connection Mode: Aktifkan Use Proxy Mode.

    • Proxy Address: alamat server proxy. Alamat harus dalam format Nama domain titik akhir:9300. Nama domain titik akhir adalah nama domain dari titik akhir yang sesuai dengan layanan titik akhir PrivateLink Anda.

      Catatan

      Saat CCR, Kibana menggunakan alamat IP node data untuk mengakses kluster melalui port TCP 9300. Port HTTP 9200 tidak didukung.

  6. Klik Save.

    Setelah disimpan, sistem secara otomatis terhubung ke kluster Leader. Setelah koneksi berhasil, status koneksi menampilkan Connected (Connected).

Contoh penggunaan API

PUT /_cluster/settings 
{
	"persistent": {
		"cluster": {
			"remote": {
				"<remote_cluster>": {
					"mode": "PROXY",
					"proxy_address": "Nama domain titik akhir:9300"
				}
			}
		}
	}
}

Parameter

Deskripsi

persistent

Menentukan bahwa pengaturan disimpan secara permanen meskipun kluster dimulai ulang.

<remote_cluster>

Ganti dengan nama kluster jarak jauh.

mode

Hanya modus proxy yang didukung. Kluster lokal menggunakan alamat proxy yang dikonfigurasi untuk mengakses kluster jarak jauh. Semua permintaan ke kluster jarak jauh dikirim ke alamat proxy ini dan diteruskan oleh server proxy ke node yang sesuai dalam kluster jarak jauh.

proxy_address

Alamat server proxy. Alamat harus dalam format Nama domain titik akhir yang sesuai dengan layanan titik akhir PrivateLink Anda:9300.

Catatan

Dalam contoh ini, CCR atau CCS menggunakan lapisan transport Elasticsearch dan perlu menggunakan port 9300 untuk komunikasi.

Langkah 2: Konfigurasi CCR

  1. Buka halaman Management di konsol Kibana kluster lokal. Pada panel navigasi kiri, klik Cross-Cluster Replication.

  2. Klik Auto-follow Patterns.

  3. Klik Create Auto-follow Pattern.

    Konfigurasi CCR. Tabel berikut menjelaskan parameter utama.

    Parameter

    Deskripsi

    Remote Cluster

    Kluster jarak jauh yang terhubung ke kluster lokal.

    Index Patterns

    Pola indeks yang datanya ingin Anda cadangkan.

    Catatan

    Pola indeks adalah aturan atau templat yang digunakan untuk mencocokkan sekumpulan nama indeks (misalnya, leader-*). Pola ini biasanya didefinisikan menggunakan wildcard atau ekspresi reguler. Indeks yang cocok dengan pola tersebut akan secara otomatis direplikasi ke kluster lokal.

Contoh penggunaan API

PUT /_ccr/auto_follow/beats 
{
	"remote_cluster": "es-leader",
	"leader_index_patterns": 
	[
		"leader-*"
	],
	"follow_index_pattern": "{{leader_index}}-copy"
}

Parameter

Deskripsi

remote_cluster

Nama kluster jarak jauh yang terhubung ke kluster lokal. Parameter ini sesuai dengan parameter <remote_cluster> pada Langkah 1.

leader_index_patterns

Pola indeks, yaitu aturan atau templat yang digunakan untuk mencocokkan sekumpulan nama indeks, guna menentukan indeks mana dalam kluster jarak jauh yang perlu direplikasi.

follow_index_pattern

Pola indeks yang akan dibuat dalam kluster lokal. Sistem membuat indeks dalam kluster lokal berdasarkan pola tersebut dan mencadangkan data ke indeks tersebut.

Langkah 3: Verifikasi hasil pencadangan data

  1. Dalam konsol Kibana kluster jarak jauh, jalankan perintah berikut untuk menambahkan indeks:

    PUT /leader-new
    {
      "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 0
      },
      "mappings": {
        "properties": {
          "name": {
            "type": "text"
          },
          "age": {
            "type": "integer"
          }
        }
      }
    }
  2. Dalam konsol Kibana kluster lokal, jalankan perintah berikut untuk memeriksa apakah data dalam indeks yang ditambahkan telah dicadangkan ke kluster lokal:

    get _cat/indices?v

    image.png

Hubungkan kluster Alibaba Cloud Elasticsearch untuk mengaktifkan CCR

Persiapan

  1. Buat dua kluster Alibaba Cloud Elasticsearch dengan versi yang sama (6.7 atau lebih baru). Pastikan kedua kluster diterapkan dalam VPC yang sama dan termasuk dalam vSwitch yang sama.

    Catatan
    • Kedua kluster digunakan sebagai berikut:

      • Salah satu digunakan sebagai kluster jarak jauh dan menyediakan data sumber.

      • Yang lain digunakan sebagai kluster lokal dan mereplikasi data dari satu atau beberapa indeks dalam kluster jarak jauh.

    • Jika Anda telah mengunggah file sinonim ke kluster jarak jauh, Anda harus mengunggah file sinonim tersebut ke kluster lokal.

  2. Konfigurasikan kluster jarak jauh untuk menghubungkannya ke kluster lokal. Untuk informasi selengkapnya, lihat Hubungkan kluster Elasticsearch untuk mengaktifkan pencarian lintas klaster.

  3. Buat indeks (indeks pemimpin) dalam kluster jarak jauh.

    1. Login ke konsol Kibana kluster jarak jauh. Untuk informasi selengkapnya, lihat Login ke konsol Kibana.

    2. Pada halaman yang muncul, klik ikon 菜单.png di pojok kiri atas dan pilih Management > Dev Tools).

    3. Jalankan perintah berikut untuk membuat indeks pemimpin dalam kluster jarak jauh:

      PUT myindex
      {
        "settings": {
          "index.soft_deletes.retention.operations": 1024,
          "index.soft_deletes.enabled": true
        }
      }
      Catatan
      • Jika Anda membuat indeks dalam kluster Elasticsearch versi V7.0 atau lebih lama, Anda harus mengaktifkan atribut soft_deletes untuk indeks tersebut. Jika tidak, akan muncul error. Anda dapat menjalankan perintah GET /<yourIndexName>/_settings?pretty untuk memeriksa apakah atribut soft_deletes telah diaktifkan. Jika atribut soft_deletes diaktifkan, konfigurasi atribut soft_deletes akan ditampilkan dalam keluaran perintah.

      • Jika Anda ingin mencadangkan data dalam indeks yang sudah ada, Anda dapat memanggil API reindex untuk mengaktifkan atribut soft_deletes.

  4. Nonaktifkan fitur replikasi fisik untuk indeks pemimpin.

    Catatan

    Fitur replikasi fisik diaktifkan secara otomatis untuk indeks dalam kluster Elasticsearch V6.7.0. Sebelum menggunakan CCR, Anda harus menonaktifkan fitur replikasi fisik.

    1. Nonaktifkan indeks.

      POST myindex/_close
    2. Perbarui konfigurasi pengaturan indeks untuk menonaktifkan fitur replikasi fisik.

      PUT myindex/_settings
      {
      "index.replication.type" : null
      }
    3. Aktifkan indeks.

      POST myindex/_open

Langkah 1: Hubungkan kluster jarak jauh ke kluster lokal

  1. Login ke konsol Kibana kluster lokal. Untuk informasi selengkapnya, lihat Login ke konsol Kibana.

  2. Pada halaman yang muncul, klik ikon 菜单.png di pojok kiri atas dan pilih Management > Stack Management.

  3. Pada panel navigasi kiri halaman Management, klik Remote Clusters.

  4. Klik Add A Remote Cluster.

  5. Pada halaman yang muncul, tentukan informasi tentang kluster jarak jauh.

    • Name: nama kluster jarak jauh. Nama harus unik.

    • Proxy Address: Alamat harus dalam format Alamat IP node dalam kluster jarak jauh:9300. Untuk mendapatkan alamat IP node, login ke konsol Kibana kluster jarak jauh dan jalankan perintah GET /_cat/nodes?v pada tab Console halaman Dev Tools. Node yang Anda tentukan harus mencakup node master khusus kluster jarak jauh. Kami menyarankan agar Anda menentukan beberapa node. Hal ini memastikan Anda tetap dapat menggunakan CCR jika node master khusus yang ditentukan mengalami kegagalan.

      Catatan

      Saat CCR, Kibana menggunakan alamat IP node data untuk mengakses kluster melalui port TCP 9300. Port HTTP 9200 tidak didukung.

  6. Klik Save.

    Setelah Anda menyimpan pengaturan, sistem secara otomatis terhubung ke kluster jarak jauh. Saat koneksi berhasil, status koneksi menampilkan Connected (Connected).

Langkah 2: Konfigurasi CCR

  1. Buka halaman Management di konsol Kibana kluster lokal. Pada panel navigasi kiri, klik Cross-Cluster Replication.

  2. Klik Create A Follower Index.

  3. Konfigurasi CCR.

    Parameter

    Deskripsi

    Remote cluster

    Kluster jarak jauh yang terhubung ke kluster lokal.

    Leader index

    Indeks yang datanya ingin Anda cadangkan. Dalam contoh ini, indeks myindex yang dibuat dalam Persiapan digunakan.

    Follower index

    Indeks tempat Anda ingin mencadangkan data. Anda harus menentukan nama indeks yang unik.

  4. Klik Create.

    Setelah indeks pengikut dibuat, indeks tersebut berada dalam status Active.

Langkah 3: Verifikasi hasil pencadangan data

  1. Dalam konsol Kibana kluster jarak jauh, jalankan perintah berikut untuk memasukkan data ke dalam kluster jarak jauh:

    POST myindex/_doc/
    {
      "name":"Jack",
      "age":40
    }
  2. Dalam konsol Kibana kluster lokal, jalankan perintah berikut untuk memeriksa apakah data yang dimasukkan telah dicadangkan ke kluster lokal:

    GET myindex_follow/_search

    Hasil yang ditunjukkan pada gambar berikut dikembalikan. Hasil ini menunjukkan bahwa data dalam indeks pemimpin myindex kluster jarak jauh telah dicadangkan ke indeks pengikut myindex_follow kluster lokal.数据同步结果

    Catatan

    Indeks pengikut myindex_follow bersifat read-only. Jika Anda ingin menulis data ke indeks pengikut, ubah terlebih dahulu indeks pengikut menjadi indeks umum. Untuk informasi selengkapnya, lihat Gunakan Elasticsearch CCR untuk memigrasikan data lintas pusat data.

  3. Dalam kluster jarak jauh, masukkan catatan data baru untuk memverifikasi apakah data inkremental disinkronkan.

    POST myindex/_doc/
    {
      "name":"Pony",
      "age":50
    }
  4. Kueri dokumen yang dimasukkan dalam kluster lokal. Gambar berikut menunjukkan dokumen tersebut.验证数据同步的实时性

    Gambar di atas menunjukkan bahwa fitur CCR dapat menerapkan pencadangan data inkremental.

    Catatan

    Anda juga dapat memanggil API untuk fitur CCR guna melakukan operasi replikasi antar kluster. Untuk informasi selengkapnya, lihat Cross-cluster replication APIs.

Pertanyaan Umum

  • T: Saya dapat menggunakan port 9300 untuk menambahkan kluster jarak jauh. Mengapa hanya port 9200 yang dapat diakses saat saya menggunakan nama domain untuk mengakses kluster Elasticsearch?

    J: Port 9300 adalah port terbuka. Namun, saat Anda mengakses kluster melalui Internet, Server Load Balancer (SLB) hanya mengaktifkan port 9200 selama verifikasi port demi keamanan.

  • T: Bagaimana cara melihat status sinkronisasi data berbasis CCR?

    J: Jalankan perintah GET /_ccr/stats di konsol Kibana kluster yang menyimpan indeks pengikut dan lihat nilai parameter number_of_failed_follow_indices. Parameter ini menunjukkan jumlah shard yang gagal.

    • Jika nilai parameter adalah 0, sinkronisasi berjalan normal.

    • Jika nilai parameter bukan 0, jalankan perintah berikut untuk kluster yang menyimpan indeks pengikut untuk menjeda lalu melanjutkan sinkronisasi:

      POST /<follower_index>/_ccr/pause_follow
      POST /<follower_index>/_ccr/resume_follow