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

CloudOps Orchestration Service:ACS-ECS-BulkyDownloadFileAndRunCommand

最終更新日:Dec 21, 2025

テンプレート名

ACS-ECS-BulkyDownloadFileAndRunCommand は、複数の ECS インスタンスにファイルをダウンロードし、クラウドアシスタントコマンドを実行します。

今すぐ実行

テンプレートの説明

複数の Elastic Compute Service (ECS) インスタンスに一度にファイルをダウンロードし、ECS インスタンスでクラウドアシスタントコマンドを実行します。

テンプレートの種類

自動化

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

種類

必須

デフォルト値

制限

targets

ターゲットインスタンス

Json

はい

sourcePath

ファイルの選択

String

はい

destinationDir

ECS インスタンスでファイルをダウンロードするディレクトリ。

String

はい

regionId

リージョン ID。

String

いいえ

{{ ACS::RegionId }}

sourceType

ファイルの種類。

String

いいえ

local

commandContent

コマンドの内容。

String

いいえ

# #Java デプロイメントの例
# java_pid=`ps -ef | grep java | grep -v grep | awk '{print$2}'`
# if [[ $java_pid ]];then
#   kill -9 $java_pid
# fi
# nohup java -jar *.jar &

コマンドの長さは最大 16,384 バイトです。

workingDir

ECS インスタンスでコマンドを実行するディレクトリ。

String

いいえ

""

timeout

ECS インスタンスでコマンドを実行するためのタイムアウト期間。

Number

いいえ

600

rateControl

タスク実行の同時実行率

Json

いいえ

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

OOSAssumeRole

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

String

いいえ

""

出力パラメーター

なし

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

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

詳細

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

テンプレートの内容

FormatVersion: OOS-2019-06-01
Description:
  en: 複数の ECS インスタンスにファイルを一括でダウンロードし、クラウドアシスタントコマンドを実行します
  zh-cn: 批量下载文件到多个ECS实例并执行云助手命令
  name-en: ACS-ECS-BulkyDownloadFileAndRunCommand
  name-zh-cn: 批量下载文件到多个ECS实例并执行云助手命令
  categories:
    - instance_manage
    - application_manage
Parameters:
  regionId:
    Type: String
    Label:
      en: リージョン ID
      zh-cn: 地域ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Label:
      en: ターゲットインスタンス
      zh-cn: 目标实例
    Type: Json
    Description:
      en: <p class="p">注意事項:</p> <ul class="ul"> <li class="li"><font color='red'>HTTPS 経由でファイルをダウンロードするには、ターゲットの ECS インスタンスでパブリックネットワークアクセスが有効になっている必要があります。</font></li><li class="li"><font color='red'>OSS からファイルをダウンロードするには、ターゲットの ECS インスタンスに RAM ロールが設定されている必要があります。 詳細については、<a href='https://www.alibabacloud.com/help/ja/operation-orchestration-service/latest/download-multiple-objects-to-an-instance#vOk3w'>こちらのドキュメント</a>をご参照ください。</font></li>
      zh-cn: <p class="p">注意事项: </p> <ul class="ul"> <li class="li"><font color='red'>通过https方式下载需要ECS实例开启公网访问</font></li><li class="li"><font color='red'>通过oss方式下载需要ECS实例配置RAM角色,<a href='https://www.alibabacloud.com/help/document_detail/175396.html?spm=a2c4g.120556.0.0.34c9de53iyt2Z1#vOk3w'>参考文档</a></font></li>
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  sourceType:
    Type: String
    Description:
      en: ローカルマシンからアップロードされるファイルのサイズは 500 MB を超えることはできません。
      zh-cn: 本地上传文件不能超过500M
    Label:
      en: ソースタイプ
      zh-cn: 文件类型
    AllowedValues:
      - local
      - oss
      - https
    Default: local
    AssociationPropertyMetadata:
      LocaleKey: DownloadFileType
      RegionId: ${regionId}
  sourcePath:
    Type: String
    Label:
      en: ソースファイル
      zh-cn: 选择文件
    AssociationProperty: ALIYUN::OOS::File::FileUrl
    AssociationPropertyMetadata:
      FileType: ${sourceType}
      RegionId: ${regionId}
  destinationDir:
    Label:
      en: 宛先ディレクトリ
      zh-cn: 实例中文件复制的目标目录
    Type: String
  commandContent:
    Label:
      en: コマンドの内容
      zh-cn: 命令内容
    Type: String
    MaxLength: 16384
    AssociationProperty: ALIYUN::OOS::Command::CommandContent
    AssociationPropertyMetadata:
      CommandType: RunShellScript
    Default: |
      # Java デプロイメントの例
      # java_pid=`ps -ef | grep java | grep -v grep | awk '{print$2}'`
      # if [[ $java_pid ]];then
      #   kill -9 $java_pid
      # fi
      # nohup java -jar *.jar &
  workingDir:
    Label:
      en: 作業ディレクトリ
      zh-cn: 脚本在ECS实例中的运行目录
    Description:
      en: 'スクリプトが ECS インスタンスで実行されるディレクトリ。 Linux インスタンスの場合、デフォルトのディレクトリは root ユーザーのホームディレクトリ (/root) です。 Windows インスタンスの場合、デフォルトのディレクトリはクラウドアシスタントクライアントプロセスが配置されているディレクトリ (C:\Windows\System32 など) です。'
      zh-cn: '脚本在ECS实例中的运行目录。Linux系统实例默认在管理员(root用户)的home目录下,即/root。Windows系统实例默认在云助手客户端进程所在目录,例如C:\Windows\System32。'
    Type: String
    Default: ''
  timeout:
    Label:
      en: コマンドのタイムアウト
      zh-cn: ECS实例中执行命令的超时时间
    Type: Number
    Default: 600
  rateControl:
    Label:
      en: 同時実行率
      zh-cn: 任务执行的并发比率
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOS が偽装する RAM ロール
      zh-cn: OOS扮演的RAM角色
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: 指定された ECS インスタンスを取得します。
      zh-cn: 获取ECS实例
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: downloadFileAndRunCommand
    Action: ACS::ECS::DownloadFileAndRunCommand
    Description:
      en: インスタンスにファイルをダウンロードしてコマンドを実行します。
      zh-cn: 下载文件到实例并执行命令
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      sourceType: '{{ sourceType }}'
      sourcePath: '{{ sourcePath }}'
      destinationDir: '{{ destinationDir }}'
      commandContent: '{{ commandContent }}'
      workingDir: '{{ workingDir }}'
      timeout: '{{ timeout }}'
    Loop:
      Items: '{{ getInstance.instanceIds }}'
      RateControl: '{{ rateControl }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - sourceType
          - sourcePath
          - commandContent
          - destinationDir
          - workingDir
          - timeout
        Label:
          default:
            zh-cn: 配置参数
            en: 設定パラメーター
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            zh-cn: 选择实例
            en: インスタンスの選択
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: 高级选项
            en: 詳細オプション