日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AutoScaling 生命周期挂钩功能

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AutoScaling 生命周期挂钩功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要:?AutoScaling 伸縮組實例管理功能全面升級,新上線生命周期掛鉤(LifecycleHook)功能,方便用戶更加靈活地管理伸縮組內實例。使用生命周期掛鉤可以在伸縮組發生伸縮活動時將伸縮活動掛起,執行自定義操作。

使用?LifecycleHook?功能,可以更加靈活地管理控制伸縮組內 ECS 實例的生命周期,靈活地控制伸縮組內實例的創建和移出過程。當伸縮組發生伸縮活動,觸發生命周期掛鉤時,伸縮活動將被掛起,結束當前被掛起的伸縮活動有兩種方式:

  • 等待生命周期活動超時

  • 調用接口?CompleteLifecycleAction?主動結束生命周期活動

  • 本文將系統地介紹生命周期掛鉤功能的使用方式和使用場景,并給出生命周期掛鉤功能的最佳實踐。

    LifecycleHook 介紹

    LifecycleHook 使用場景

    使用 LifecycleHook,可以在伸縮組發生伸縮活動時將正在擴張或即將釋放的 ECS 實例掛起,執行用戶自定義操作,可以更加靈活地管理 ECS 實例在伸縮組內的生命周期。幾個簡單的 LifecycleHook 應用場景:

    • 伸縮組彈出 ECS 實例后需要延遲一段時間(測試服務沒問題以后)掛載到 SLB ,然后對外提供服務

    • 伸縮組釋放 ECS 實例時需要先將實例從 SLB 后端服務移除(防止接收新的請求),待檢測已經接收到的請求處理完成,停止并釋放實例

    • 伸縮組釋放 ECS 實例時執行數據備份操作

    • 伸縮組彈性擴張或者收縮執行一些用戶自定義操作

    針對上述第二種場景,如果可以確定每個請求的最長處理時間,可以調用?創建生命周期掛鉤?接口創建生命周期掛鉤,設置 LifecycleTransition 參數值為 SCALE_IN,設置 HeartbeatTimeout 為請求最長處理時間,不需要設置通知對象,當發生彈性收縮類型伸縮活動時,ECS 實例從 SLB 移除后會掛起一段時間(HeartbeatTimeout),等待請求處理完成。

    LifecycleHook 工作方式

    當伸縮組創建了 LifecycleHook,并發生 LifecycleHook 配置的伸縮活動類型(LifecycleTransition)時,那么伸縮活動唄掛起,用戶可以在伸縮活動掛起這段時間內執行自定義操作,一直到?LifecycleHook?超時(HeartbeatTimeout),或者通過調用?CompleteLifecycleAction?接口提前終止伸縮活動掛起。

    對于彈性擴張(SCALE_OUT)伸縮活動:

    ECS 實例先進入 Pending(加入中)狀態,當實例啟動成功,并添加到 RDS 白名單(如果伸縮組設置了 RDS)以后,觸發 LifecycleHook ,ECS 實例進入?Pending:Wait(加入中掛起)狀態。如果LifecycleHook 配置了通知對象(MNS),則發送通知內容到 MNS,用戶可通過?MNS控制臺?的方式來消費 MNS 主題或者隊列中的消息,也可以通過 OpenAPI 的方式消費,具體可參考?ESS 事件通知#消息接收?章節。當用戶接收到 MNS 消息后可以執行自定義操作,例如在 ECS 實例上安裝軟件、部署服務等,執行完自定義操作以后,用戶可以通過?CompleteLifecycleAction?接口提前結束掛起的伸縮活動,也可以等待 LifecycleHook 掛起超時。LifecycleHook 掛起結束后有兩個執行方向,CONTINUE or ABANDON,對于彈性擴張伸縮活動,執行方向解釋如下:

    • CONTINUE 繼續,ECS 實例將被投入伸縮組中使用

    • ABANDON 拒絕,伸縮活動回滾,ECS 實例將被釋放

    • 如果伸縮組配置了多個彈性擴張類型的 LifecycleHook,那么發生彈性擴張伸縮活動時會觸發多個 LifecycleHook,伸縮活動最終的執行方向(CONTINUE or ABANDON)以最后一個結束的 LifecycleHook 執行方向為準。

    結束 LifecycleHook 掛起狀態以后,如果伸縮組配置了負載均衡(SLB),那么將 ECS 實例掛載到 SLB 上以后,實例進入 Inservice(服務中)狀態,此時彈性擴張伸縮活動結束。

    對于彈性收縮(SCALE_IN)伸縮活動:

    ECS 實例先進入 Terminating(移出中)狀態,,將實例從 SLB 后端服務器移除以后(如果伸縮組配置了負載均衡(SLB)),觸發 LifecycleHook ,ECS 實例進入?Terminating:Wait(移出中掛起)狀態。如果 LifecycleHook 配置了通知對象(MNS),則發送通知內容到 MNS,用戶可通過?MNS控制臺?的方式來消費 MNS 主題或者隊列中的消息,也可以通過 OpenAPI 的方式消費,具體可參考?ESS 事件通知#消息接收?章節。當用戶接收到 MNS 消息后可以執行自定義操作,例如檢測 ECS 接收到的請求是否處理完成、停止接收服務等,執行完自定義操作以后,用戶可以通過?CompleteLifecycleAction?接口提前結束掛起的伸縮活動,也可以等待 LifecycleHook 掛起超時。LifecycleHook 掛起結束后有兩個執行方向,CONTINUE or ABANDON,對于彈性收縮伸縮活動,執行方向解釋如下:

    • CONTINUE 繼續,ECS 實例將從伸縮組中移出

    • ABANDON 拒絕,ECS 實例將從伸縮組中移出

    • 如果伸縮組配置了多個彈性收縮類型的 LifecycleHook,那么發生彈性收縮活動時會觸發多個 LifecycleHook,如果某個 LifecycleHook 掛起結束執行結果為 ABANDON,則其余掛起的 LifecycleHook 會被提前結束掉,ECS 實例從伸縮組中移出,如果某個 LifecycleHook 掛起結束執行結果為 CONTINUE,則其余掛起的 LifecycleHook 繼續掛起,直到最后一個 LifecycleHook 掛起結束,伸縮活動恢復執行。

    結束 LifecycleHook 掛起狀態以后,彈性伸縮服務會將 ECS 實例先從 RDS 白名單移除(如果伸縮組配置了 RDS),再將 ECS 實例停止(如果 ECS 實例是伸縮組彈出來的不是手動添加的),然后釋放實例(如果 ECS 實例是伸縮組彈出來的不是手動添加的),并將實例從伸縮組中移出。

    LifecycleHook 通知方式

    如果生命周期掛鉤配置了通知對象,那么當伸縮組發生伸縮活動觸發 LifecycleHook 時,通知對象將接收到當前的伸縮活動詳細信息,如果生命周期掛鉤沒有配置通知對象,那么當伸縮組發生伸縮活動觸發 LifecycleHook 時不會發出任何通知信息。

    生命周期掛鉤目前支持以下兩種通知方式:

    • 消息服務(MNS)隊列(Queue)

    • 消息服務(MNS)主題(Topic)

    關于 MNS 主題和隊列的介紹,您可以參考?隊列使用幫助、主題使用幫助?來了解主題、隊列的創建,消息的接收方式,以及如何為主題設置訂閱等。
    需要注意的是,MNS 消息服務會收取相應的費用,具體的收費標準可參考?云產品定價#消息服務?進行詳細了解。

    LifecycleHook 通知內容

    當伸縮組發生伸縮活動觸發?LifecycleHook?時,如果生命周期掛鉤配置了通知對象(目前只支持通知到 MNS),那么通知對象將收到關于此次伸縮活動的詳細信息,通知內容如下:

    上述內容中:

    • resourceArn 伸縮組唯一標識符,包括了伸縮組所在的 Region 信息,所屬的用戶 ID 信息,以及伸縮組 ID 信息。

    • content 生命周期掛鉤觸發的伸縮活動詳細信息

      • SCALE_OUT:伸縮組彈性擴張活動

      • SCALE_IN:伸縮組彈性收縮活動

      • CONTINUE 繼續

      • ABANDON 拒絕

      • defaultResult 生命周期掛鉤默認執行策略

      • instanceIds 生命周期掛鉤掛起的 ECS 實例ID

      • lifecycleActionToken 生命周期掛鉤唯一標識符,通過獲取該參數與 lifecycleHookId 參數,可通過調用?CompleteLifecycleAction?主動結束生命周期活動

      • lifecycleHookId 生命周期掛鉤 ID

      • lifecycleHookName 生命周期掛鉤名稱

      • lifecycleTransition 生命周期掛鉤適用的伸縮活動類型,取值范圍:

      • notificationMetadata 生命周期掛鉤通知標識

      • scalingActivityId 伸縮活動 ID

      • scalingGroupId 伸縮組ID

      • scalingGroupName 伸縮組名稱

      • scalingRuleId 觸發伸縮活動的伸縮規則名稱(此參數不是必帶)

      • scheduledTaskId 定時任務ID(只有伸縮活動是由定時任務觸發的時候才會有此參數)

    MNS 隊列或主題內容的消費方式,推薦參考 MNS 官方給出的?長輪訓最佳實踐?文檔,使用長輪詢的方式來消費隊列或主題收到的消息內容。

    最佳實踐

    創建 LifecycleHook 通知對象

    在創建 LifecycleHook 時,可以配置通知對象,也可以不配置通知對象,如果需要配置通知對象,需要先創建好通知對象,再創建 LifecycleHook。關于通知對象(MNS 主題、隊列)的創建方式,可以參考?ESS 事件通知#創建 MNS 隊列?章節 和?ESS 事件通知#創建 MNS 主題?章節。

    創建 LifecycleHook

    LifecycleHook 的創建,可以通過?ESS控制臺?完成,也可以通過調用?CreateLifecycleHook?接口完成。通過接口創建 LifecycleHook,可基于?CreateLifecycleHook?文檔,參考?ESS 事件通知#創建事件通知(OpenAPI)?章節實現。通過?ESS控制臺?創建 LifecycleHook 過程如下:

    登錄?ESS控制臺,進入生命周期掛鉤列表頁,點擊創建生命周期掛鉤按鈕,彈出創建界面如下圖所示:

    按提示名稱,通知標識,選擇伸縮活動類型、執行策略和通知方式,點擊確定,如下圖所示:

    上圖中,創建了兩個 LifecycleHook,一個伸縮活動擴張類型的 LifecycleHook,一個伸縮活動收縮類型的 LifecycleHook。

    觸發 LifecycleHook

    本章以觸發彈性收縮活動為例,展示 LifecycleHook 工作過程。觸發伸縮活動的方式,可參考?ESS 事件通知#創建事件通知(OpenAPI)?章節完成。

    首先觸發減少1臺實例的伸縮活動,如下圖所示:

    查看伸縮組 ECS 實例列表頁,如下圖所示:

    從上圖看出,此時有一臺 ECS 實例處于掛起狀態,由于彈性收縮類型的 LifecycleHook 設置了通知對象,可以登錄?MNS控制臺?查看通知結果,消息查看方式可參考?ESS 事件通知#MNS 隊列消息接收)?章節。

    接收到 LifecycleHook 發送的通知內容以后,提取 lifecycleActionToken 、lifecycleHookId 參數,然后通過調用?CompleteLifecycleAction?接口提前結束 LifecycleHook 掛起狀態,調用方式如下:

    使用上述代碼中,需補充個人 AK 信息,以及 LifecycleActionToken 和 LifecycleHookId 參數。

    LifecycleHook 掛起狀態結束以后,ECS 實例被停止(伸縮組創建的實例),然后釋放(伸縮組創建的實例)并移出伸縮組。

    需要注意,如果 LifecycleHook 配置的通知對象被刪除,那么當前的 LifecycleHook 將不再生效。如果伸縮活動觸發 LifecycleHook 被掛起,想要延長伸縮活動被掛起的時間,可以通過調用?RecordLifecycleActionHeartbeat?延長掛起時間。

    寫在最后

    AutoScaling 生命周期掛鉤功能提供了更加靈活地管理伸縮組內 ECS 實例生命周期的能力,通過該功能可以在伸縮組發生彈性擴張和彈性收縮活動時,通過將伸縮活動掛起的方式執行自定義操作。

    彈性伸縮服務正在快速地發展,后續會有更多的新功能新特性推出,感謝您的一路陪伴。

    原文鏈接


    轉載于:https://blog.51cto.com/13679539/2133338

    總結

    以上是生活随笔為你收集整理的AutoScaling 生命周期挂钩功能的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美亚洲一区二区三区 | 亚洲天堂岛 | 无套内谢88av免费看 | 亚洲不卡电影 | 91国产精品一区 | 蜜臀av粉嫩av懂色av | 日xxxx | 91成人在线观看喷潮动漫 | 成人欧美一区二区三区黑人免费 | 国产女人高潮时对白 | 日韩日b视频 | 九九色网| 国产欧美精品一区 | 国语粗话呻吟对白对白 | 国产成人无码www免费视频播放 | 美妇av| 欧美videos另类精品 | 天堂在线播放 | 天天射,天天干 | 亚洲tv在线观看 | 找av导航| 亚欧日韩| 先锋av资源网 | 亚州国产精品视频 | 123超碰| 亚洲一区你懂的 | 牛牛澡牛牛爽一区二区 | 337p日本欧洲亚洲鲁鲁 | 香蕉黄色片 | 国产精品老熟女视频一区二区 | 99夜色 | 日本美女交配 | 初恋视频污| 国产高清日韩 | 成人一区二区在线观看 | 性欧美www | 91精东传媒理伦片在线观看 | 97在线免费观看视频 | 精品视频一区二区三区四区五区 | 黄色av片三级三级三级免费看 | 在线观看成人小视频 | 色就是色欧美色图 | 国产精品精品软件视频 | 欧美大片免费在线观看 | 91丨porny丨在线中文 | 人人爽人人射 | 99黄色网 | 视色网站| 国产一区二区三区自拍 | 色在线免费 | 黄色1级大片 | 又黄又色又爽 | 黄色大片免费的 | 亚洲免费看片 | 欧美极品一区二区 | 中文字幕高清在线观看 | 999久久久精品视频 亚洲视频精品在线 | 永久免费在线观看av | 国产精品久久久久久人妻精品动漫 | 亚洲AV午夜成人片 | 3d动漫精品h区xxxxx区 | 国产精品视频大全 | 久久99国产综合精品免费 | 一区二区三区在线免费观看视频 | 毛毛毛片 | 熟妇高潮一区二区三区在线播放 | 国产美女精品一区二区三区 | 成人免费视频国产免费网站 | 亚洲dvd| 免费三级在线 | 亚洲综合网在线观看 | 淫人网| 黄色三级大片 | 一久久久久 | 久久99久久99精品免视看婷婷 | 国产午夜精品一区二区理论影院 | 一区二区国产精品 | 国产香蕉久久 | 国产精品一区二区无线 | 手机av片| 蜜臀av在线免费观看 | 国产在线成人精品午夜 | 蜜芽一区二区 | 国产成人在线免费观看 | 新婚之夜玷污岳丰满少妇在线观看 | 欧美黑人激情 | 爱草在线| 亚洲国产无码精品 | 九色porn | 美女被到爽高潮视频 | 日韩欧美精品在线播放 | xxx69美国 | 美日韩中文字幕 | 免费看国产曰批40分钟粉红裤头 | 亚洲国产中文字幕在线 | 欧美激情免费在线观看 | 91插插影库| 久久久久久久9999 | 国产社区在线 |