全部產品
Search
文件中心

CloudOps Orchestration Service:ACS-ECS-CloneInstancesAcrossAZ

更新時間:Sep 06, 2024

模板名稱

ACS-ECS-CloneInstancesAcrossAZ 跨可用性區域批量複製ECS執行個體

立即執行

模板描述

跨可用性區域批量複製ECS執行個體

模板類型

自動化

所有者

Alibaba Cloud

輸入參數

參數名稱

描述

類型

是否必填

預設值

約束

targets

目標執行個體

Json

targetSecurityGroupId

新執行個體的安全性群組ID

String

targetVSwitchId

新執行個體的交換器ID,填寫本參數時將會決定目的可用性區域

String

targetTags

新執行個體的標籤

Json

regionId

地區ID

String

{{ ACS::RegionId }}

targetResourceGroupId

新執行個體將加入的目的資源群組ID

String

targetInstanceType

新執行個體的規格

String

targetInstanceChargeType

新執行個體的付費模式,預設隨用隨付

String

PostPaid

targetPeriodUnit

當新執行個體的付費方式選擇訂用帳戶時,請在此處選擇時間長度單位,預設單位是月

String

targetPeriod

當新執行個體的付費方式選擇訂用帳戶時,請在此處填寫時間長度數,預設值為1

Number

1

targetDeploymentSetId

新執行個體的部署集ID

String

targetInstanceName

新執行個體的名稱

String

targetHostName

新執行個體的主機名稱

String

rateControl

迴圈任務執行的並發率及容錯數

Json

{‘Mode’: ‘Concurrency’, ‘MaxErrors’: 0, ‘Concurrency’: 10}

OOSAssumeRole

OOS扮演的RAM角色

String

“”

輸出參數

參數名稱

描述

類型

instanceIds

List

執行此模板需要的權限原則

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:CreateImage",
                "ecs:DeleteImage",
                "ecs:DescribeAvailableResource",
                "ecs:DescribeDisks",
                "ecs:DescribeImages",
                "ecs:DescribeInstances",
                "ecs:DescribeVSwitches",
                "ecs:RunInstances"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

詳情

ACS-ECS-CloneInstancesAcrossAZ詳情

模板內容

FormatVersion: OOS-2019-06-01
Description:
  en: Cross available zone clone and bulky run ECS instance
  zh-cn: 跨可用性區域批量複製ECS執行個體
  name-en: ACS-ECS-CloneInstancesAcrossAZ
  name-zh-cn: 跨可用性區域批量複製ECS執行個體
  categories:
    - cross_region
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
      zh-cn: 地區ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Label:
      en: TargetInstance
      zh-cn: 目標執行個體
    Type: Json
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  targetSecurityGroupId:
    Label:
      en: TargetSecurityGroupId
      zh-cn: 新執行個體的安全性群組ID
    Type: String
    AssociationProperty: 'ALIYUN::ECS::SecurityGroup::SecurityGroupId'
    AssociationPropertyMetadata:
      RegionId: regionId
  targetVSwitchId:
    Label:
      en: TargetVSwitchId
      zh-cn: 新執行個體的交換器ID,填寫本參數時將會決定目的可用性區域
    Type: String
    AssociationProperty: 'ALIYUN::VPC::VSwitch::VSwitchId'
    AssociationPropertyMetadata:
      RegionId: regionId
      Filters:
        - SecurityGroupId: targetSecurityGroupId
  targetResourceGroupId:
    Label:
      en: TargetResourceGroupId
      zh-cn: 新執行個體將加入的目的資源群組ID
    Type: String
    Default: ' '
  targetInstanceType:
    Label:
      en: TargetInstanceType
      zh-cn: 新執行個體的規格
    Type: String
    AssociationProperty: 'ALIYUN::ECS::Instance::InstanceType'
    AssociationPropertyMetadata:
      RegionId: regionId
    Default: ' '
  targetTags:
    Label:
      en: TargetTags
      zh-cn: 新執行個體的標籤
    Type: Json
    AssociationProperty: Tags
    AssociationPropertyMetadata:
      ShowSystem: false
  targetInstanceChargeType:
    Label:
      en: TargetInstanceChargeType
      zh-cn: 新執行個體的付費模式,預設隨用隨付
    Type: String
    AllowedValues:
      - PrePaid
      - PostPaid
    Default: PostPaid
  targetPeriodUnit:
    Label:
      en: TargetPeriodUnit
      zh-cn: 當新執行個體的付費方式選擇訂用帳戶時,請在此處選擇時間長度單位,預設單位是月
    Type: String
    AllowedValues:
      - Week
      - Month
      - ' '
    Default: ' '
  targetPeriod:
    Label:
      en: TargetPeriod
      zh-cn: 當新執行個體的付費方式選擇訂用帳戶時,請在此處填寫時間長度數,預設值為1
    Type: Number
    Default: 1
  targetDeploymentSetId:
    Label:
      en: TargetDeploymentSetId
      zh-cn: 新執行個體的部署集ID
    Type: String
    Default: ' '
  targetInstanceName:
    Label:
      en: TargetInstanceName
      zh-cn: 新執行個體的名稱
    Type: String
    Default: ' '
  targetHostName:
    Label:
      en: TargetHostName
      zh-cn: 新執行個體的主機名稱
    Type: String
    Default: ' '
  rateControl:
    Label:
      en: RateControl
      zh-cn: 迴圈任務執行的並發率及容錯數
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: OOS扮演的RAM角色
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Views the ECS instances
      zh-cn: 擷取ECS執行個體
    Action: 'ACS::SelectTargets'
    Properties:
      RegionId: '{{regionId}}'
      ResourceType: 'ALIYUN::ECS::Instance'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'

  - Name: cloneInstancesAcrossAZ
    Action: 'ACS::Template'
    Description:
      en: Clone instances
      zh-cn: 複製執行個體
    Properties:
      TemplateName: 'ACS::ECS::CloneInstanceAcrossAZ'
      Parameters:
        imageName: 'img-{{ ACS::TaskLoopItem }}-{{ACS::ExecutionId}}'
        instanceId: '{{ ACS::TaskLoopItem }}'
        targetSecurityGroupId: '{{ targetSecurityGroupId }}'
        targetResourceGroupId: '{{ targetResourceGroupId }}'
        targetVSwitchId: '{{ targetVSwitchId }}'
        regionId: '{{ regionId }}'
        targetInstanceName: '{{ targetInstanceName }}'
        targetInstanceChargeType: '{{ targetInstanceChargeType }}'
        targetPeriodUnit: '{{ targetPeriodUnit }}'
        targetPeriod: '{{ targetPeriod }}'
        targetInstanceType: '{{ targetInstanceType }}'
        targetHostName: '{{ targetHostName }}'
        targetDeploymentSetId: '{{ targetDeploymentSetId }}'
        tags: '{{ targetTags }}'
        OOSAssumeRole: '{{OOSAssumeRole}}'
    Loop:
      Items: '{{ getInstance.instanceIds }}'
      RateControl: '{{ rateControl }}'
      Outputs:
        instanceIds:
          AggregateType: 'Fn::ListJoin'
          AggregateField: instanceId
    Outputs:
      instanceId:
        ValueSelector: instanceId
        Type: String
Outputs:
  instanceIds:
    Value: '{{ cloneInstancesAcrossAZ.instanceIds }}'
    Type: List
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - targetSecurityGroupId
          - targetVSwitchId
          - targetInstanceType
          - targetTags
          - targetInstanceChargeType
          - targetPeriodUnit
          - targetPeriod
          - targetResourceGroupId
          - targetDeploymentSetId
          - targetInstanceName
          - targetHostName
        Label:
          default:
            zh-cn: 設定參數
            en: Configure Parameters
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            zh-cn: 選擇執行個體
            en: Select Ecs Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: 進階選項
            en: Control Options