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

CloudOps Orchestration Service:ACS-ESS-LifeCycleRunCommandOnSpecifiedInstance

最終更新日:Jun 23, 2026

テンプレート名

ACS-ESS-LifeCycleRunCommandOnSpecifiedInstance

今すぐ実行

テンプレートの説明

ライフサイクルフックを使用して、スケーリングアクティビティの対象インスタンスの中から、指定された単一の Elastic Compute Service (ECS) インスタンスでコマンドを実行します。

テンプレートタイプ

自動

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

タイプ

必須

デフォルト値

制限

commandInstanceId

コマンドを実行する ECS インスタンスの ID。

文字列

はい

commandContent

Cloud Assistant コマンドの内容。

文字列

いいえ

echo hello

regionId

リージョン ID。

文字列

いいえ

${regionId}

instanceIds

ECS インスタンスの ID のリスト。

リスト

いいえ

['${instanceIds}']

lifecycleHookId

ライフサイクルフック ID。

文字列

いいえ

${lifecycleHookId}

lifecycleActionToken

インスタンスに関連付けられた特定のスケーリングアクティビティのトークン。

文字列

いいえ

${lifecycleActionToken}

rateControl

レート制御設定。

JSON

いいえ

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

OOSAssumeRole

CloudOps Orchestration Service (OOS) が引き受ける Resource Access Management (RAM) ロール。

文字列

いいえ

OOSServiceRole

出力パラメーター

パラメーター

説明

タイプ

commandOutputs

リスト

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

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances",
                "ecs:DescribeInvocationResults",
                "ecs:DescribeInvocations",
                "ecs:RunCommand"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ess:CompleteLifecycleAction"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

関連ドキュメント

ACS-ESS-LifeCycleRunCommandOnSpecifiedInstance

テンプレートの内容

FormatVersion: OOS-2019-06-01
Description:
  ja: ライフサイクルフックを使用して、スケーリングアクティビティの対象インスタンスの中から、指定された単一のインスタンスでコマンドを実行します。
  name-ja: ACS-ESS-LifeCycleRunCommandOnSpecifiedInstance
  categories:
    - elastic_manage
Parameters:
  commandInstanceId:
    Label:
      ja: コマンドインスタンス ID
    Type: String
  commandContent:
    Label:
      ja: コマンド内容
    Type: String
    AssociationProperty: Code
    Default: echo hello
  regionId:
    Label:
      ja: リージョン ID
    Description:
      ja: 'リージョン ID。Auto Scaling のシステムデフォルト値 ${regionId} を使用してください。'
    Type: String
    Default: '${regionId}'
  instanceIds:
    Label:
      ja: インスタンス ID
    Description:
      ja: 'ECS インスタンス ID のリスト。Auto Scaling のシステムデフォルト値 ["${instanceIds}"] を使用してください。'
    Type: List
    Default:
      - '${instanceIds}'
  lifecycleHookId:
    Label:
      ja: ライフサイクルフック ID
    Description:
      ja: 'ライフサイクルフックの ID。Auto Scaling のシステムデフォルト値 ${lifecycleHookId} を使用してください。'
    Type: String
    Default: '${lifecycleHookId}'
  lifecycleActionToken:
    Label:
      ja: ライフサイクルアクショントークン
    Description:
      ja: 'インスタンスに関連付けられた特定のスケーリングアクティビティのトークン。Auto Scaling のシステムデフォルト値 ${lifecycleActionToken} を使用してください。'
    Type: String
    Default: '${lifecycleActionToken}'
  rateControl:
    Label:
      ja: レート制御
    Type: JSON
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 1
  OOSAssumeRole:
    Label:
      ja: OOSAssumeRole
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: runCommandOnSpecifiedInstance
    Action: ACS::ESS::RunCommandOnSpecifiedInstance
    OnError: CompleteLifecycleActionForAbandon
    OnSuccess: CompleteLifecycleActionForContinue
    Description:
      ja: Cloud Assistant コマンドを実行します。
    Properties:
      regionId: '{{ regionId }}'
      commandContent: '{{ commandContent }}'
      commandInstanceId: '{{ commandInstanceId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ instanceIds }}'
      Outputs:
        commandOutputs:
          AggregateType: Fn::ListJoin
          AggregateField: commandOutput
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
  - Name: CompleteLifecycleActionForContinue
    Action: 'ACS::ExecuteAPI'
    Description:
      ja: ライフサイクルアクションを続行するように設定します。
    OnSuccess: 'ACS::END'
    Properties:
      Service: ESS
      API: CompleteLifecycleAction
      Parameters:
        RegionId: '{{ regionId }}'
        LifecycleHookId: '{{ lifecycleHookId }}'
        LifecycleActionToken: '{{ lifecycleActionToken }}'
        LifecycleActionResult: CONTINUE
  - Name: CompleteLifecycleActionForAbandon
    Action: 'ACS::ExecuteAPI'
    Description:
      ja: ライフサイクルアクションを破棄するように設定します。
    Properties:
      Service: ESS
      API: CompleteLifecycleAction
      Parameters:
        RegionId: '{{ regionId }}'
        LifecycleHookId: '{{ lifecycleHookId }}'
        LifecycleActionToken: '{{ lifecycleActionToken }}'
        LifecycleActionResult: ABANDON
Outputs:
  commandOutputs:
    Type: List
    Value: '{{ runCommandOnSpecifiedInstance.commandOutputs }}'