全部產品
Search
文件中心

:批量釋放ECS執行個體

更新時間:Jul 01, 2024

系統營運管理OOS為批量釋放執行個體的情境提供了公用模板。只需輸入需要被釋放的執行個體ID,就可以達到釋放所有執行個體的操作,避免手動操作單獨釋放執行個體。

前提條件

確保需被釋放的執行個體類型屬於隨用隨付預付費類型。

操作步驟

  1. 登入營運編排管理主控台。

  2. 單擊公用模板。

  3. 根據執行個體付費情況,在搜尋方塊內搜尋ACS-ECS-BulkyDeleteInstances(大量刪除隨用隨付執行個體)模板,對其單擊建立執行。

    ACS-ECS-BulkyDeleteInstances1

  4. 單擊下一步,設定參數。

    image

  5. 輸入公用模板參數:ACS-ECS-BulkyDeleteInstances。

    image

    參數

    說明

    樣本

    target

    選擇被處理的樣本標籤 / ECS執行個體ID

    test:oos / i-bp10jvphtux8ad******

    force

    是否強制移除執行個體

    true/false

    rateControl

    速率控制類型

    並發控制

    並發速率

    10

    最大錯誤次數

    10

    執行使用到的許可權的來源

    選擇性參數。

    • (預設設定)當前帳號的已有許可權:執行您使用的帳號的許可權動作。請確保您擁有建立自訂鏡像涉及的所有ECS API調用許可權。

    • 指定RAM角色,使用該角色的許可權:如果指定了RAM角色名稱,OOS扮演該RAM角色執行營運任務。

    當前帳號的已有許可權

  6. 單擊下一步,確認,單擊建立。

    image

  7. 在執行管理中可查看剛剛建立的執行,若建立執行成功,且執行狀態處於運行中,則表示執行個體處於刪除中。

  8. 狀態為成功時,表示執行個體全部被刪除。

  9. 查詢執行個體是否被刪除。 2

附錄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 }}'            

該模板順序執行以下任務:

  1. 擷取目標執行個體或執行個體上的Tags。

  2. 大量刪除執行個體。

  • 大量刪除預付費執行個體(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 }}'

該模板順序執行以下任務:

  1. 擷取目標執行個體或執行個體上的Tags。

  2. 將預付費執行個體修改為隨用隨付執行個體。

  3. 大量刪除執行個體。