云助手可以自动地批量地执行日常维护命令,完成运行自动化运维脚本、轮询进程、安装或者卸载软件、更新应用以及安装补丁等一些日常任务。您可以使用云助手安全便捷地管理您的ECS实例。

应用场景

云助手可帮您完成部署与运维任务,包括但不限于:

  • 运行自动化运维脚本
  • 运行实例上已有的脚本
  • 软件生命周期管理
  • 部署代码或者应用
  • 轮询进程
  • 安装补丁
  • 从OSS或者yum源获取更新
  • 修改主机名或登录密码

计费方式

云助手是免费功能,不收取任何费用。但是云助手是ECS实例的便捷部署与运维工具,使用ECS实例会产生计费,更多详情,请参见计费概述

功能详情

通过在实例中安装云助手客户端,您可以在ECS管理控制台上或者调用API对运行中(Running)的一台以及多台实例调用bat或PowerShell(Windows实例)脚本或者Shell脚本(Linux实例)。多台实例间互相不影响。您也可以设置命令调用周期,使实例维持在某种状态、获取实例监控以及日志信息或者守护进程等。云助手不会主动发起任何操作,所有的操作都在您的可控范围内。

下表罗列了您需要了解的云助手的常用名词及其具体描述。

表 1. 云助手常用名词列表
常见名词 说明
云助手 云助手官方名称,可以帮您在ECS实例以及弹性裸金属服务器(神龙)实例上自动以及批量执行日常维护任务。所有阿里云地域均支持云助手服务。
云助手客户端 安装在ECS实例中的轻量级插件,Windows操作系统中任务进程名称为AliyunService,Linux操作系统中任务进程名称为aliyun.service。所有在实例中完成的命令都会通过客户端完成。
命令 需要在实例中调用的具体命令操作,如一份Shell脚本或者PowerShell脚本。
自定义参数 您在命令中设置的变量值,以{{key}}的形式表示,可以在调用命令时以{{"key":"value"}}的形式设置自定义参数的值。由于您在一个地域下能保有的云助手命令有配额限制,建议您通过设置自定义参数提高命令的灵活性以及多场景适用性。
单次调用 在一台或者多台实例中调用某个命令,即为一次调用(Invocation)。
周期调用 在一台或者多台实例中调用某个命令时,您可以指定调用时序/周期,周期性地调用命令进程。
调用状态 命令调用状态之间的关系。更多详情,请参见命令运行的生命周期

使用限制

  • 您需要以管理员的身份安装和使用云助手,其中Linux实例的管理员为root,Windows实例的管理员为administrator。
  • 在一个阿里云地域下,您最多能保有100条云助手命令。
  • 在一个阿里云地域下,您每天最多能运行5000次云助手命令。
  • 对于周期性云助手命令,Timed设定间隔不能小于10秒。
  • 运行命令时,创建的bat、PowerShell或者Shell脚本加上自定义参数在Base64编码后,综合大小不能超过16 KB。
  • 一条命令中,自定义参数的个数不能超过20个。
  • 目标ECS实例的状态必须处于运行中Running)。
  • 您只能在Windows Server 2008/2012/2016、Ubuntu 12/14/16、CentOS 5/6/7、Debian 7/8/9、RedHat 5/6/7、SUSE Linux Enterprise Server 11/12、OpenSUSE、Aliyun Linux和CoreOS操作系统中运行云助手命令。

命令运行的生命周期

在一台实例上运行一条命令,命令会有以下状态信息:

表 2. 一条命令在一台实例上被调用的状态
命令状态 API状态 状态描述
调用中 Running 命令正在被调用。
停止 Stopped 您在命令调用过程中自行停止了命令。
调用完成 Finished 命令顺利调用完成,调用完成并不代表调用成功,您需要根据命令进程的实际输出信息(Output)查看是否成功调用。
调用失败 Failed 命令进程过了超时时间(Timeout)后,因为各种原因未调用完成。

为便于管理批量调用或者周期调用,建议您从总执行状态实例级别执行状态以及执行记录级别的状态概念出发管理命令运行的生命周期。状态各级别之间的包含关系如下图所示:

图 1. 状态管理的包含关系示意图


表 3. 单次批量调用命令的生命周期
状态 命令运行 状态显示
总执行状态 所有实例级别执行状态均为执行完成Finished)时 执行完成

部分实例级别执行状态为执行完成Finished

并且部分实例级别执行状态为停止Stopped)时

所有实例级别执行状态均为执行失败Failed)时 执行失败
所有实例级别执行状态均为停止Stopped)时 停止
所有实例级别执行状态均为执行中Running)或者部分实例级别执行状态为执行中Running)时 执行中
部分实例级别执行状态为执行失败Failed)时 部分失败
实例级别执行状态 单次批量执行命令为一次性操作,所以实例级别执行状态与执行记录级别的状态相同。
执行记录级别的状态 参见表格一条命令在一台实例上被调用的状态

以三台ECS实例为例,下图为多台实例同时做单次批量调用命令时,总执行状态与实例级别执行状态的关系。

图 2. 单次批量调用命令的生命周期示意图


表 4. 周期命令调用的生命周期
状态 状态描述
总执行状态 除用户自行停止所有实例的执行之外,总执行状态一直维持为执行中Running
实例级别执行状态 除用户自行停止之外,实例级别执行状态一直维持为执行中Running
执行记录级别的状态 参见表格一条命令在一台实例上被调用的状态

相关链接

您需要在ECS实例中安装云助手客户端后才能使用云助手。

云助手实践请参见云助手自动化部署实例实践

API操作: