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

CloudOps Orchestration Service:ACS-ESS-UpdateScalingConfigurationImage

最終更新日:Dec 21, 2025

テンプレート名

ACS-ESS-UpdateScalingConfigurationImage は、スケーリング設定のイメージを更新します

今すぐ実行

テンプレートの説明

既存の Elastic Compute Service (ECS) イメージを更新するコマンドを実行し、ECS イメージを作成し、スケーリング設定のイメージ ID を更新します。

テンプレートタイプ

自動

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

タイプ

必須

デフォルト値

制限

sourceImageId

ソースイメージ ID。

文字列

はい

securityGroupId

セキュリティグループ ID。

文字列

はい

vSwitchId

vSwitch ID。

文字列

はい

commandContent

クラウドアシスタントコマンドの内容。

文字列

はい

scalingConfigurationIds

変更するスケーリング設定の ID。

リスト

はい

regionId

リージョン ID。

文字列

いいえ

{{ ACS::RegionId }}

targetImageName

新しいイメージの名前。

文字列

いいえ

UpdateImage_from_{{ sourceImageId }}_on_{{ ACS::ExecutionId }}

instanceType

ECS インスタンスタイプ。

文字列

いいえ

ecs.g5.large

値は正規表現 ecs\.[A-Za-z0-9\.\-]* に一致する必要があります。

commandType

クラウドアシスタントコマンドのタイプ。

文字列

いいえ

RunShellScript

tags

イメージタグ。

JSON

いいえ

[]

OOSAssumeRole

CloudOps Orchestration Service (OOS) がアシュームする Resource Access Management (RAM) ロール。

文字列

いいえ

""

出力パラメーター

パラメーター

説明

タイプ

imageId

文字列

テンプレートを実行するために必要なポリシー

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:CreateImage",
                "ecs:DeleteInstance",
                "ecs:DescribeCloudAssistantStatus",
                "ecs:DescribeImages",
                "ecs:DescribeInstances",
                "ecs:DescribeInvocationResults",
                "ecs:DescribeInvocations",
                "ecs:InstallCloudAssistant",
                "ecs:RebootInstance",
                "ecs:RunCommand",
                "ecs:RunInstances",
                "ecs:StopInstance"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ess:ModifyScalingConfiguration"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

詳細

ACS-ESS-UpdateScalingConfigurationImage

テンプレートコンテンツ

FormatVersion: OOS-2019-06-01
Description:
  en: ECS クラウドアシスタントを介して既存の ECS イメージを更新し、ECS イメージを作成して、スケーリング設定のイメージ ID を更新します
  name-en: ACS-ESS-UpdateScalingConfigurationImage
  categories:
    - elastic_manage
Parameters:
  regionId:
    Type: String
    Label:
      en: リージョン ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targetImageName:
    Label:
      en: 新しいイメージ名
    Type: String
    Default: UpdateImage_from_{{ sourceImageId }}_on_{{ ACS::ExecutionId }}
  sourceImageId:
    Label:
      en: ソースイメージ ID
    Type: String
    AssociationProperty: 'ALIYUN::ECS::Image::ImageId'
    AssociationPropertyMetadata:
      RegionId: regionId
  instanceType:
    Label:
      en: インスタンスタイプ
    Type: String
    AssociationProperty: 'ALIYUN::ECS::Instance::InstanceType'
    AllowedPattern: ecs\.[A-Za-z0-9\.\-]*
    Default: 'ecs.g5.large'
  securityGroupId:
    Label:
      en: セキュリティグループ ID
    Type: String
    AssociationProperty: 'ALIYUN::ECS::SecurityGroup::SecurityGroupId'
    AssociationPropertyMetadata:
      RegionId: regionId
  vSwitchId:
    Label:
      en: VSwitch ID
    Type: String
    AssociationProperty: 'ALIYUN::VPC::VSwitch::VSwitchId'
    AssociationPropertyMetadata:
      RegionId: regionId
      Filters:
        - SecurityGroupId: securityGroupId
  commandType:
    Label:
      en: コマンドタイプ
    Type: String
    AllowedValues:
      - RunBatScript
      - RunPowerShellScript
      - RunShellScript
    Default: RunShellScript
  commandContent:
    Label:
      en: コマンド内容
    Type: String
    AssociationProperty: Code
  scalingConfigurationIds:
    Label:
      en: スケーリング設定 ID
    Type: List
  tags:
    Label:
      en: イメージタグ
    Type: Json
    AssociationProperty: Tags
    AssociationPropertyMetadata:
      ShowSystem: false
    Default: []
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: checkNewImageName
  Action: ACS::CheckFor
  Description:
    en: イメージ名が利用可能か確認します
  Properties:
    Service: ECS
    API: DescribeImages
    Parameters:
      RegionId: '{{ regionId }}'
      ImageName: '{{ targetImageName }}'
    DesiredValues:
    - 0
    PropertySelector: TotalCount
- Name: runInstances
  Action: ACS::ECS::RunInstances
  Description:
    en: ソースイメージを使用して ECS インスタンスを作成します
  Properties:
    regionId: '{{ regionId }}'
    imageId: '{{ sourceImageId }}'
    instanceType: '{{ instanceType }}'
    securityGroupId: '{{ securityGroupId }}'
    vSwitchId: '{{ vSwitchId }}'
  Outputs:
    instanceId:
      ValueSelector: instanceIds[0]
      Type: String
- Name: installCloudAssistant
  Action: ACS::ECS::InstallCloudAssistant
  Description:
    en: ECS インスタンスにクラウドアシスタントをインストールします
  OnError: deleteInstance
  Properties:
    regionId: '{{ regionId }}'
    instanceId: '{{ runInstances.instanceId }}'
- Name: runCommand
  Action: ACS::ECS::RunCommand
  Description:
    en: ECS インスタンスでクラウドアシスタントコマンドを実行します
  OnError: deleteInstance
  Properties:
    regionId: '{{ regionId }}'
    commandContent: '{{ commandContent }}'
    commandType: '{{ commandType }}'
    instanceId: '{{ runInstances.instanceId }}'
- Name: stopInstance
  Action: ACS::ECS::StopInstance
  Description:
    en: ECS インスタンスを停止します
  Properties:
    regionId: '{{ regionId }}'
    instanceId: '{{ runInstances.instanceId }}'
- Name: createImage
  Action: ACS::ECS::CreateImage
  Description:
    en: 指定されたイメージ名とインスタンス ID で新しいイメージを作成します
  OnError: deleteInstance
  Properties:
    regionId: '{{ regionId }}'
    imageName: '{{ targetImageName }}'
    instanceId: '{{ runInstances.instanceId }}'
    tags: '{{tags}}'
  Outputs:
    imageId:
      ValueSelector: imageId
      Type: String
- Name: deleteInstance
  Action: ACS::ExecuteAPI
  Description:
    en: ECS インスタンスを削除します
  Properties:
    Service: ECS
    API: DeleteInstance
    Risk: Normal
    Parameters:
      RegionId: '{{ regionId }}'
      InstanceId: '{{ runInstances.instanceId }}'
      Force: true
- Name: modifyScalingConfiguration
  Action: ACS::ExecuteAPI
  Description:
    en: スケーリング設定を変更します
  Properties:
    Service: ESS
    API: ModifyScalingConfiguration
    Parameters:
      RegionId: '{{ regionId }}'
      ScalingConfigurationId: '{{ ACS::TaskLoopItem }}'
      ImageId: '{{ createImage.imageId }}'
  Loop:
    Items: '{{ scalingConfigurationIds }}'
Outputs:
  imageId:
    Type: String
    Value: '{{ createImage.imageId }}'