ECS事件通知之創建失敗事件

ECS提供了批量實例創建接口(https://help.aliyun.com/document_detail/63440.html ),可以一次調用創建最多100臺實例。批量創建接口可以完成批量實例的創建、啓動、IP分配等流程,可以快速完成實例資源的擴容。

在實例的創建過程中(實際後臺異步創建),庫存和VSwitch中私網IP的可用數量是動態變化的,在創建過程中有可能資源不滿足創建需求,導致實例的創建過程失敗,實例創建失敗後會有兩種結果:

1.實例會被自動釋放,某些典型的錯誤,例如庫存不足,會觸發實例的自動釋放,實例釋放後會從實例列表中消失,用戶很難感知實例的創建失敗以及原因。

2.實例會保持創建中狀態,並且可以操作實例的釋放(包年包月實例要通過工單申請),這種是對自動運維非常不友好的邏輯,實例的生命週期並沒有閉環。

實例創建失敗事件

實例創建失敗事件會對上面兩種流程自動化運維,首先會進行實例的自動化釋放(實例在這種狀態下是被評估爲無法創建成功的),開始釋放流程後ECS會發出實例創建失敗事件,此時實例在實例列表中是可以被查詢到的;當實例最終被釋放時,實例創建失敗事件會變爲已執行狀態,之後實例在實例列表中無法查詢(實例已經釋放)。

對於已經發生了“創建失敗事件”的實例,可以有兩種選擇: 一個是不進行任何操作,後續在10分鐘內,實例會被自動釋放;一個是可以主動進行釋放,主動釋放後,實例創建失敗事件會被修改爲已避免狀態。之後實例的相關事件都可以在歷史事件查詢接口進行查詢。

事件通知的內容格式

實例創建失敗事件的內容包含實例創建失敗的時間點、完成時間、實例id等信息,消息體示例如下:

{
    "status":"Executing",
    "ver":"1.0",
    "product":"ECS",
    "id":"4AB76E05-B5E2-4A00-A107-B0B6A5091967",
    "resourceId":"acs:ecs:cn-hangzhou:16343********0:instance/i-bp********gzahwqfvx",
    "level":"CRITICAL",
    "instanceName":"",
    "ruleName":"test",
    "userId":"16343********0",
    "name":"Instance:SystemFailure.Delete:Executing",
    "eventTime":"20190611T130915.171+0800",
    "regionId":"cn-hangzhou",
    "content":{
        "notBefore":"2019-06-11T05:09:14Z",
        "executeStartTime":"2019-06-11T05:09:14Z",
        "publishTime":"2019-06-11T05:09:14Z",
        "eventId":"e-bp1ivh*********c",
        "instanceId":"i-bp1jfp*********x",
        "eventType":"SystemFailure.Delete",
        "eventStatus":"Executing"
    }
}

如何訂閱消費

用戶可以在雲監控控制檯事件訂閱完成事件的通知,請查看文檔《設置事件通知

用戶可以通過對實例創建失敗的消息訂閱,在發生實例創建失敗之後,馬上感知到實例創建失敗的發生,可以儘快調整實例的創建參數(實例規格、VSwitch)來避免庫存不足和私網IP不足發生,提高實例創建的成功率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章