全部产品
Search
文档中心

系统运维管理:ACS-ECS-BulkyReplaceSystemDisk

更新时间:Dec 17, 2024

模板名称

ACS-ECS-BulkyReplaceSystemDisk 批量更换ECS实例的系统盘

立即执行

模板描述

批量更换ECS实例的系统盘,适用于需要对多台ECS实例进行系统盘替换的场景,例如系统升级和故障恢复等。在配置过程中,用户需要提供以下必填参数信息:地域ID(regionId):用于指定更换系统盘的ECS实例所在的区域,镜像ID(imageId):用于指定更换系统盘时使用的镜像,目标实例(targets):用于定义具体需要操作的ECS实例。模板在执行后会返回新系统盘的ID列表,方便用户验证系统盘替换的状态。

模板类型

自动化

所有者

Alibaba Cloud

输入参数

参数名称

描述

类型

是否必填

默认值

约束

imageId

镜像ID

String

targets

目标实例

Json

regionId

地域ID

String

{{ ACS::RegionId }}

password

实例的用户名密码

String

“”

keyPairName

密钥对名称

String

“”

rateControl

任务执行的并发比率

Json

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

OOSAssumeRole

OOS扮演的RAM角色

String

“”

输出参数

参数名称

描述

类型

newSystemDiskIds

String

执行此模板需要的权限策略

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeDisks",
                "ecs:DescribeInstances",
                "ecs:ReplaceSystemDisk",
                "ecs:StartInstance",
                "ecs:StopInstance"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

详情

ACS-ECS-BulkyReplaceSystemDisk详情

模板内容

FormatVersion: OOS-2019-06-01
Description:
  en: 'Bulky replace the system disks of ECS instances, applicable to scenarios that require system disk replacement on multiple ECS instances, such as system upgrades and fault recovery. During configuration, users need to provide the following required parameter information: Region ID (regionId), which specifies the region of the ECS instances where the system disks will be replaced, Image ID (imageId), which specifies the image to use for the system disk replacement, and Target Instances (targets), which defines the specific ECS instances to be operated on. Upon execution, the template provides the IDs of the new system disks, enabling users to verify the status of the system disk replacements.'
  zh-cn: 批量更换ECS实例的系统盘,适用于需要对多台ECS实例进行系统盘替换的场景,例如系统升级和故障恢复等。在配置过程中,用户需要提供以下必填参数信息:地域ID(regionId):用于指定更换系统盘的ECS实例所在的区域,镜像ID(imageId):用于指定更换系统盘时使用的镜像,目标实例(targets):用于定义具体需要操作的ECS实例。模板在执行后会返回新系统盘的ID列表,方便用户验证系统盘替换的状态。
  name-en: ACS-ECS-BulkyReplaceSystemDisk
  name-zh-cn: 批量更换ECS实例的系统盘
  categories:
    - instance_manage
    - application_management
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
      zh-cn: 地域ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  imageId:
    Label:
      en: ImageId
      zh-cn: 镜像ID
    Description:
      en: <div style="color:#F00">If the system disk capacity of the image you select is larger than the original system disk capacity, the system disk will be automatically expanded, which may incur additional costs. </div>
      zh-cn: <div style="color:#F00">如果您选择的镜像的系统盘容量大于原系统盘容量,会自动对系统盘进行扩容,可能会产生额外费用。</div>
    Type: String
    AssociationProperty: 'ALIYUN::ECS::Image::ImageId'
    AssociationPropertyMetadata:
      RegionId: regionId
  password:
    Label:
      en: Password
      zh-cn: 实例的用户名密码
    Type: String
    Default: ''
  keyPairName:
    Label:
      en: KeyPairName
      zh-cn: 密钥对名称
    Type: String
    Default: ''
  targets:
    Type: Json
    Label:
      en: TargetInstance
      zh-cn: 目标实例
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  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:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: replaceSystemDisk
    Action: 'ACS::ECS::ReplaceSystemDisk'
    Description:
      en: Replaces the system disk of ECS instances
      zh-cn: 更换系统盘
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      imageId: '{{ imageId }}'
      keyPairName: '{{ keyPairName }}'
      password: '{{ password }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'
      Outputs:
        newSystemDiskIds:
          AggregateType: 'Fn::ListJoin'
          AggregateField: newSystemDiskId
    Outputs:
      newSystemDiskId:
        Type: String
        ValueSelector: newSystemDiskId
Outputs:
  newSystemDiskIds:
    Type: String
    Value: '{{ replaceSystemDisk.newSystemDiskIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - imageId
          - password
          - keyPairName
        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