全部產品
Search
文件中心

:使用生命週期掛鈎確保服務可用

更新時間:Jun 30, 2024

伸縮組關聯負載平衡後,伸縮組中的ECS執行個體或ECI執行個體都會自動加入到負載平衡(CLB、ALB或NLB)的後端伺服器組,及時處理來自CLB執行個體、ALB執行個體或NLB執行個體分發的用戶端請求。本文建議您使用伸縮組的生命週期掛鈎功能,為您保留指定時間長度的操作時間,確保應用服務的可用性。

基本概念

本文涉及到的基本概念如下:

名稱

說明

相關文檔

負載平衡

負載平衡是一種對流量進行按需分發的服務,通過將流量分發到不同的後端伺服器來擴充應用系統的吞吐能力,可以消除系統中的單點故障,提升應用系統的可用性。

阿里雲Server Load Balancer分為傳統型負載平衡CLB(Classic Load Balancer)應用型負載平衡ALB(Application Load Balancer)網路型負載平衡NLB(Network Load Balancer)三種類型。

Server Load Balancer產品家族介紹

生命週期掛鈎

生命週期掛鈎是一個管理伸縮組內ECS執行個體或ECI執行個體生命週期的工具。

生命週期掛鈎概述

操作步驟

本文以伸縮組關聯傳統型負載平衡CLB(原SLB)為例,展示不同情境(例如彈性擴張情境和彈性收縮情境)下,伸縮組使用生命週期掛鈎功能對應用服務的不同影響,以及如何使用生命週期掛鈎確保服務的可用性。

說明

操作前,請確保伸縮組已關聯傳統型負載平衡CLB(原SLB)執行個體或負載平衡ALB、NLB伺服器組。具體操作,請參見為伸縮組添加和移除Server Load Balancer執行個體

情境一:彈性擴張

影響對比

彈性擴張時,伸縮組是否使用生命週期掛鈎功能對應用服務具有不同的影響,對比如下:

條件

說明

未使用生命週期掛鈎功能

彈性擴張時,擴容出的ECS執行個體或ECI執行個體會直接加入伸縮組,包括加入關聯的負載平衡CLB(原SLB)的後端伺服器組,並開始對外提供服務。然而,在ECS執行個體或ECI執行個體中,為用戶端提供服務的應用需要一定的啟動時間,如果應用在接收用戶端請求時尚未啟動,則無法對外提供服務。

使用生命週期掛鈎功能

彈性擴張時,在ECS執行個體或ECI執行個體加入負載平衡CLB(原SLB)執行個體的後端伺服器組前,生命週期掛鈎將擴容的ECS執行個體或ECI執行個體掛起。等ECS執行個體或ECI執行個體中的應用啟動完成,待生命週期掛鈎的逾時時間結束後,ECS執行個體或ECI執行個體會自動加入到負載平衡CLB(原SLB)執行個體的後端伺服器組,並對外提供服務。

操作及注意事項

使用生命週期掛鈎功能時,您需要先建立生命週期掛鈎,具體操作,請參見配置生命週期掛鈎

建立生命週期掛鈎時,請注意以下配置項:

  • 適用的伸縮活動類型選擇為彈性擴張活動

  • 逾時時間建議配置為ECS執行個體或ECI執行個體中應用能正常啟動的時間。單位為秒,取值必須是整數,且30≤逾時時間≤21600。

    說明

    如果您想提前結束逾時時間,您可以調用API CompleteLifecycleAction。更多資訊,請參見CompleteLifecycleAction

  • 預設執行策略選擇為繼續

生命週期掛鈎建立完成後,擴容的ECS執行個體或ECI執行個體會先進入加入掛起中狀態並等待逾時時間結束。在掛起期間,ECS執行個體或ECI執行個體提供服務的應用完成啟動。掛起狀態結束後,ECS執行個體或ECI執行個體會加入伸縮組,包括加入CLB執行個體的後端伺服器。等ECS執行個體或ECI執行個體的狀態為服務中後,ECS執行個體或ECI執行個體對外提供服務,保障了應用服務的可用性。

情境二:彈性收縮

影響對比

彈性收縮時,伸縮組是否使用生命週期掛鈎功能對應用服務具有不同的影響,對比如下:

條件

說明

未使用生命週期掛鈎功能

彈性收縮時,縮容的ECS執行個體或ECI執行個體會直接被移出伸縮組,包括移出關聯的負載平衡CLB(原SLB)的後端伺服器組,對外停止提供服務。然而,在縮容的ECS執行個體或ECI執行個體中,可能存在未處理完成的用戶端請求,會導致用戶端訪問異常。

使用生命週期掛鈎功能

彈性收縮時,在ECS執行個體或ECI執行個體移出關聯的負載平衡CLB(原SLB)執行個體的後端伺服器組後,生命週期掛鈎會先將該ECS執行個體或ECI執行個體掛起。等ECS執行個體或ECI執行個體處理完畢已接收的用戶端請求,掛鈎的逾時時間結束後,再將該ECS執行個體或ECI執行個體移出伸縮組,保障了用戶端的正常訪問。

操作及注意事項

彈性收縮時,建議您為已有的伸縮組建立生命週期掛鈎。具體操作,請參見配置生命週期掛鈎

建立生命週期掛鈎時,請注意以下配置項:

  • 適用的伸縮活動類型選擇為彈性收縮活動

  • 逾時時間建議配置為所有請求的最長處理時間。單位為秒,取值必須是整數,且30≤逾時時間≤21600。

    說明

    如果您想提前結束逾時時間,您可以調用API CompleteLifecycleAction。更多資訊,請參見CompleteLifecycleAction

生命週期掛鈎建立完成後,縮容的ECS執行個體或ECI執行個體會先從關聯的負載平衡CLB(原SLB)執行個體的後端伺服器移出,然後進入移出掛起中狀態並等待逾時時間結束。在掛起期間,ECS執行個體或ECI執行個體處理完成已接收的請求,且不再接收請求。掛起狀態結束後,ECS執行個體或ECI執行個體會被移出伸縮組,保障了應用服務的可用性。