本文向您介紹如何通過curl命令列串連Elasticsearch(ES)叢集。
準備工作
擷取叢集串連地址
您可以通過VPC私網或公網地址串連到ES叢集。
VPC私網串連地址:通過VPC私網地址訪問ES叢集,延遲低,穩定性高。該地址在叢集建立成功後預設開啟。
公網串連地址:通過公網訪問ES叢集,需手動開啟。
如何開啟公網訪問:
登入ES控制台,進入執行個體基本資料頁面。
單擊左側導覽列 配置與管理>安全配置,開啟公網訪問。待叢集狀態由生效中變更為生效時,表示公網訪問已成功開啟。
重要公網地址會降低ES叢集的安全性,如果使用公網地址,請務必配置IP白名單,並在使用完畢後及時關閉公網訪問。
設定IP白名單
為保障叢集安全,您需要將待訪問裝置的IP地址加入ES叢集的VPC私網或者公網白名單,該IP地址所屬的裝置才能訪問ES叢集。
擷取待訪問裝置IP。
您可以參照以下情境,擷取待訪問裝置的IP地址。
情境
需擷取的IP地址
擷取方式
在本地裝置中串連ES叢集
本地裝置公網IP。
如果本地裝置位於區域網路(如家庭或公司網路)內,需將該區域網路的公網出口IP地址添加到ES叢集的公網白名單中。
通過
curl ipinfo.io/ip查詢本地裝置公網IP。在不同VPC的ECS執行個體中串連ES叢集
ECS執行個體的公網IP
登入ECS控制台,在執行個體列表查看。
在相同VPC的ECS執行個體中串連ES叢集
ECS執行個體的私網IP
登入ECS控制台,在執行個體列表查看。
將擷取到的IP地址添加到白名單分組中。
登入ES控制台,進入執行個體基本資料,單擊左側導覽列 配置與管理>安全配置,單擊修改在彈窗中設定VPC私網或者公網訪問白名單。

單擊default分組右側的配置 ,在彈出的對話方塊中添加VPC私網或者公網白名單。單個叢集最多可配置300個IP或者IP網段,多個IP或者IP網段之間用英文逗號隔開,且逗號前後不能有空格。
也可單擊新增IP白名單分組,自訂分組名稱。
白名單分組僅用於IP地址管理,不影響存取權限。所有分組內的IP地址許可權相同。

配置類別
格式和樣本值
重要注意事項
IPv4地址格式
單個IP:
192.168.0.1網段:
192.168.0.0/24
禁止訪問:
127.0.0.1允許所有訪問:
0.0.0.0/0重要存在高危風險,強烈建議不要配置
0.0.0.0/0。部分叢集版本(如7.16/8.5)和地區不支援
0.0.0.0/0,請以控制台介面或者報錯提示為準。
IPv6地址格式
(僅v2部署架構且所屬地區為杭州的叢集支援)
單個IP:
2401:XXXX:1000:24::5網段:
2401:XXXX:1000::/48
禁止所有訪問:
::1允許所有訪問
::/0重要存在高危風險,強烈建議不要配置
::/0。部分叢集版本不支援
::/0,請以控制台介面或者配置提示資訊為準。
配置完成後,單擊確認。

串連叢集
命令格式
curl -u '<UserName>:<YourPassword>' 'https://<YourEsHost>:<port>'參數 | 說明 |
UserName | 預設訪問使用者名稱為elastic,該使用者具有叢集最高許可權(可理解為管理員賬戶)。 出於安全考慮,不建議在生產環境中直接使用此預設管理員賬戶,您可以通過Elasticsearch X-Pack的RBAC(Role-based Access Control)機制,自訂角色並分配許可權,然後將角色指派給使用者,實現許可權精細化管控,具體操作請參見通過Elasticsearch X-Pack角色管理實現使用者權限管控。 |
YourPassword | UserName對應的密碼。 |
https | 訪問協議,http協議預設開啟。 建議開啟並使用https協議,確保資料轉送過程中的機密性、安全性和完整性。登入ES控制台進入執行個體基本資料,單擊左側導覽列 配置與管理>安全配置,開啟https協議。 重要 啟用HTTPS協議前,請務必更新應用程式代碼以支援HTTPS串連方式。否則,現有使用HTTP協議的代碼將無法建立安全連線,導致串連失敗。 |
YourEsHost | 準備工作中已擷取的叢集串連地址:
|
port | 叢集的訪問連接埠,VPC私網和公網預設連接埠號碼均為9200。 |
串連樣本
# 公網訪問樣本
curl -u 'user123:Passw0rd!' 'https://es-xx-xxxxxxxxxxxxxxxxx.public.elasticsearch.aliyuncs.com:9200'
# 私網訪問樣本
curl -u 'user123:Passw0rd!' 'https://es-cn-0pp1****.vpc.elasticsearch.aliyuncs.com:9200'串連成功返回以下叢集資訊,您可以參考Elasticsearch REST APIs進行叢集管理或者索引操作。
{
"name" : "es-cn-aic**************-master-i-2",
"cluster_name" : "es-cn-aic**************",
"cluster_uuid" : "InmpfI1oQB2ijtdZ******",
"version" : {
"number" : "8.17.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "0bdf7********************************50279ae7c",
"build_date" : "2025-03-05T02:31:55.853663566Z",
"build_snapshot" : false,
"lucene_version" : "10.0.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}