创建云助手命令后,您可以在一台或者多台ECS实例中执行命令。多台实例间的执行状态和执行结果互相不影响。

前提条件

执行云助手命令前,目标ECS实例必须满足以下条件:
  • 状态处于运行中Running)。
  • 已安装云助手客户端。具体操作,请参见安装云助手客户端

背景信息

  • 调用API执行命令时最多可以选择50台实例。
  • 通过ECS管理控制台一次执行命令操作的实例数量大于50台时,系统会自动分批执行命令。
  • 在一个阿里云地域下,您每天最多能执行5000次云助手命令,配额随您的云服务器使用情况可能会增加。关于如何查询配额,请参见步骤一:查看资源配额
    说明 您也可以调用API DescribeAccountAttributes,将参数 AttributeName.N设置为 max-axt-invocation-daily,查询一个地域下单天能运行的云助手命令次数上限。

控制台操作

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择运维与监控 > 发送命令/文件(云助手)
  3. 在顶部菜单栏左上角处,选择地域。
  4. 找到目标云助手命令,在右侧操作列中,单击执行
  5. 执行命令面板中,配置执行参数。
    执行命令前查看命令信息
    1. 命令信息中查看命令内容、设置命令参数和设置执行用户等。
      名称 描述
      命令内容 单击查看命令内容确认命令内容。
      执行计划 选择命令执行时间。
      • 立即执行:单击执行执行并保存后,立即执行命令。
      • 系统下一次启动后:单击执行执行并保存后,实例下次启动时执行命令。
      • 系统每次启动后:单击执行执行并保存后,实例每次启动时执行命令。
      执行用户 在ECS实例中执行命令的用户名称。

      使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。更多信息,请参见设置普通用户执行云助手命令

      默认情况下,在Linux实例中以root用户执行命令,在Windows实例中以System用户执行命令。

      密码名称 选择托管在运维编排服务中的执行用户密码名称。仅在Windows实例中使用非System用户执行命令时,需要设置此参数。

      如果您没有将执行用户的密码托管在运维编排服务,需要在运维编排服务的参数仓库中创建并托管密码。更多信息,请参见创建加密参数配置Windows实例的普通用户执行云助手命令

      命令参数 命令参数处的文本框内,填写命令中自定义参数的取值。参数取值无数据类型格式限制。如果自定义参数在当前调用中无需传入取值,您可以使用空字符串代替。
      说明 如果您在新建命令时未选择 使用参数,执行命令时不会出现 命令参数的配置。
    2. 选择实例选择托管实例区域,选中一台或多台目标实例。
      若实例过多,您可以在搜索框内输入实例ID、实例名称或标签等,并过滤云助手客户端的状态。
      说明 托管实例是云助手托管的非阿里云服务器,更多信息,请参见 混合云托管服务器
  6. 单击执行

CLI示例

  1. 可选:检查实例状态,若实例的状态不是运行中Running),调用StartInstance接口启动目标实例。
    aliyun ecs StartInstance --InstanceId 'i-bp1f4f6o8lv0wqof****'
    说明 半角单引号('')内为参数的示例取值,您需要根据实际情况修改。

    更多信息,请参见StartInstance

  2. 可选:调用DescribeCloudAssistantStatus接口查询目标实例是否安装了云助手客户端。
    aliyun ecs DescribeCloudAssistantStatus --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****'
    返回 CloudAssistantStatus=true结果时,表示实例已安装云助手客户端。否则,请调用 InstallCloudAssistant接口为实例安装客户端。更多信息,请参见 DescribeCloudAssistantStatusInstallCloudAssistant
  3. 调用InvokeCommand接口为一台或多台实例执行已创建的云助手命令,并获取返回参数InvokeId
    aliyun ecs InvokeCommand --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' \
    --InstanceId.2 'i-bp137qu6142s3mhm****' \
    --CommandId 'c-hz018qp243j****' \
    --Timed 'false' \
    --output cols=InvokeId
    名称 示例 描述
    RegionId cn-hangzhou 地域ID。
    InstanceId.1 i-bp1f4f6o8lv0wqof**** 执行命令的第一个实例ID。
    InstanceId.2 i-bp137qu6142s3mhm**** 执行命令的第二个实例ID。
    CommandId c-hz018qp243j**** 命令ID。
    Timed false 命令是否为周期执行。

    如果需要设置周期执行,Timed设置为true,且Frequency参数指定运行周期,例如0 */20 * * * *,表示每20分钟执行一次命令。 更多信息,请参见Cron表达式

    更多信息,请参见InvokeCommand