系統營運管理OOS為批量釋放執行個體的情境提供了公用模板。只需輸入需要被釋放的執行個體ID,就可以達到釋放所有執行個體的操作,避免手動操作單獨釋放執行個體。
前提條件
確保需被釋放的執行個體類型屬於隨用隨付或預付費類型。
操作步驟
登入營運編排管理主控台。
單擊公用模板。
根據執行個體付費情況,在搜尋方塊內搜尋ACS-ECS-BulkyDeleteInstances(大量刪除隨用隨付執行個體)模板,對其單擊建立執行。
ACS-ECS-BulkyDeleteInstances
單擊下一步,設定參數。
輸入公用模板參數:ACS-ECS-BulkyDeleteInstances。
參數
說明
樣本
target
選擇被處理的樣本標籤 / ECS執行個體ID
test:oos / i-bp10jvphtux8ad******
force
是否強制移除執行個體
true/false
rateControl
速率控制類型
並發控制
並發速率
10
最大錯誤次數
10
執行使用到的許可權的來源
選擇性參數。
(預設設定)當前帳號的已有許可權:執行您使用的帳號的許可權動作。請確保您擁有建立自訂鏡像涉及的所有ECS API調用許可權。
指定RAM角色,使用該角色的許可權:如果指定了RAM角色名稱,OOS扮演該RAM角色執行營運任務。
當前帳號的已有許可權
單擊下一步,確認,單擊建立。
在執行管理中可查看剛剛建立的執行,若建立執行成功,且執行狀態處於運行中,則表示執行個體處於刪除中。
狀態為成功時,表示執行個體全部被刪除。
查詢執行個體是否被刪除。
附錄1:公用模板和背後邏輯
大量刪除非預付費執行個體(ACS-ECS-BulkyDeleteInstances)
FormatVersion: OOS-2019-06-01
Description:
en: Bulky delete ECS postpaid instances.
zh-cn: 大量刪除ECS隨用隨付執行個體。
name-en: ACS-ECS-BulkyDeleteInstances
name-zh-cn: 大量刪除ECS執行個體
categories:
- instance_manage
Parameters:
targets:
Type: Json
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
force:
Description:
en: Whether to force the release of a running instance.
zh-cn: 是否強制釋放正在啟動並執行執行個體。
Type: Boolean
Default: false
rateControl:
Description:
en: Concurrency ratio of task execution.
zh-cn: 任務執行的並發比率。
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Description:
en: The RAM role to be assumed by OOS.
zh-cn: OOS扮演的RAM角色。
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Views the ECS instances.
zh-cn: 擷取ECS執行個體。
Action: 'ACS::SelectTargets'
Properties:
ResourceType: 'ALIYUN::ECS::Instance'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: 'Instances.Instance[].InstanceId'
- Name: deleteInstance
Action: 'ACS::ExecuteAPI'
Description:
en: Deletes ECS instance with the specified instance ID.
zh-cn: 通過指定執行個體ID刪除執行個體。
Properties:
Service: ECS
API: DeleteInstance
Parameters:
InstanceId: '{{ ACS::TaskLoopItem }}'
Force: '{{ force }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
該模板順序執行以下任務:
擷取目標執行個體或執行個體上的Tags。
大量刪除執行個體。
大量刪除預付費執行個體(ACS-ECS-BulkyDeletePrepaidInstances)
FormatVersion: OOS-2019-06-01
Description:
en: >-
Bulky delete prepaid instances.The specified ECS instances must be in
stopped status.
zh-cn: 大量刪除ECS預付費執行個體。指定的ECS執行個體必須處於已停止狀態。
name-en: ACS-ECS-BulkyDeletePrepaidInstances
name-zh-cn: 大量刪除ECS預付費執行個體
categories:
- instance_manage
Parameters:
targets:
Type: Json
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
rateControl:
Description:
en: Concurrency ratio of task execution.
zh-cn: 任務執行的並發比率。
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Description:
en: The RAM role to be assumed by OOS.
zh-cn: OOS扮演的RAM角色。
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Views the ECS instances.
zh-cn: 擷取ECS執行個體。
Action: 'ACS::SelectTargets'
Properties:
ResourceType: 'ALIYUN::ECS::Instance'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: 'Instances.Instance[].InstanceId'
- Name: modifyInstanceChargeType
Action: 'ACS::ExecuteAPI'
Description:
en: Modify the charge type for prepaid instances to postpaid.
zh-cn: 修改預付費執行個體付費方式為隨用隨付。
Properties:
Service: ECS
API: ModifyInstanceChargeType
Parameters:
InstanceIds: '{{ getInstance.instanceIds }}'
InstanceChargeType: PostPaid
- Name: deleteInstance
Action: 'ACS::ECS::DeleteInstance'
Description:
en: Deletes the ECS instance by instance ID.
zh-cn: 通過執行個體ID刪除執行個體。
Properties:
instanceId: '{{ ACS::TaskLoopItem }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
該模板順序執行以下任務:
擷取目標執行個體或執行個體上的Tags。
將預付費執行個體修改為隨用隨付執行個體。
大量刪除執行個體。