All Products
Search
Document Center

Elasticsearch:Penerapan dan Operasi Cross-zone

Last Updated:Apr 11, 2026

Untuk aplikasi yang memerlukan ketersediaan tinggi, penerapan single-zone merupakan titik kegagalan tunggal karena gangguan pada pusat data fisik dapat menyebabkan gangguan layanan total. Penerapan cross-zone meningkatkan keandalan dengan mendistribusikan node instans Alibaba Cloud Elasticsearch di beberapa zona ketersediaan yang secara fisik terisolasi dalam satu wilayah. Arsitektur ini menyediakan pemulihan bencana tingkat pusat data. Jika satu zona ketersediaan gagal, kluster tetap beroperasi menggunakan node dan shard replika di zona lainnya, sehingga menjamin kelangsungan bisnis.

Cara kerja

Penerapan cross-zone memanfaatkan fitur bawaan Elasticsearch shard allocation awareness.

Saat Anda membuat instans multi-zona ketersediaan, sistem secara otomatis menambahkan properti bernama zone_id ke node yang diterapkan di zona ketersediaan berbeda dan mengonfigurasi kluster dengan cluster.routing.allocation.awareness.attributes: zone_id untuk menginstruksikan Elasticsearch agar mempertimbangkan properti node ini saat mengalokasikan shard.

Mekanisme ini memastikan bahwa shard primary dan replika dari suatu indeks didistribusikan di zona ketersediaan yang berbeda. Jika seluruh zona ketersediaan gagal, salinan shard-nya tetap tersedia di zona lain, sehingga menjamin redundansi data dan ketersediaan layanan.

Mode penyebaran

Pilih mode penyebaran yang sesuai dengan kebutuhan ketersediaan dan anggaran Anda.

Mode penyebaran

Arsitektur

Pemulihan bencana

Kasus penggunaan

Single availability zone

Semua node berada di satu zona ketersediaan.

Kegagalan pada zona ketersediaan menyebabkan gangguan layanan total.

Beban kerja non-kritis seperti pengembangan dan pengujian.

Two availability zones

Node didistribusikan di dua zona ketersediaan.

Layanan tetap berjalan jika satu zona ketersediaan gagal.

Lingkungan produksi dengan persyaratan ketersediaan tinggi.

Three availability zones

Node didistribusikan di tiga zona ketersediaan.

Layanan tetap berjalan jika satu zona ketersediaan gagal.

Aplikasi produksi inti dengan persyaratan ketersediaan sangat tinggi.

Buat instans cross-zone

  1. Buka halaman Create Alibaba Cloud Elasticsearch instance.

  2. Pada bagian Number of Availability Zones, pilih dua atau tiga zona ketersediaan.

    • Batas jumlah node: Jumlah node data, node data dingin, atau node coordinating harus merupakan kelipatan jumlah zona ketersediaan yang dipilih agar distribusi merata.

    • Dedicated master nodes: Anda harus membeli tiga dedicated master node untuk menjamin stabilitas arsitektur multi-zona.

    Zona ketersediaan yang Anda pilih di Konsol (misalnya, Zone A) berfungsi sebagai titik akses utama kluster. Sistem secara otomatis dan merata mendistribusikan node di jumlah zona ketersediaan yang ditentukan berdasarkan ketersediaan resource secara real-time. Misalnya, jika Anda memilih dua zona ketersediaan, sistem mungkin menerapkan node di Zone A dan Zone B.

Tingkatkan ke penerapan multi-zona (hanya untuk kluster V3)

  1. Sebelum melakukan peningkatan, verifikasi kondisi berikut:

    • Jalankan GET _cluster/health untuk memastikan status kesehatan kluster adalah GREEN. Jika kluster tidak sehat, lihat Cluster modification error: Unhealthy cluster status untuk mengatasi masalah tersebut.

    • Optimalkan distribusi koneksi client. Hindari memusatkan koneksi jangka panjang di satu zona ketersediaan karena hal ini dapat menghabiskan resource pada node di zona tersebut sementara node di zona lain menganggur. Anda dapat mengoptimalkan distribusi koneksi dengan mengatur periode validitas koneksi, me-restart client secara batch, atau menggunakan node coordinating terpisah. Untuk informasi lebih lanjut, lihat Analysis and solutions for uneven cluster load.

    • Jalankan GET _cluster/settings dan pastikan output mencakup "cluster.routing.allocation.enable": "all", yang memungkinkan Elasticsearch mengalokasikan shard secara otomatis. Jika pengaturannya berbeda, jalankan perintah berikut untuk mengaktifkan alokasi shard otomatis.

      PUT _cluster/settings  
      {  
        "transient": {  
          "cluster.routing.allocation.enable": "all"  
        }  
      }  
  2. Pada halaman Instance List, klik Upgrade.

    Atau, buka halaman Basic Information dan klik Modify Configuration > Upgrade Cluster.

  3. Di halaman konfigurasi, pada area Number of Availability Zones, pilih dua atau tiga zona ketersediaan, lalu selesaikan pembayaran.

    • Selama peningkatan, sistem secara otomatis mengaktifkan dedicated master node (jika belum diaktifkan) dan mungkin menambahkan node data untuk memenuhi persyaratan distribusi merata sesuai jumlah zona ketersediaan yang dipilih. Node baru ini akan dikenai biaya tambahan. Lihat tagihan Anda untuk detailnya.

    • Sebagai contoh, jika Anda meningkatkan instans single-zone dengan dua node data menjadi penerapan tiga zona, sistem secara otomatis menambahkan satu node data sehingga total menjadi tiga, memungkinkan satu node data dialokasikan ke setiap zona ketersediaan.

Migrasi zona ketersediaan

Jika Anda perlu meningkatkan kluster tetapi zona ketersediaan saat ini memiliki resource yang tidak mencukupi, Anda dapat memigrasikan node ke zona ketersediaan baru yang memiliki resource memadai sebelum melakukan peningkatan.

Penting

Migrasi zona ketersediaan memicu restart kluster. Kluster tetap tersedia selama restart, tetapi ketidakstabilan layanan mungkin terjadi. Lakukan operasi ini selama jam sepi.

  1. Sebelum migrasi, verifikasi kondisi berikut:

    • Jalankan GET _cluster/health untuk memastikan status kesehatan kluster adalah GREEN. Jika kluster tidak sehat, lihat Cluster modification error: Unhealthy cluster status untuk mengatasi masalah tersebut.

    • Jalankan GET /_cat/indices?v untuk memeriksa apakah ada indeks yang tertutup. Jika ada indeks yang tertutup, Anda harus membukanya sementara dengan menjalankan POST /<index_name>/_open. Jika tidak, peningkatan mungkin gagal karena status kesehatan kluster tidak dapat menjadi GREEN jika ada indeks yang tertutup.

    • Jalankan GET _cluster/settings dan pastikan output mencakup "cluster.routing.allocation.enable": "all", yang memungkinkan Elasticsearch mengalokasikan shard secara otomatis. Jika pengaturannya berbeda, jalankan perintah berikut untuk mengaktifkan alokasi shard otomatis.

      PUT _cluster/settings  
      {  
        "transient": {  
          "cluster.routing.allocation.enable": "all"  
        }  
      }  
  2. Lakukan migrasi:

    1. Buka halaman Basic Information instans target. Di area visualisasi node, arahkan kursor ke zona ketersediaan yang ingin dimigrasikan dan klik Migrate.

    2. Pada kotak dialog yang muncul, pilih zona ketersediaan tujuan dan vSwitch. Anda hanya dapat memigrasikan satu zona ketersediaan dalam satu waktu.

    3. Setujui perjanjian layanan migrasi data dan klik Confirm.

      • Setelah dikonfirmasi, kluster akan restart. Selama proses ini, Anda mungkin mengalami fluktuasi performa singkat. Sistem pertama kali menyediakan node master baru di zona ketersediaan tujuan, sehingga zona lama dan baru akan berdampingan sementara.

      • Setelah migrasi selesai, kluster kembali normal. Namun, Konsol (pada halaman informasi atau konfigurasi instans) mungkin masih menampilkan zona ketersediaan lama karena keterlambatan tampilan. Hal ini tidak memengaruhi operasi kluster di zona ketersediaan baru. Perhatikan bahwa alamat IP node akan berubah.

Failover dan pemulihan zona ketersediaan

Jika Anda mendeteksi kegagalan pada zona ketersediaan, Anda dapat melakukan failover untuk mengarahkan traffic client ke zona yang tersisa. Setelah zona yang gagal pulih, Anda dapat memulihkannya agar kembali bergabung ke kluster.

Failover (isolasi zona yang gagal)

  1. Di area visualisasi node instans Anda, arahkan kursor ke zona ketersediaan yang ingin diisolasi dan klik Failover.

  2. Pada kotak dialog yang muncul, klik Confirm.

    Penting

    Failover zona ketersediaan mengisolasi semua node di zona yang terdampak. Setelah failover, permintaan hanya ditangani oleh node di zona yang tersisa. Sistem berusaha menyediakan resource tambahan di zona yang tersisa untuk mengkompensasi, tetapi keberhasilannya tidak dijamin karena faktor seperti ketersediaan resource dan konkurensi penjadwalan. Pantau beban kluster Anda dan terapkan langkah pembatasan kecepatan trafik jika diperlukan.

    Jika indeks Anda telah dikonfigurasi dengan replika sebelum failover, tetapi status kluster menjadi YELLOW (tidak sehat) setelah failover, Anda dapat terhubung ke kluster melalui Kibana dan menjalankan perintah berikut. Ini memaksa realokasi shard dari zona yang gagal ke zona yang tersisa.

    PUT /_cluster/settings
    {
        "persistent" : {
            "cluster.routing.allocation.awareness.force.zone_id.values" : {"0": null, "1": null, "2": null}
        }
    }

    Setelah shard direalokasi, status kesehatan kluster kembali menjadi GREEN.

Pemulihan (bergabung kembali ke zona)

  1. Setelah memastikan bahwa zona ketersediaan yang gagal telah pulih, arahkan kursor ke zona offline di area visualisasi node dan klik Recovery.

  2. Pada kotak dialog yang muncul, klik Confirm. Kluster akan restart. Setelah pemulihan, node sementara yang ditambahkan selama proses failover akan dihapus, dan arsitektur kluster kembali ke kondisi semula.