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

Resource Orchestration Service:ALIYUN::ECS::Invocation

最終更新日:Jan 16, 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,
    "Username": String,
    "Tags": List
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Frequency

String

いいえ

いいえ

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

なし

CommandId

String

いいえ

はい

コマンド ID。

なし

InstanceIds

List

はい

はい

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

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

Parameters

Map

いいえ

はい

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

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

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

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

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

Sync

Boolean

いいえ

いいえ

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

有効な値:

  • true

  • false

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」をご参照ください。

  • YAML 形式

    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                   
  • JSON 形式

    {
      "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"
            ]
          }
        }
      }
    }