すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:ACS-ECS-BulkyReplaceSystemDisk

最終更新日:Dec 21, 2025

テンプレート名

ACS-ECS-BulkyReplaceSystemDisk:ECS インスタンスのシステムディスクをバッチで置き換える

今すぐ実行

テンプレートの説明

複数の Elastic Compute Service (ECS) インスタンスのシステムディスクをバッチで置き換えます。このテンプレートは、システムのアップグレードや障害回復などのシナリオで役立ちます。設定時には、ECS インスタンスのリージョンを指定する `regionId`、新しいシステムディスクのイメージを指定する `imageId`、およびターゲットの ECS インスタンスを指定する `targets` という必須パラメーターを指定する必要があります。テンプレートの実行後、新しいシステムディスク ID のリストが返されます。このリストを使用して、ディスクの置き換えステータスを確認できます。

テンプレートの種類

自動化

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

種類

必須

デフォルト値

制限

imageId

イメージ ID。

String

はい

targets

ターゲットインスタンス

Json

はい

regionId

リージョン ID。

String

いいえ

{{ ACS::RegionId }}

password

ECS インスタンスへのアクセスに使用するユーザー名とパスワード。

String

いいえ

""

keyPairName

キーペアの名前。

String

いいえ

""

rateControl

タスク実行の同時実行数

Json

いいえ

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

CloudOps Orchestration Service(OOS)がアサインするResource Access Management(RAM)ロール。

String

いいえ

""

出力パラメーター

パラメーター

説明

種類

newSystemDiskIds

String

テンプレートの実行に必要な権限ポリシー

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

詳細

詳細については、GitHub の AACS-ECS-BulkyReplaceSystemDisk.yml をご参照ください。

テンプレートコンテンツ

選択したイメージのシステムディスク容量が元のシステムディスク容量より大きい場合、システムディスクは自動的に拡張され、追加料金が発生する可能性があります。
選択したイメージのシステムディスク容量が元のシステムディスクの容量より大きい場合、システムディスクは自動的に拡張され、追加料金が発生する可能性があります。<div># 選択したイメージのシステムディスク容量が元のシステムディスク容量より大きい場合、システムディスクは自動的に拡張され、追加料金が発生する可能性があります。</div><div># 選択したイメージのシステムディスク容量が元のシステムディスク容量より大きい場合、システムディスクは自動的に拡張され、追加料金が発生する可能性があります。</div>FormatVersion: OOS-2019-06-01
Description:
  en: '複数の ECS インスタンスのシステムディスクをバッチで置き換えます。このテンプレートは、システムのアップグレードや障害回復などのシナリオで役立ちます。設定時には、ECS インスタンスのリージョンを指定するリージョン ID (regionId)、新しいシステムディスクのイメージを指定するイメージ ID (imageId)、および対象の ECS インスタンスを定義するターゲットインスタンス (targets) という必須パラメーターを指定します。実行後、テンプレートは新しいシステムディスク ID のリストを返し、置き換えステータスを確認するのに役立ちます。'
  name-en: ACS-ECS-BulkyReplaceSystemDisk
  categories:
    - instance_manage
    - application_management
    - tag_operate_resource
Parameters:
  regionId:
    Type: String
    Label:
      en: リージョン ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  imageId:
    Label:
      en: イメージ ID
    Description:
      en: '<div>選択したイメージのシステムディスク容量が元のシステムディスク容量より大きい場合、システムディスクは自動的に拡張されます。これにより、追加料金が発生する可能性があります。</div>'
    Type: String
    AssociationProperty: 'ALIYUN::ECS::Image::ImageId'
    AssociationPropertyMetadata:
      RegionId: regionId
  password:
    Label:
      en: パスワード
    Type: String
    Default: ''
  keyPairName:
    Label:
      en: キーペア名
    Type: String
    Default: ''
  targets:
    Type: Json
    Label:
      en: ターゲットインスタンス
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  rateControl:
    Label:
      en: レート制御
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: 指定された 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: システムディスクを置き換えます
    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:
            en: パラメーターの設定
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            en: ECS インスタンスの選択
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            en: 詳細オプション