全部產品
Search
文件中心

:跨地區ES資料複製

更新時間:Mar 29, 2026

通過雲企業網CEN、網路負載平衡NLB和私網串連PrivateLink,跨地區打通兩個Elasticsearch叢集的私網,並配置跨叢集複製CCR(Cross-Cluster Replication),實現索引資料的近即時同步,滿足跨地區容災和讀寫分離需求。

前提條件

  • 已在兩個不同地區(如華東2上海和華東1杭州)分別建立Elasticsearch執行個體,作為Leader叢集和Follower叢集。建立執行個體的操作,請參見購買Elasticsearch

  • 兩個叢集的管控部署模式均為雲原生新管控(v3)。如果叢集為v1或v2架構,需先完成架構升級,請參見執行個體架構升級

  • 兩個叢集的版本均為7.10.0及以上,且Follower叢集版本不低於Leader叢集版本。

方案概述

阿里雲ES執行個體部署在獨立的管控VPC內,而非使用者VPC中。即使通過CEN打通了兩個地區的使用者VPC,也無法直接實現叢集間的私網互連。需要在CEN互連的基礎上,藉助NLB和PrivateLink打通兩個叢集之間的管控VPC網路。整體流程如下:

  1. 通過CEN打通Leader叢集和Follower叢集所在VPC的跨地區網路。

  2. 在Follower叢集所在地區的VPC中建立NLB,通過IP類型伺服器組將流量跨地區轉寄到Leader叢集的私網IP。

  3. 基於該NLB建立PrivateLink終端節點服務。

  4. 在Follower叢集的ES控制台中配置私網串連,擷取PrivateLink網域名稱。

  5. 在Follower叢集的Kibana中添加遠程叢集,配置CCR。

操作步驟

步驟一:通過CEN打通跨地區VPC網路

通過雲企業網CEN,將Leader叢集所在地區的VPC和Follower叢集所在地區的VPC實現跨地區互連,詳細步驟請參見跨地區VPC互連

重要

CEN企業版轉寄路由器要求VPC中至少有2個不同可用性區域的VSwitch。如果VPC中只有1個VSwitch,需要在另一個可用性區域建立新VSwitch後才能將VPC掛載到轉寄路由器。

步驟二:擷取Leader叢集的私網IP

  1. 登入Elasticsearch控制台

  2. 在Leader叢集的基本資料頁面,找到私網地址欄位,複製私網網域名稱。

  3. 通過同VPC內的ECS執行個體,執行以下命令解析Leader叢集的私網IP:

    ping <Leader叢集私網網域名稱>

    記錄解析出的IP地址,後續步驟中需要使用。

步驟三:建立NLB和伺服器組

在Follower叢集所在的VPC中建立NLB,將流量轉寄到Leader叢集。

  1. 登入網路型負載平衡NLB控制台

  2. 建立伺服器組。

    1. 在左側導覽列,單擊伺服器組

    2. 單擊建立伺服器組,配置以下參數:

      參數

      說明

      伺服器群組類型

      選擇IP類型

      轉送連接埠

      開啟全連接埠轉寄

      健全狀態檢查

      連接埠填寫9300

    3. 在已建立的伺服器組中,單擊添加後端伺服器,添加步驟一中擷取的Leader叢集私網IP,連接埠保持預設。

  3. 建立NLB執行個體和監聽。

    如已有NLB執行個體,可直接建立監聽;如沒有,需先建立NLB執行個體(跳過監聽配置)。

    1. 在左側導覽列,單擊執行個體,選擇或建立NLB執行個體。

    2. 進入執行個體詳情頁,單擊監聽頁簽,單擊建立監聽

    3. 開啟全連接埠功能,監聽連接埠範圍選取9200~9300

    4. 伺服器組選擇IP類型以及上一步建立的伺服器組。

步驟四:配置PrivateLink

通過PrivateLink打通Follower叢集管控VPC到Leader叢集的網路。

  1. 登入私網串連PrivateLink控制台

  2. 建立終端節點服務。

    1. 在左側導覽列,單擊終端節點服務

    2. 單擊建立終端節點服務,配置以下參數:

      參數

      說明

      服務資源類型

      選擇NLB

      服務資源

      選擇步驟三中建立或使用的NLB執行個體。

      可用性區域

      選擇NLB執行個體所在的可用性區域。

      自動接受終端節點串連

      選擇

  3. 在Follower叢集中添加私網串連。

    1. 登入Elasticsearch控制台,進入Follower叢集的執行個體詳情頁。

    2. 在左側導覽列,選擇 配置與管理>安全配置

    3. 叢集網路設定地區,單擊配置執行個體私網串連

    4. 單擊添加私網串連,選擇上一步建立的終端節點服務。

    5. 等待串連狀態變為已串連

  4. 擷取PrivateLink網域名稱。

    串連成功後,返回PrivateLink控制台,在終端節點服務的終端節點串連狀態頁簽中,查看自動建立的終端節點串連。該串連的網域名稱即為PrivateLink私網網域名稱,後續配置遠程叢集時使用。

步驟五:配置跨叢集複製(CCR)

  1. 進入Follower叢集的Kibana,具體步驟請參見通過公網地址登入Kibana(v2/v3部署架構)

    在Follower叢集的執行個體詳情頁,單擊左側導覽列的可視化控制,單擊進入Kibana

  2. 添加遠程叢集。

    1. 在Kibana左側菜單中,單擊Stack Management

    2. Data地區,單擊Remote Clusters

    3. 單擊Add a remote cluster,配置以下參數:

      參數

      說明

      Name

      填寫Leader叢集的執行個體ID。

      Proxy mode

      開啟代理模式。

      Proxy address

      填寫步驟四中擷取的PrivateLink網域名稱,格式為 <網域名稱>:9300

    4. 單擊Save,確認串連狀態為Connected

  3. 配置CCR跟隨模式。

    CCR支援兩種模式:

    模式

    說明

    Follower索引

    針對指定的單個索引進行複製。

    自動跟隨模式

    根據索引名稱模式自動複製匹配的索引,適合批量同步。

    自動跟隨模式建立後,Leader叢集中建立的索引資料會自動同步到Follower叢集。已有索引不會自動同步,如需同步已有索引,請在Follower叢集手動建立Follower索引。

    以自動跟隨模式為例:

    1. Stack Management中,單擊Cross-Cluster Replication

    2. 選擇Auto-follow patterns頁簽,單擊Create an auto-follow pattern

    3. Remote cluster選擇上一步添加的遠程叢集,Index patterns(索引模式)填寫 *(複製所有索引)。如只需複製特定索引,可填寫具體的索引名稱模式,如 logs-*

    4. 單擊Create

步驟六:驗證資料同步

  1. 驗證存量資料同步。

    在Follower叢集的Kibana中,執行以下命令查詢Leader叢集中已有的索引資料:

    GET /<索引名>/_search

    如果返回結果與Leader叢集一致,說明存量資料已完成同步。

  2. 驗證增量資料同步。

    1. 在Leader叢集的Kibana中,建立新索引並寫入文檔:

      PUT /test-increment-index
      
      POST /test-increment-index/_doc
      {
          "title": "increment test",
          "content": "This is a test document for CCR incremental sync."
      }
    2. 在Follower叢集的Kibana中,查詢該索引:

      GET /test-increment-index/_search

      如果返回的文檔內容與寫入的一致,說明增量資料已即時同步。

常見問題

遠程叢集串連狀態不是Connected?

檢查以下幾點:

  • Leader ES叢集的VPC私網訪問白名單是否包含NLB所在VPC的網段。在跨地區情境下,NLB通過CEN轉寄健全狀態檢查和資料流量到Leader ES時,源IP來自NLB所在VPC,如果Leader ES白名單未包含這些IP,會導致NLB健全狀態檢查異常和串連失敗。

  • CEN跨地區頻寬是否已指派,兩個VPC之間的網路是否已打通。

  • NLB監聽連接埠範圍是否包含9200~9300。

  • 伺服器組中的Leader叢集私網IP是否正確。

  • 伺服器組的健全狀態檢查連接埠是否為9300。

  • PrivateLink終端節點服務的串連狀態是否為"已串連"。

跨地區CCR的同步延遲是否比同地區更高?

跨地區CCR的同步延遲受跨地區網路延遲影響,通常比同地區情境略高,但仍可保持在秒級範圍內。實際延遲取決於CEN頻寬配置、資料量和網路狀況。建議根據業務需求合理配置CEN跨地區頻寬。

CCR對叢集版本有什麼要求?

Follower叢集的版本不能低於Leader叢集的版本。兩個叢集均需為7.10.0及以上版本,且管控部署模式為雲原生新管控(v3)。