CreateLifecycleHook API用于在指定的彈性伸縮組中創建一個或多個生命周期掛鉤。這些掛鉤在實例的生命周期關鍵階段(如啟動、終止前)介入,使您能夠執行自定義操作,如發送通知或執行自動化腳本等。通過此功能,您可以實現更細粒度的控制和管理,例如在實例被自動伸縮活動影響前后執行驗證、配置或數據備份任務,從而增強應用部署的靈活性和可靠性。
接口說明
一個伸縮組最多可以創建 6 個生命周期掛鉤。創建了生命周期掛鉤的伸縮組,在發生伸縮活動時,生命周期掛鉤會暫停伸縮活動一段時間,具體等待時長可以通過 HeartbeatTimeout 參數指定。您可以在等待期間進行初始化 ECS 實例配置、獲取 ECS 實例數據等操作。
彈性擴張活動時,ECS 實例添加至 RDS 實例白名單后進入等待狀態,等待狀態結束后再加入 SLB 實例后端服務器組。彈性收縮活動時,ECS 實例從 SLB 實例后端服務器組移出后進入等待狀態,等待狀態結束后再從 RDS 實例白名單移出。
生命周期掛鉤可以配置通知方式,支持 MNS 主題、MNS 隊列和 OOS 模板。如果配置 OOS 模板,您需要為 OOS 服務創建 RAM 角色。具體操作,請參見為 OOS 服務設置 RAM 權限。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
ess:CreateLifecycleHook | create | *全部資源 * |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
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**** |
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"LifecycleHookId": "ash-bp1at9ufhmcf9cmy****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。