全部產品
Search
文件中心

Elasticsearch:通過命令列串連叢集

更新時間:Aug 06, 2026

本文向您介紹如何通過curl命令列串連Elasticsearch(ES)叢集。

準備工作

擷取叢集串連地址

您可以通過VPC私網或公網地址串連到ES叢集。

  • VPC私網串連地址:通過VPC私網地址訪問ES叢集,延遲低,穩定性高。該地址在叢集建立成功後預設開啟。

  • 公網串連地址:通過公網訪問ES叢集,需手動開啟。

如何開啟公網訪問:

  1. 登入ES控制台,進入執行個體基本資料頁面。

  2. 單擊左側導覽列 配置與管理>安全配置,開啟公網訪問。待叢集狀態由生效中變更為生效時,表示公網訪問已成功開啟。

    公網訪問開啟後,公網地址格式為 es-cn-<執行個體ID>.public.elasticsearch.aliyuncs.com,公網訪問白名單預設為空白,需手動設定。

    重要

    公網地址會降低ES叢集的安全性,如果使用公網地址,請務必配置IP白名單,並在使用完畢後及時關閉公網訪問。

設定IP白名單

為保障叢集安全,您需要將待訪問裝置的IP地址加入ES叢集的VPC私網或者公網白名單,該IP地址所屬的裝置才能訪問ES叢集。

  1. 擷取待訪問裝置IP。

    您可以參照以下情境,擷取待訪問裝置的IP地址。

    情境

    需擷取的IP地址

    擷取方式

    在本地裝置中串連ES叢集

    本地裝置公網IP。

    如果本地裝置位於區域網路(如家庭或公司網路)內,需將該區域網路的公網出口IP地址添加到ES叢集的公網白名單中。

    通過curl ipinfo.io/ip查詢本地裝置公網IP。

    在不同VPC的ECS執行個體中串連ES叢集

    ECS執行個體的公網IP

    登入ECS控制台,在執行個體列表查看。

    在相同VPC的ECS執行個體中串連ES叢集

    ECS執行個體的私網IP

    登入ECS控制台,在執行個體列表查看。

  2. 將擷取到的IP地址添加到白名單分組中。

    1. 登入ES控制台,進入執行個體基本資料,單擊左側導覽列 配置與管理>安全配置,單擊修改在彈窗中設定VPC私網或者公網訪問白名單。

    2. 單擊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,請以控制台介面或者配置提示資訊為準。

    3. 配置完成後,單擊確認。

協議與認證說明

  • 公網HTTPS:使用權威CA簽發的認證,用戶端無需特殊配置,直接使用 https:// 協議串連即可。

  • 私網HTTPS:使用自我簽署憑證加密傳輸。由於VPC私網不經過公網,不存在中間人攻擊風險,使用 -k 參數跳過認證校正即可安全訪問。

串連叢集

命令格式

# 公網HTTPS
curl -u '<UserName>:<YourPassword>' 'https://<YourEsHost>:port'

# 私網HTTP
curl -u '<UserName>:<YourPassword>' 'http://<YourEsHost>:port'

# 私網HTTPS(使用 -k 跳過認證校正)
curl -k -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協議的代碼將無法建立安全連線,導致串連失敗。

  • 私網HTTPS使用自我簽署憑證,需使用-k參數跳過認證校正。

YourEsHost

準備工作中已擷取的叢集串連地址:

  • VPC私網串連地址

  • 公網串連地址

port

叢集的訪問連接埠,VPC私網和公網預設連接埠號碼均為9200。

串連樣本

# 公網HTTPS訪問
curl -u 'user123:Passw0rd!' 'https://es-xx-xxxxxxxxxxxxxxxxx.public.elasticsearch.aliyuncs.com:9200'

# 私網HTTP訪問
curl -u 'user123:Passw0rd!' 'http://es-cn-0pp1****.elasticsearch.aliyuncs.com:9200'

# 私網HTTPS訪問(-k 跳過認證校正)
curl -k -u 'user123:Passw0rd!' 'https://es-cn-0pp1****.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"
}

串連失敗排查

如果無法串連 ES 叢集,請按以下步驟逐一排查:

  1. 檢查網路連通性:確認 ES 叢集與用戶端處於同一 VPC。如果不在同一 VPC,可通過雲企業網(CEN)或 NAT Gateway實現跨 VPC 網路互連。

  2. 檢查安全性群組連接埠:確認 ES 叢集所在 ECS 執行個體的安全性群組入方向已開放 9200 連接埠。如果是 MySQL 資料同步情境,需確保 ES 叢集與 MySQL 執行個體的安全性群組互相允許存取對方的白名單。

  3. 檢查 Docker 路由表:如果用戶端運行在 Docker 容器中,Docker 可能會變更主機的路由表,導致原本處於同一 VPC 的用戶端與 ES 叢集無法互連。可通過 route -n 命令查看當前路由表,確認到 ES 叢集所在網段的路由是否正常。

  4. 檢查網域名稱和連接埠:確認串連命令中使用的網域名稱(公網串連地址或私網串連地址)和連接埠拼字正確,連接埠預設應為 9200。

  5. 檢查企業防火牆:確認企業防火牆或路由限制未攔截 9200 連接埠的出方向或入方向流量。

  6. 調整逾時參數:適當調大用戶端的 ConnectTimeout 和 SocketTimeout 參數,避免因網路延遲導致串連被誤判為失敗。

此外,還可參考以下常見問題:

  • 忘記密碼:可在 ES 控制台重設訪問密碼。

  • 首次開啟公網訪問後無法串連:請刪除公網訪問白名單default 分組中的預設 IP 127.0.0.1,並添加原生公網出口 IP,具體操作請參見本文「設定 IP 白名單」章節。