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

Resource Orchestration Service:ALIYUN::ECS::Invocation

最終更新日:Apr 23, 2025

ALIYUN::ECS::Invocation は、Elastic Compute Service (ECS) インスタンスでクラウドアシスタントコマンドを実行するために使用されます。

構文

{
  "Type": "ALIYUN::ECS::Invocation",
  "Properties": {
    "Frequency": String,
    "CommandId": String,
    "Parameters": Map,
    "InstanceIds": List,
    "Sync": Boolean,
    "CommandName": String,
    "WindowsPasswordName": String,
    "Timeout": Integer,
    "RepeatMode": String,
    "ResourceGroupId": String,
    "ContainerName": String,
    "ContainerId": String,
    "Launcher": String,
    "Username": String,
    "Tags": List
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Frequency

String

いいえ

いいえ

コマンドを実行するスケジュール。値の構造については、「Cron expression」をご参照ください。

なし。

CommandId

String

いいえ

はい

コマンドの ID。

なし。

InstanceIds

List

はい

はい

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

最大 20 個のインスタンス ID を指定できます。

Parameters

Map

いいえ

はい

カスタムパラメータ機能が有効になっている場合に、コマンドに渡すカスタムパラメータのキーと値のペア。例: {"name": "Jack", "accessKey": "LTAI****************"}

最大 10 個のカスタムパラメータを指定できます。

Map コレクションの各キーは空の文字列にすることはできず、最大 64 文字の長さにすることができます。Map コレクションの各値は空の文字列にすることができます。

カスタムパラメータと元のコマンドコンテンツを Base64 エンコードした後、合計サイズは 16 KB を超えることはできません。

カスタムパラメータ名のセットは、コマンドを作成するときに指定するパラメータセットのサブセットである必要があります。渡されないパラメータを表すには、空の文字列を使用できます。

Sync

Boolean

いいえ

いいえ

コマンドを同期的に実行するかどうかを指定します。

有効な値:

  • true

  • false

Launcher

String

いいえ

いいえ

スクリプト実行のランチャー。

値のサイズは最大 1 KB です。

CommandName

String

いいえ

いいえ

コマンド名。

なし

WindowsPasswordName

String

いいえ

いいえ

Windows インスタンスでコマンドを実行するために使用するパスワードのユーザー名。

名前の長さは最大 255 文字です。

Windows インスタンスでデフォルトの System ユーザーを使用してコマンドを実行したくない場合は、WindowsPasswordName プロパティと Username プロパティを指定します。パスワード漏洩のリスクを軽減するため、パスワードは CloudOps Orchestration Service (OOS) のパラメータリポジトリにプレーンテキストでホストされます。WindowsPasswordName プロパティを使用して渡されるのは、パスワードのユーザー名だけです。詳細については、「暗号化パラメータ」および「一般ユーザーとしてクラウドアシスタントコマンドを実行する」をご参照ください。

説明

Linux インスタンスの root ユーザーまたは Windows インスタンスの System ユーザーを使用してコマンドを実行する場合は、WindowsPasswordName プロパティを指定する必要はありません。

Timeout

Integer

いいえ

はい

コマンド実行のタイムアウト期間。単位: 秒。

このプロパティを指定する際は、以下の点に注意してください。

  • タイムアウト期間は 10 秒未満にすることはできません。

  • プロセスの速度低下、特定のモジュールまたはクラウドアシスタントクライアントが存在しないなどの理由でコマンドを実行できない場合、タイムアウトエラーが発生します。指定されたタイムアウト期間が終了すると、コマンドプロセスは強制終了されます。

  • このプロパティを指定しない場合は、コマンドの作成時に指定されたタイムアウト期間が使用されます。

  • このタイムアウト期間は、実行にのみ適用されます。コマンドのタイムアウト期間は変更されません。

RepeatMode

String

いいえ

いいえ

コマンドを実行するモード。

有効な値:

  • Once: コマンドをすぐに実行します。

  • Period: コマンドを定期的に実行します。このプロパティを Period に設定する場合は、Frequency プロパティも指定する必要があります。

  • NextRebootOnly: インスタンスが次回起動されたときにコマンドを実行します。

  • EveryReboot: インスタンスが起動されるたびにコマンドを実行します。

デフォルト値:

  • Frequency プロパティを指定しない場合、デフォルト値は Once です。

  • Frequency プロパティを指定した場合、RepeatMode プロパティが Period に設定されているかどうかに関係なく、Period が RepeatMode の値として使用されます。

このプロパティを指定する際は、以下の点に注意してください。

  • StopInvocation 操作を呼び出して、コマンドの保留中またはスケジュールされた実行を停止できます。

  • このプロパティを Period または EveryReboot に設定した場合は、IncludeHistory を true に設定して DescribeInvocationResults 操作を呼び出し、過去のスケジュールされた実行の結果をクエリできます。

ResourceGroupId

String

いいえ

いいえ

リソースグループの ID。

このプロパティを指定する際は、以下の点に注意してください。

  • InstanceId によって指定された ECS インスタンスは、リソースグループに属している必要があります。

  • コマンドを実行した後、DescribeInvocations 操作または DescribeInvocationResults 操作を呼び出し、ResourceGroupId を指定して、指定されたリソースグループのコマンドの実行結果をクエリできます。

ContainerName

String

いいえ

いいえ

コンテナ名。

このプロパティを指定する際は、以下の点に注意してください。

  • このプロパティを指定すると、クラウドアシスタントはインスタンス上の指定されたコンテナでスクリプトを実行します。

  • このプロパティを指定する場合は、クラウドアシスタントクライアントがインストールされている Linux インスタンスでのみスクリプトを実行できます。クラウドアシスタントクライアントのバージョンは 2.2.3.344 以降である必要があります。

  • このプロパティを指定した場合、この操作を呼び出すリクエストで指定された Username と、CreateCommand 操作を呼び出すリクエストで指定された WorkingDir は有効になりません。コンテナのデフォルトユーザーを使用して、コンテナのデフォルトの作業ディレクトリでのみコマンドを実行できます。詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。

  • このプロパティを指定した場合、Linux コンテナでシェルスクリプトのみを実行できます。スクリプトの先頭に #!/usr/bin/python のような形式でコマンドを追加して、スクリプトインタープリターを指定することはできません。詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。

ContainerId

String

いいえ

いいえ

コンテナ ID。

64 ビットの 16 進数文字列のみがサポートされています。docker://containerd://、または cri-o:// というプレフィックスが付いたコンテナ ID を使用して、コンテナランタイムを指定できます。

このプロパティを指定する際は、以下の点に注意してください。

  • このプロパティを指定すると、クラウドアシスタントはインスタンス上の指定されたコンテナでスクリプトを実行します。

  • このプロパティを指定する場合は、クラウドアシスタントクライアントがインストールされている Linux インスタンスでのみスクリプトを実行できます。クラウドアシスタントクライアントのバージョンは 2.2.3.344 以降である必要があります。

  • このプロパティを指定した場合、この操作を呼び出すリクエストで指定された Username と、CreateCommand 操作を呼び出すリクエストで指定された WorkingDir は有効になりません。コンテナのデフォルトユーザーを使用して、コンテナのデフォルトの作業ディレクトリでのみコマンドを実行できます。詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。

  • このプロパティを指定した場合、Linux コンテナでシェルスクリプトのみを実行できます。スクリプトの先頭に #!/usr/bin/python のような形式でコマンドを追加して、スクリプトインタープリターを指定することはできません。詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。

Username

String

いいえ

いいえ

インスタンスでコマンドを実行するために使用するユーザー名。

ユーザー名の長さは最大 255 文字です。

  • Linux インスタンスの場合、デフォルトでは root ユーザー名が使用されます。

  • Windows インスタンスの場合、デフォルトでは System ユーザー名が使用されます。

インスタンスに既に存在する他のユーザー名を指定してコマンドを実行することもできます。セキュリティ上の理由から、一般ユーザーとしてクラウドアシスタントコマンドを実行することをお勧めします。詳細については、「一般ユーザーとしてクラウドアシスタントコマンドを実行する」をご参照ください。

Tags

List

いいえ

いいえ

タグ。

次の形式で最大 20 個のタグを指定できます: [{"Key":"tagKey","Value":"tagValue"},{"Key":"tagKey2","Value":"tagValue2"}]

詳細については、「タグのプロパティ」をご参照ください。

タグの構文

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

タグのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Key

String

はい

いいえ

タグキー。

タグキーの長さは 1 ~ 128 文字で、http:// または https:// を含めることはできません。aliyun または acs: で始めることはできません。

Value

String

いいえ

いいえ

タグ値。

タグ値の長さは最大 128 文字で、http:// または https:// を含めることはできません。aliyun または acs: で始めることはできません。

戻り値

Fn::GetAtt

  • InvokeId: コマンドの呼び出し ID。

  • InvokeInstances: コマンドが実行されるインスタンス。

  • InvokeResults: コマンド実行の結果。

説明

コマンドを 1 回だけ実行する場合は、「ALIYUN::ECS::RunCommand」をご参照ください。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  CommandId:
    Type: String
    Description: The id of command.
  InstanceId:
    Type: String
    AssociationProperty: ALIYUN::ECS::Instance::InstanceId
Resources:
  Invocation:
    Type: ALIYUN::ECS::Invocation
    Properties:
      CommandId:
        Ref: CommandId
      InstanceIds:
        - Ref: InstanceId
Outputs:
  InvokeId:
    Description: The id of command execution.
    Value:
      Fn::GetAtt:
        - Invocation
        - InvokeId                   
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "CommandId": {
      "Type": "String",
      "Description": "コマンドの ID。"  //日本語訳を追加
    },
    "InstanceId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceId"
    }
  },
  "Resources": {
    "Invocation": {
      "Type": "ALIYUN::ECS::Invocation",
      "Properties": {
        "CommandId": {
          "Ref": "CommandId"
        },
        "InstanceIds": [
          {
            "Ref": "InstanceId"
          }
        ]
      }
    }
  },
  "Outputs": {
    "InvokeId": {
      "Description": "コマンド実行の ID。", //日本語訳を追加
      "Value": {
        "Fn::GetAtt": [
          "Invocation",
          "InvokeId"
        ]
      }
    }
  }
}