Elasticsearch(簡稱ES)執行個體部分功能受新網路架構限制無法應用,可通過PrivateLink+負載平衡實現阿里雲ES與雲資源(ECS、ENI、ECI類型等)或某IP地址下的網路資源打通,解決雲ES網路私網互連問題。本文分別介紹通過CLB和PrivateLink實現阿里雲ES與阿里雲伺服器資源私網互連,及通過阿里雲NLB和PrivateLink實現阿里雲ES叢集間私網互連,您也可按照PrivateLink和負載平衡支援的情境自行應用。
執行個體私網串連是解決新網路架構下X-Pack Watcher、reindex、LDAP和AD(Active Directory)身份認證等功能受限的唯一方案。
2020年10月及之後建立的執行個體處於新網路架構下,支援執行個體私網串連。2020年10月之前建立的執行個體(包括金融雲和政務雲)處於舊網路架構下,不支援執行個體私網串連。
阿里雲ES PrivateLink應用情境
ES訪問外部網路下的服務資源的情境,例如Watcher警示、LDAP、Active Directory等情境。
可配置阿里雲ES與阿里雲ECS私網打通,將阿里雲ECS作為商務服務器或Proxy 伺服器實現網路轉寄,實現原理如下所示。
應用的具體情境、功能如下:
功能
情境說明
相關文檔
Watcher
阿里雲ES的X-Pack功能支援依據查詢條件監測系統資訊,對外提供警示服務。
阿里雲ES安全特性
阿里雲ES的X-Pack功能支援多種叢集層級安全特性配置,例如:LDAP、使用者認證等。
自訂外掛程式訪問外部詞庫
自訂外掛程式動態訪問外部網路詞庫。
跨叢集reindex
通過跨叢集reindex將自建ES資料寫入到阿里雲ES。
兩個阿里雲ES跨叢集reindex遷移情境。兩個ES執行個體分別部署在VPC_1和VPC_2中,在VPC_1下的阿里雲ES_1上配置執行個體私網串連,將VPC_1下的終端節點與VPC_2下的終端節點服務串連,實現兩個ES執行個體的私網串連,實現原理如下所示。
應用的具體情境、功能如下:
功能
情境說明
相關文檔
reindex
通過跨叢集reindex將一個阿里雲ES資料寫入到另一個阿里雲ES 。
名詞解釋
通過PrivateLink實現私網訪問,您需要建立終端節點服務和終端節點。
名詞 | 描述 |
終端節點服務 | 終端節點服務是可以被其他VPC通過建立終端節點建立私網已連線的服務,需要您手動建立相關的服務資源。 |
終端節點 | 終端節點與終端節點服務相關聯,可以建立通過VPC私網訪問外部服務的網路連接,阿里雲ES配置執行個體私網串連將自動在ES所處的網路環境下建立終端節點。 |
通過CLB和PrivateLink實現阿里雲ES與ECS私網串連
前提條件
已在VPC_1下建立阿里雲ES執行個體,且ES執行個體須為2020年10月及之後建立。建立阿里雲ES執行個體,請參見建立阿里雲ES執行個體。
已在使用者VPC_2下建立ECS執行個體,並部署了相關應用,詳細資料請參見自訂購買執行個體。
說明ECS執行個體即後端伺服器,主要接收通過Server Load Balancer執行個體所轉寄的請求。建立ECS時需要選擇支援PrivateLink的地區和可用性區域。PrivateLink支援的地區,請參見支援私網串連的地區和可用性區域。
阿里雲ES、ECS、Server Load Balancer執行個體需部署在同一地區下的同可用性區域中。
步驟一:建立並配置Server Load Balancer執行個體
建立支援PrivateLink功能的Server Load Balancer執行個體。
在執行個體管理頁面,單擊建立傳統型負載平衡。
在Server Load Balancer購買頁面配置執行個體,地區選擇阿里雲ES執行個體所在地區,執行個體類型選擇私網,然後單擊立即購買,購買CLB執行個體。
更多資訊,請參見建立和管理CLB執行個體。
配置Server Load Balancer執行個體。
在執行個體管理頁面,單擊目標執行個體操作列下的監聽設定精靈。
在負載平衡業務設定精靈頁面,按需配置監聽資訊和後端伺服器資訊,並進行健全狀態檢查和組態稽核。
更多詳細資料,請參見配置Server Load Balancer執行個體和CLB監聽概述。
步驟二:建立終端節點服務
執行個體私網串連功能將自動在ES所處的網路環境下建立終端節點,僅需您在ECS所處的環境下手動建立終端節點服務。
在頂部功能表列處,選擇要建立終端節點服務的地區。
終端節點服務需要與Server Load Balancer執行個體在同一地區。
單擊建立終端節點服務。
在建立終端節點服務頁面,服務資源選擇已建立的Server Load Balancer執行個體,按需配置其他參數,單擊確定建立,建立終端節點服務。
更多詳細資料,請參見建立終端節點服務。
步驟三:配置阿里雲ES私網串連
- 登入Elasticsearch控制台。
- 在左側導覽列,單擊Elasticsearch執行個體。
- 進入目標執行個體。
- 在頂部功能表列處,選擇資源群組和地區。
- 在Elasticsearch執行個體中單擊目標執行個體ID。
在左側導覽列,選擇 。
在叢集網路設定地區,單擊配置執行個體私網串連右側的修改。
在配置執行個體私網串連面板,單擊添加私網串連。
在彈出的對話方塊中,選擇已建立的終端節點服務,完成其他配置後單擊確認。
在終端節點的操作列,單擊允許串連。
終端節點與終端節點服務串連成功後,終端節點串連狀態會變為已串連,表明您已經打通了ES叢集VPC_1與使用者VPC_2。
(可選)查看終端節點網域名稱。
您可以擷取終端節點網域名稱用於其他服務的配置,例如Watcher、單點登入和LDAP等。
在配置執行個體私網串連面板中,單擊目標終端節點ID。
在終端節點串連頁簽,單擊目標終端節點ID前的表徵圖,可查看終端節點對應的網域名稱。
通過NLB和PrivateLink實現阿里雲ES執行個體間私網互連
以下介紹通過NLB掛載ES_2執行個體的網域名稱IP,將阿里雲ES_1執行個體通過私網串連到阿里雲ES_2執行個體,該情境常應用於因網路架構限制導致網路無法互連的兩個阿里雲ES執行個體。
兩個ES執行個體連通後,您可以將ES_2中的資料移轉到了ES_1執行個體中。
阿里雲NLB支援IP掛載,更多資訊,請參見NLB功能特性。
前提條件
已建立相同地區和可用性區域下的兩個阿里雲ES執行個體。
建立ES時需要選擇支援PrivateLink的地區和可用性區域。PrivateLink支援的地區,請參見支援私網串連的地區和可用性區域。
步驟一:建立網路型負載平衡服務NLB
網路型負載平衡NLB(Network Load Balancer)執行個體可以接收來自用戶端的請求,並按照監聽規則將請求分發至後端伺服器。使用NLB服務,您需要建立一個NLB執行個體,並在執行個體中添加監聽和後端伺服器。
建立NLB執行個體。
在執行個體頁面,單擊建立網路型負載平衡。
在購買頁面配置執行個體資訊。
地區選擇阿里雲ES_2執行個體所在地區,執行個體網路類型選擇私網,可用性區域選擇阿里雲ES_2執行個體所在的可用性區域。
更多資訊,請參見建立和管理NLB執行個體。
建立NLB伺服器組。
每個伺服器組均用於將用戶端的請求路由到一個或多個後端伺服器。NLB會通過健全狀態檢查來判斷後端伺服器的業務可用性。在為NLB執行個體添加監聽時需要指定伺服器組,監聽會使用已配置的協議和連接埠檢查用戶端的串連請求,並將流量轉寄至相應的伺服器組。
在伺服器組頁面,單擊建立伺服器組。
在彈出的對話方塊中,設定管理員組。
伺服器群組類型選擇IP類型,自訂伺服器組名稱,ES_2執行個體對應的VPC。
NLB上添加ES_2執行個體作為後端服務。
在已經建立的伺服器組中添加ES_2執行個體私網IP地址和連接埠。
通過終端ping擷取ES_2執行個體私網IP地址。
在目標伺服器組的操作列上,單擊編輯後端伺服器。
在後端伺服器頁簽下,單擊添加IP。
將擷取的ES_2執行個體私網IP地址添加到後端伺服器IP地址中,單擊下一步。
添加操作使用的ES連接埠,例如reindex需要使用9200連接埠通訊。
單擊確定。
添加監聽。
在執行個體頁面,在目標NLB執行個體的操作列單擊建立監聽。
監聽協議選擇TCP,監聽連接埠輸入9200,單擊下一步。
伺服器組選擇IP類型,並選擇已添加的後端伺服器組,單擊下一步。
單擊提交。
步驟二:建立終端節點服務
執行個體私網串連功能將自動在ES所處的環境下建立終端節點,僅需您在另一個ES所處的環境下手動建立終端節點服務。
單擊建立終端節點服務。
在建立終端節點服務頁面,配置終端節點服務。
部分參數說明如下。更多資訊,請參見建立NLB執行個體。
配置
說明
所屬地區
選擇與ES相同的地區。
服務資源類型
選擇網路型負載平衡NLB。
選擇服務資源
已建立的NLB執行個體。
服務付費者
兩者都可以選擇。
單擊確定建立。
建立成功後可以在服務資源地區,看到建立的終端節點服務已經和NLB綁定了。
步驟三:阿里雲ES執行個體上配置私網串連
在阿里雲ES_1執行個體上配置私網串連,系統將自動在ES_1執行個體所處的網路環境下建立與終端節點服務相串連的終端節點。
- 登入Elasticsearch控制台。
- 在左側導覽列,單擊Elasticsearch執行個體。
- 進入目標執行個體。
- 在頂部功能表列處,選擇資源群組和地區。
- 在Elasticsearch執行個體中單擊目標執行個體ID。
在左側導覽列,選擇 。
在叢集網路設定地區,單擊配置執行個體私網串連右側的修改。
在配置執行個體私網串連面板,單擊添加私網串連。
在彈出的對話方塊中,選擇已建立的終端節點服務,完成其他配置後單擊確認。
在終端節點的操作列,單擊允許串連。
終端節點與終端節點服務串連成功後,終端節點串連狀態會變為已串連,表明您已經打通了ES_1執行個體和ES_2執行個體。
(可選)查看終端節點網域名稱。
您可以擷取終端節點網域名稱後添加到白名單,用於其他服務的配置,例如Watcher、單點登入和LDAP等。
在配置執行個體私網串連面板中,單擊目標終端節點ID。
在終端節點串連頁簽,單擊目標終端節點ID前的表徵圖,可查看終端節點對應的網域名稱。
(可選)步驟四:通過reindex測試ES執行個體間的連通性
通過reindex將阿里雲ES_2執行個體中的索引遷移到阿里雲ES_1執行個體中,驗證ES_2執行個體和ES_1執行個體的網路連通性。
在ES_1執行個體的YML檔案中配置reindex白名單。
在ES_1執行個體詳情頁的左側導覽列,選擇
。在YML檔案配置地區的右上方,單擊修改配置。
reindex.remote.whitelist: ["終端節點網域名稱:9200"]
ES_2執行個體中已經準備了待遷移資料,在ES_1執行個體中建立索引後進行reindex遷移。
POST _reindex { "source": { "remote": { "host": "http://ep-bp1i4db71e6adaa29718-cn-hangzhou-i.epsrv-bp1fm3v8kc2qr2td6lrm.cn-hangzhou.privatelink.aliyuncs.com:9200", "username": "帳號", "password": "密碼" }, "index": "myindex" }, "dest": { "index": "myindex2" } }
類別
參數
說明
source
host
privatelink終端節點服務訪問地址,必須包含支援協議、終端節點網域名稱和連接埠資訊,例如
https://終端節點網域名稱:9200
。username
選擇性參數。Elasticsearch執行個體的預設使用者名為elastic。
password
使用者對應的密碼。Elasticsearch執行個體的elastic使用者的密碼在建立執行個體時設定,如果忘記可進行重設。重設密碼的注意事項及具體操作,請參見重設執行個體訪問密碼。
index
遠程叢集中的源索引。
query
通過查詢文法,指定待遷移的資料。詳細資料,請參見Reindex API。
dest
index
本地叢集中的目標索引。
在ES_1執行個體中查看是否成功將ES_2執行個體中的資料移轉到了ES_1執行個體中。