CreateLifecycleHook - 為伸縮組建立一個或多個生命週期掛鈎
CreateLifecycleHook API用於在指定的Auto Scaling組中建立一個或多個生命週期掛鈎。這些掛鈎在執行個體的生命週期關鍵階段(如啟動、終止前)介入,使您能夠執行自訂動作,如發送通知或執行自動化指令碼等。通過此功能,您可以實現更細粒度的控制和管理,例如在執行個體被自動調整活動影響前後執行驗證、配置或資料備份任務,從而增強應用部署的靈活性和可靠性。
介面說明
一個伸縮組最多可以建立 10 個生命週期掛鈎。建立了生命週期掛鈎的伸縮組,在發生伸縮活動時,生命週期掛鈎會暫停伸縮活動一段時間,具體等待時間長度可以通過 HeartbeatTimeout 參數指定。您可以在等待期間進行初始化 ECS 執行個體配置、擷取 ECS 執行個體資料等操作。
彈性擴張活動時,ECS 執行個體添加至 RDS 執行個體白名單後進入等待狀態,等待狀態結束後再加入 SLB 執行個體後端伺服器組。彈性收縮活動時,ECS 執行個體從 SLB 執行個體後端伺服器組移出後進入等待狀態,等待狀態結束後再從 RDS 執行個體白名單移出。
生命週期掛鈎可以配置通知方式,支援 MNS 主題、MNS 隊列和 OOS 模板。如果配置 OOS 模板,您需要為 OOS 服務建立 RAM 角色。具體操作,請參見為 OOS 服務設定 RAM 許可權。
如果伸縮組有存量的 ECS 執行個體,且配置的 OOS 模板用於加入或移出除 RDS 外的其他雲資料庫白名單,則您必須手動將存量的 ECS 執行個體加入雲資料庫的白名單。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
ess:CreateLifecycleHook |
create |
*ScalingGroup
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| ScalingGroupId |
string |
是 |
目標伸縮組的 ID。 |
asg-bp1eyv4qn8ssgv43**** |
| LifecycleHookName |
string |
否 |
生命週期掛鈎的名稱。不能與當前伸縮組其他生命週期掛鈎重名,長度為 2~64 個英文或中文字元,以數字、大小寫字母或中文開頭,可包含數字、底線(_)、短劃線(-)和英文句號(.)。 預設值為 LifecycleHookId 的值。 |
lifecyclehook**** |
| LifecycleTransition |
string |
是 |
生命週期掛鈎適用的伸縮活動類型,取值範圍:
|
SCALE_OUT |
| DefaultResult |
string |
否 |
等待狀態結束後的下一步動作,取值範圍:
當伸縮組發生彈性收縮活動(SCALE_IN)並觸發多個生命週期掛鈎時,如果一個生命週期掛鈎的 DefaultResult 取值為 ABANDON 或 ROLLBACK,且該掛鈎等待狀態結束時,會提前將其他生命週期掛鈎對應的等待狀態提前結束。其他情況下,下一步動作均以最後一個結束等待狀態的下一步動作為準。 預設值:CONTINUE |
CONTINUE |
| HeartbeatTimeout |
integer |
否 |
生命週期掛鈎為伸縮組活動設定的等待時間,等待狀態逾時後會執行下一步動作。取值範圍:30~21600,單位:秒。 建立了生命週期掛鈎後,您可以調用 RecordLifecycleActionHeartbeat 延長 ECS 執行個體的等待時間,也可以調用 CompleteLifecycleAction 提前結束伸縮活動的等待狀態。 預設值:600 |
600 |
| NotificationMetadata |
string |
否 |
生命週期掛鈎暫停伸縮活動時推送給 NotificationArn(通知對象)的通知資訊,便於管理和標記不同類別的通知資訊。必須同時指定 NotificationArn。參數長度不能超過 4096 個字元。 如果 NotificationArn 指定為 OOS 模板,包括公用模板或者自訂模板,則 NotificationMetadata 必須指定為 JSON 字串,且與 OOS 模板的參數相符。比如,
說明
|
Test lifecycle hook. |
| NotificationArn |
string |
否 |
生命週期掛鈎通知物件識別碼,不設定本參數表示不發送通知,設定本參數時支援以下通知方式:
參數格式中的變數含義如下:
|
acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo**** |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| RequestId |
string |
請求 ID。 |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E |
| LifecycleHookId |
string |
生命週期掛鈎的 ID。 |
ash-bp1at9ufhmcf9cmy**** |
樣本
正常返回樣本
JSON格式
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"LifecycleHookId": "ash-bp1at9ufhmcf9cmy****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。