調用UpdateInstance,變更集群配置。

調用該接口時,請注意:

  • 當實例狀態為生效中(activating)、失效(invalid)和凍結(inactive)時,無法變更配置。
  • 如果集群負載過高且索引沒有副本,同時在升配或者降配過程中存在大量的寫入或查詢等情況,業務可能會出現偶發的訪問超時現象。建議在集群變更前,在客戶端訪問機制中配置重試機制,以減小對業務的影響。
  • 每次只能變更一種類型的節點(數據節點、專有主節點、冷數據節點、協調節點、Kibana節點、彈性節點)的配置。
  • 出于您的集群健康和穩定性的考慮,自2021年5月起,阿里云Elasticsearch已不支持購買1核2 GB規格、專有主節點的2核2 GB規格和7.4版本實例,如果您已確認已購規格不再支持售賣,那么您需要先完成以下操作:

更多注意事項,請參見升配集群降配集群。

調試

您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。

請求頭

該接口使用公共請求頭,無特殊請求頭。請參見公共請求參數文檔。

請求語法

PUT /openapi/instances/{InstanceId} HTTP/1.1

請求參數

名稱 類型 位置 是否必選 示例值 描述
InstanceId String Path es-cn-n6w1ptcb30009****

實例ID。

clientToken String Query 5A2CFF0E-5718-45B5-9D4D-70B3FF****

用于保證請求的冪等性。由客戶端生成該參數值,要保證在不同請求間唯一,最大不超過64個ASCII字符。

orderActionType String Query upgrade

配置變更類型,可選值:

  • upgrade(默認):升配
  • downgrade:降配
Object Body

請求體參數。

nodeAmount Integer Body 3

節點數量。

nodeSpec NodeSpec Body

數據節點配置。

masterConfiguration MasterNodeConfiguration Body

專有主節點配置。

clientNodeConfiguration ClientNodeConfiguration Body

協調節點配置。

warmNodeConfiguration WarmNodeConfiguration Body

冷數據節點配置。

kibanaConfiguration KibanaNodeConfiguration Body

kibana節點配置。

elasticDataNodeConfiguration ElasticDataNodeConfiguration Body

彈性節點配置。

instanceCategory String Body advanced

版本類型。可選值:

  • x-pack:商業版實例
  • advanced:增強版實例
  • IS:開啟Indexing Service的增強版實例
  • community:基礎版實例
    說明 創建增強版開啟OpenStore的實例需要同時開啟Indexing Service。
force Boolean Query false

是否強制重啟:

  • true:是
  • false(默認):否

Elasticsearch支持的節點規格列表,請參見阿里云Elasticsearch定價信息、產品規格。

請求體參數示例如下:

升配
說明 升配時,不支持降低存儲空間數值、存儲類型配置、節點數量、規格的CPU核數或內存值。
  • 升配存儲空間

    目前僅支持數據節點、冷數據節點和彈性數據節點升配存儲空間。

    將冷數據節點的存儲空間升配至1000 GiB。
    
    {
      "warmNodeConfiguration": {
       "disk": 1000
      }
    }
    
  • 升配存儲類型

    目前僅支持數據節點、彈性數據節點和專有主節點升配存儲類型。

    • 將專有主節點的存儲類型升配為ESSD云盤類型。
      
      {
        "masterConfiguration": {
          "diskType": "cloud_essd"
        }
      }
      
    • 當專有主節點的存儲類型為ESSD云盤類型時,將節點存儲性能級別升配為PL3。

      指定performanceLevel后,diskType會默認填充為cloud_essd。

      指定cloud_essd后,performanceLevel默認為PL1
      
      	{
      	  "masterConfiguration": {
      		"performanceLevel": "PL3"
      	  }
      	}
      	
  • 升配節點數量

    目前僅支持數據節點、冷數據節點、彈性數據節點和協調節點升配節點數量。

    數據節點升配節點數量的方式與其他節點不同,具體參見下文示例。

    • 將數據節點的節點數量升至12個。
      
      {
        "nodeAmount": 12
      }
      
    • 將其他類型節點(以冷數據節點為例)的節點數量升至12個。
      
      {
        "warmNodeConfiguration": {
          "amount": 12
        }
      }
      
  • 升配節點規格

    將數據節點的規格升至4核32 GB。
    
    {
      "nodeSpec": {
        "spec": "elasticsearch.r5.xlarge"
      }
    }
    
  • 同時升配同一節點的幾種配置

    同時升配同一節點的幾種配置,需要您同時寫入升配資源RequestBody。

    • 將協調節點的節點數量升至8,規格升至4核8 GB。
      
      {
        "clientNodeConfiguration": {
          "amount": 8,
          "spec": "elasticsearch.sn1ne.xlarge"
        }
      }
      
    • 將數據節點的節點數量升至12,存儲類型升至ESSD云盤。
      
      {
        "nodeAmount": 12,
        "nodeSpec": {
          "diskType": "cloud_essd"
        }
      }
      
  • 啟用節點

    您可以參見createInstance接口設置完整的節點資源配置。

    • 啟用協調節點,同時設置協調節點配置。
      
      {
        "clientNodeConfiguration": {
          "amount": 5,
          "disk": 20,
          "spec": "elasticsearch.sn1ne.xlarge"
        }
      }
      
    • 啟用彈性數據節點,同時設置彈性數據節點配置(此配置只適用于中國站)。
      
      {
        "elasticNodeConfiguration": {
          "disk": 200,
          "amount": 5,
          "diskType": "cloud_essd",
          "spec": "elasticsearch.sn1ne.xlarge"
        }
      }
      
    • 啟用冷數據節點,同時設置冷數據節點配置。
      
      {
        "warmNodeConfiguration": {
          "disk": 1000,
          "amount": 3,
          "spec": "elasticsearch.sn1ne.xlarge"
        }
      }
      
  • 升配開啟OpenStore(此配置只適用于中國站)

    已啟用冷數據節點的實例以及數據節點存儲類型為ESSD云盤的實例,目前不支持升配開啟OpenStore。

    如果實例類型為普通商業版,升配開啟OpenStore后,實例類型同時由普通商業版升配至開啟Indexing Service的日志增強版。

    • 冷數據節點打開OpenStore。
      
      {
        "warmNodeConfiguration": {
          "amount": 5,
          "spec": "openstore.i2g.4xlarge"
        }
      }
      
    • 數據節點規格轉換為OpenStore。
      
      {
        "nodeAmount": 6,
        "nodeSpec": {
          "spec": "openstore.i2g.4xlarge",
          "diskType": "cloud_ssd",
          "disk": 100
        }
      }
      
  • 指定變更方式
    • 變更方式默認為智能變更,將其指定為藍綠變更(blue_green)或原地變更(normal)。
      
      {
        "nodeSpec": {
          "spec": "elasticsearch.r5.xlarge"
        },
        "updateType": "blue_green"  ## 原地變更為normal。
      }
      
    • 開啟強制變更。
      
      {
        "nodeSpec": {
          "spec": "elasticsearch.r5.xlarge"
        },
        "force": true
      }
      
  • 使用dryRun接口進行升配預校驗

    在RequestBody中添加dryRun字段。
    
    {
      "nodeSpec": {
        "spec": "elasticsearch.r5.xlarge"
      },
      "dryRun": true
    }
    
降配
說明

降配時,不支持升級存儲空間數值、存儲類型、節點數量、規格的CPU核數或內存值。

UpdateInstance接口無法降低節點數量,如有需求請使用ShrinkNode接口。

不支持降配節點存儲空間大小,啟用的節點不支持關閉。

不支持選擇強制變更,不支持指定變更類型,默認使用智能變更。

降配時,orderActionType參數需要設置為Downgrade。

您可以同時降配多個資源配置,也可以進行dryRun預校驗。

  • 降配存儲類型

    降配時,不支持變更冷數據節點(不變更實例類型)、協調節點、Kibana節點的存儲類型。

    將專有主節點的存儲類型變更為SSD云盤。
    
    {
      "masterConfiguration": {
        "diskType": "cloud_ssd"
      }
    }
    
  • 降配規格

    將數據節點的規格降配至4核32 GB。
    
    {
      "nodeSpec": {
        "spec": "elasticsearch.r5.xlarge"
      }
    }
    

返回數據

名稱 類型 示例值 描述
RequestId String 5FFD9ED4-C2EC-4E89-B22B-1ACB6FE1****

請求ID。

Result Object

返回結果。

nodeAmount Integer 2

數據節點的數量。

createdAt String 2018-07-13T03:58:07.253Z

實例創建時間。

status String active

實例的狀態。支持:

  • active:正常
  • activating:生效中
  • inactive:凍結
  • invalid:失效
paymentType String postpaid

實例的付費方式。支持:

  • prepaid:包年包月
  • postpaid:按量付費
domain String es-cn-abc.elasticsearch.aliyuncs.com

實例的私網訪問域名。

description String test

實例名稱。

esVersion String 5.5.3_with_X-Pack

實例版本。

instanceId String es-cn-abc

實例ID。

nodeSpec Object

數據節點配置信息。

spec String elasticsearch.sn2ne.xlarge

節點規格。

disk Integer 40

節點存儲空間大小,單位:GB。

diskType String cloud_ssd

節點存儲類型。支持:

  • cloud_ssd:SSD云盤
  • cloud_efficiency:高效云盤
kibanaConfiguration Object

Kibana節點配置。

spec String elasticsearch.n4.small

節點規格。

amount Integer 1

節點數量。

disk Integer 20

節點存儲空間大小。

diskType String cloud_ssd

節點存儲類型(可忽略該參數)。

masterConfiguration Object

Master節點配置。

spec String elasticsearch.sn2ne.large

節點規格。

amount Integer 3

節點數量。

disk Integer 20

節點的存儲空間大小,單位:GB。

diskType String cloud_ssd

節點的存儲類型。只支持cloud_ssd(SSD云盤)。

示例

請求示例

PUT /openapi/instances/es-cn-n6w1ptcb30009****?clientToken=5A2CFF0E-5718-45B5-9D4D-70B3FF****&orderActionType=upgrade HTTP/1.1
Host:elasticsearch.aliyuncs.com
Content-Type:application/json

{
  "nodeSpec": {
    "spec": "elasticsearch.r5.xlarge"
  }
}

正常返回示例

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Result" : {
    "instanceId" : "es-cn-n6w1ptcb30009****",
    "version" : "5.5.3_with_X-Pack",
    "nodeAmount" : 3,
    "paymentType" : "postpaid",
    "status" : "active",
    "nodeSpec" : {
      "spec" : "elasticsearch.n4.small",
      "disk" : 40,
      "diskType" : "cloud_ssd",
      "diskEncryption" : false
    },
    "createdAt" : "2020-06-28T08:25:52.895Z",
    "zoneCount" : 1,
    "instanceCategory" : "x-pack",
    "kibanaConfiguration" : {
      "spec" : "elasticsearch.n4.small",
      "amount" : 1,
      "disk" : 0
    }
  },
  "RequestId" : "B5246080-9C30-4B6A-8F8A-8C705405****"
}

返回示例補充說明

> 返回示例中,本文只保證包含返回數據列表中的參數,而未提到的參數僅供參考,程序中不能強制依賴獲取這些參數。

錯誤碼

訪問錯誤中心查看更多錯誤碼。