生命周期掛鉤可以暫停由彈性伸縮自動觸發的伸縮活動,使ECS實例或ECI實例處于掛起中的狀態(即等待的狀態),為您保留一段自定義操作的時間以滿足特定的部署需求和業務場景,例如預裝軟件等。直至生命周期掛鉤超時結束后,彈性伸縮的伸縮活動才能繼續進行。本文為您介紹創建、修改、刪除、啟動或暫停生命周期掛鉤的方法。
前提條件
已創建伸縮組。具體操作,請參見配置伸縮組或CreateScalingGroup。
(可選)如果需要生命周期掛鉤被觸發時發出MNS通知,您需要提前創建MNS主題或者MNS隊列。具體操作,請參見:
創建生命周期掛鉤
生命周期掛鉤是一個管理伸縮組內ECS實例或ECI實例生命周期的工具。更多信息,請參見生命周期掛鉤概述。每個伸縮組內最多可以創建10個生命周期掛鉤,本文以創建1個生命周期掛鉤為例。
- 登錄彈性伸縮控制臺。
- 在左側導航欄中,單擊伸縮組管理。
- 在頂部菜單欄處,選擇地域。
- 找到待操作的伸縮組,選擇任一種方式打開伸縮組詳情頁面。
- 在伸縮組名稱/ID列,單擊伸縮組ID。
- 在操作列,單擊查看詳情。
- 在頁面上方,單擊生命周期掛鉤頁簽。
在頁面左上角,單擊創建生命周期掛鉤。
在創建生命周期掛鉤頁面,完成生命周期掛鉤相關配置。
生命周期掛鉤相關參數說明如下表所示:
參數
描述
名稱
生命周期掛鉤名稱一旦確定就無法修改。長度為2~64個字符,以大小寫字母、數字或中文開頭,可包含半角句號(.)、下劃線(_)和短劃線(-)。
適用的伸縮活動類型
發生指定類型的伸縮活動時,生命周期掛鉤會被觸發并掛起ECS實例或ECI實例。支持的選項如下:
彈性收縮活動
彈性擴張活動
超時時間
最小為30秒,最大為21600秒(6小時),必須為整數。默認值:1800秒。
說明請根據您業務生命周期掛鉤的處理時間,設置合理的超時時間。如果處理時間超過超時時間,則系統會執行默認執行策略。
默認執行策略
單個生命周期掛鉤場景
ECS實例或者ECI實例掛起狀態結束后的下一步執行動作。支持的選項如下:
繼續:擴容時,生命周期掛鉤會繼續向伸縮組加入新擴容的ECS實例或ECI實例;縮容時,生命周期掛鉤會繼續移出伸縮組中的ECS實例或ECI實例并將其釋放掉。
拒絕:擴容時,生命周期掛鉤會直接釋放新擴容出的ECS實例或ECI實例,該實例不會加入伸縮組;縮容時,生命周期掛鉤會繼續移出伸縮組中的ECS實例或ECI實例并將其釋放掉。
回滾:擴容時,生命周期掛鉤會直接釋放新擴容出來的ECS實例或ECI實例,該實例不會加入伸縮組;縮容時,生命周期掛鉤會將移出的ECS實例或ECI實例重新加入該伸縮組。
多個生命周期掛鉤場景
伸縮組中多個生命周期掛鉤同時觸發的場景下,根據生命周期掛鉤設置的適用的伸縮活動類型不同,伸縮活動最終的執行結果也有所不同。
縮容活動:如果某個采用繼續策略的生命周期掛鉤觸發的等待狀態結束,會繼續等待其余生命周期掛鉤執行結束, 其中只要有一個生命周期掛鉤執行結束且執行策略為拒絕或回滾時,會主動提前結束等待并將剩余未完成的掛鉤的執行策略設置為默認執行策略,此時所有完成的生命周期掛鉤中,只有存在執行策略為“回滾”時,會停止縮容,進行回滾,執行策略為“拒絕”時,仍會繼續縮容。
擴容活動:只有所有生命周期掛鉤都執行結束并且執行策略都為繼續才會繼續擴容,只要有一個生命周期掛鉤執行結束且執行策略為拒絕和回滾時,會主動提前結束等待剩余未完成的掛鉤,停止擴容進行回滾(擴容時,“回滾”與“拒絕”效果相同)。
(可選)通知方式為OOS模板場景
僅當生命周期掛鉤的通知方式配置為OOS模板時,在生命周期掛鉤掛起狀態超時結束之前OOS模板執行結束,這時掛起狀態結束后的下一步執行動作取決于OOS模板的執行結果:
成功:針對彈性擴張活動,繼續向伸縮組加入該ECS實例或ECI實例;針對彈性收縮活動,繼續停止該ECS實例或ECI實例在伸縮組中提供計算能力。
失敗:針對彈性擴張活動,直接釋放ECS實例或ECI實例;針對彈性收縮活動,繼續停止該ECS實例或ECI實例在伸縮組中提供計算能力。
停止ECS實例或ECI實例在伸縮組中提供計算能力,具體分以下幾種情況:
如果實例是自動創建或者手動創建并托管給伸縮組的ECS實例或ECI實例,且伸縮組的實例回收模式配置為釋放模式,則移除ECS實例或者ECI實例。
如果實例是自動創建或者手動創建并托管給伸縮組的ECS實例或ECI實例,且伸縮組的實例回收模式配置為停機回收模式,則在伸縮組內停用ECS實例或ECI實例,保留ECS實例或ECI實例的部分資源。具體操作,請參見配置伸縮組。
如果實例是手動創建并未托管給伸縮組的ECS實例或ECI實例,則僅從伸縮組中移出ECS實例或ECI實例,ECS實例或ECI實例仍可正常運行。
掛鉤期間執行的動作
生命周期掛鉤被觸發時,可以選擇通過指定的方式發出通知或者自動執行更多操作。支持的選項如下:
不通知:默認選項。
MNS主題:您需要選擇MNS主題。如果您填寫了通知標識,彈性伸縮每次推送消息到通知對象時,會同時發送您預先指定的通知標識,便于管理和標記不同類別的通知信息。
MNS隊列:您需要選擇MNS隊列。如果您填寫了通知標識,彈性伸縮每次推送消息到通知對象時,會同時發送您預先指定的通知標識,便于管理和標記不同類別的通知信息。
OOS模板:選擇執行的模板類型,并為模板設置參數。
模板類型包括公共模板和我的模板。彈性伸縮會使用您選擇的模板,對ECS實例進行自定義操作。
在設置參數時,請按照實際使用情況設置參數。如果您需要設置OOS扮演的RAM角色,請注意以下信息:
RAM角色必須已受信OOS服務,即RAM角色的可信實體是阿里云服務,受信服務為系統運維管理。具體操作,請參見創建OOS扮演的角色。
RAM角色必須擁有操作資源(ECS、ECI、彈性伸縮等)的權限。權限的策略可通過單擊查看授權策略獲取。為RAM角色添加授權策略的具體操作,請參見為OOS角色添加授權策略。
說明關于更多配置模板參數的案例,請參見生命周期掛鉤和OOS模板最佳實踐概述。
事件總線:選擇事件總線后,當伸縮組發生擴縮容活動時,系統會產生不同類型的生命周期通知,您可以根據對應通知靈活識別和處理相應事件。
單擊確認。
創建完成后,您可以在伸縮組的生命周期掛鉤頁簽下查看已創建的生命周期掛鉤。
如果彈性伸縮自動觸發了適用于生命周期掛鉤的伸縮活動時,對應的ECS實例或ECI實例的狀態會變為掛起中,以ECS實例為例展示被掛起中實例的運行狀態,如下圖所示:
修改或刪除生命周期掛鉤
成功創建生命周期掛鉤后,您可以根據不同的業務需求,對該生命周期掛鉤進行修改或刪除操作。
- 登錄彈性伸縮控制臺。
- 在左側導航欄中,單擊伸縮組管理。
- 在頂部菜單欄處,選擇地域。
在伸縮組管理頁面,找到待操作的伸縮組,單擊對應操作列的查看詳情。
在伸縮組詳情頁面上方,單擊生命周期掛鉤頁簽。
修改或刪除生命周期掛鉤。
修改生命周期掛鉤
如果生命周期掛鉤的屬性不再滿足當前業務需求,您可以修改一項或者多項屬性,而無需重新創建生命周期掛鉤。
找到待操作的生命周期掛鉤,在操作列下,單擊修改。
修改生命周期掛鉤的配置,然后單擊確認。
不支持修改生命周期掛鉤的名稱,其他生命周期掛鉤配置項的參數說明,請參見步驟7。
刪除生命周期掛鉤
如果您不再需要一個生命周期掛鉤,可以將其刪除,空出掛鉤配額。例如伸縮活動被掛起時,您可以按照本步驟刪除生命周期掛鉤。
重要如果生命周期掛鉤已經掛起一個ECS實例或ECI實例時,在刪除該生命周期掛鉤后,該ECS實例或ECI實例的等待狀態會提前結束。
找到待操作的單個或多個生命周期掛鉤,刪除生命周期掛鉤。
單項刪除:在單個生命周期掛鉤對應的操作列下,單擊刪除。
批量刪除:選中多個待操作的生命周期掛鉤,在生命周期掛鉤列表底部,單擊刪除。
在彈出的對話框中,單擊確定。
暫停或啟用生命周期掛鉤
創建生命周期掛鉤后默認為生效狀態。根據實際業務場景需要,您可以暫停或者重新啟用伸縮組的生命周期掛鉤功能。
- 登錄彈性伸縮控制臺。
- 在左側導航欄中,單擊伸縮組管理。
- 在頂部菜單欄處,選擇地域。
在伸縮組管理頁面,找到待操作的伸縮組,單擊對應操作列的查看詳情。
在伸縮組詳情頁面上方,單擊生命周期掛鉤頁簽。
暫停或啟用生命周期掛鉤。
暫停生命周期掛鉤
如果您的業務暫時不需要生命周期掛鉤功能,您可以暫停正在使用的生命周期掛鉤。
找到待操作的生命周期掛鉤,在對應操作列下,單擊暫停。
在彈出的對話框中,單擊確定。
啟用生命周期掛鉤
如果您需要使用伸縮組的生命周期掛鉤功能,您可以重新啟用已暫停的生命周期掛鉤。
找到待操作的生命周期掛鉤,在對應操作列下,單擊啟用。
在彈出的對話框中,單擊確定。
相關文檔
通過API方式創建一個或多個生命周期掛鉤。更多信息,請參見CreateLifecycleHook。
通過API方式修改一個生命周期掛鉤。更多信息,請參見ModifyLifecycleHook。
通過API方式刪除一個生命周期掛鉤。更多信息,請參見DeleteLifecycleHook。
通過API方式提前結束伸縮活動的等待狀態。更多信息,請參見CompleteLifecycleAction。