本文介紹執行個體建立失敗的系統事件如何提高您的Elastic Compute Service建立成功率和營運效率。

什麼是執行個體建立失敗事件

您在ECS控制台建立執行個體或者調用RunInstances時,如果ECS執行個體都達到運行中Runing)狀態,則本批ECS執行個體建立完成。但云伺服器ECS在當前地區下的供貨數量,以及虛擬交換器VSwitch中私網IP地址數量等是動態變化的,小機率情況下,會因為庫存不足而無法成功建立ECS執行個體。此時,Elastic Compute Service會觸發執行個體建立失敗的系統事件流程,事件代碼為SystemFailure.Delete

發生執行個體建立失敗的事件後,您無法在ECS控制台執行個體與鏡像 > 執行個體頁面或通過DescribeInstances查看到新增執行個體,請在事件頁面查詢ECS執行個體。如果您已經完成訂單支付,會收到相應的消費退款。您可以在事件列表頁對建立失敗的ECS執行個體執行以下操作:
  • 等待系統釋放,大約在建立失敗的五分鐘內會被釋放。
  • 自行釋放執行個體。

查看執行個體建立失敗事件

本文樣本通過阿里雲CLI調用DescribeInstanceHistoryEvents查看ECS執行個體是否有執行中或者已執行的建立失敗事件。有關如何使用其他開發人員工具調用API,請參見ECS API快速入門

aliyun ecs DescribeInstanceHistoryEvents --RegionId TheRegionId --InstanceEventCycleStatus.1 Executing --InstanceEventCycleStatus.2 Executed --EventType SystemFailure.Delete
说明 以上樣本中,您還可以通過指定EventPublishTime.Start和EventPublishTime.End參數查看時間段內的事件資訊。

有關如何使用ECS控制台查看執行個體建立失敗事件,請參見系統事件

狀態區別

在ECS控制台的執行個體頁面或通過DescribeInstances介面查詢到執行個體狀態與執行個體建立失敗的系統事件(SystemFailure.Delete)的狀態對比如下表所示。

業務狀態 執行個體狀態 事件狀態
執行個體建立中 啟動中(Pending 無法查詢
觸發執行個體建立失敗事件 已停止(Stopped 執行中(Executing
您自行釋放了執行個體 無法查詢 已避免(Avoided
系統釋放了執行個體 無法查詢 已執行(Executed

提高執行個體建立成功率

建議您按照以下流程建立ECS執行個體,提高成功率:

  1. 調用DescribeAvailableResource,確認目標地區及可用性區域下是否有足夠的ECS執行個體供應量,以及虛擬交換器中的私網IP數量是否充足。
  2. ECS控制台建立執行個體或者調用RunInstances建立執行個體
  3. 調用DescribeInstanceStatus或者DescribeInstances查看新增執行個體的狀態,確認執行個體進入Running狀態。
  4. 如果執行個體長時間處於啟動中狀態,調用DescribeInstanceHistoryEvents查看是否產生了執行個體建立失敗的事件。