雲助手可以自動地批量地執行日常維護命令,完成運行自動化營運指令碼、輪詢進程、安裝或者卸載軟體、更新應用以及安裝補丁等一些日常任務。您可以使用雲助手安全便捷地管理您的ECS執行個體。
應用情境
雲助手可幫您完成部署與營運任務,包括但不限於:
- 運行自動化營運指令碼
- 運行執行個體上已有的指令碼
- 軟體生命週期管理
- 部署代碼或者應用
- 輪詢進程
- 安裝補丁
- 從OSS或者yum源擷取更新
- 修改主機名稱或登入密碼
計費方式
雲助手是免費功能,不收取任何費用。但是雲助手是ECS執行個體的便捷部署與營運工具,使用ECS執行個體會產生計費,更多詳情,請參見計費概述。
功能詳情
通過在執行個體中安裝雲助手用戶端,您可以在ECS管理主控台上或者調用API對運行中(Running
)的一台以及多台執行個體調用bat或PowerShell(Windows執行個體)指令碼或者Shell指令碼(Linux執行個體)。多台執行個體間互相不影響。您也可以設定命令調用周期,使執行個體維持在某種狀態、擷取執行個體監控以及日誌資訊或者守護進程等。雲助手不會主動發起任何操作,所有的操作都在您的可控範圍內。
下表羅列了您需要瞭解的雲助手的常用名詞及其具體描述。
常見名詞 | 說明 |
---|---|
雲助手 | 雲助手官方名稱,可以幫您在ECS執行個體以及ECS Bare Metal Instance(神龍)執行個體上自動以及批量執行日常維護任務。所有阿里雲地區均支援雲助手服務。 |
雲助手用戶端 | 安裝在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作業系統中運行雲助手命令。
命令啟動並執行生命週期
在一台執行個體上運行一條命令,命令會有以下狀態資訊:
命令狀態 | API狀態 | 狀態原因 |
---|---|---|
調用中 | Running |
命令正在被調用。 |
停止 | Stopped |
您在命令調用過程中自行停止了命令。 |
調用完成 | Finished |
命令順利調用完成,調用完成並不代表調用成功,您需要根據命令進程的實際輸出資訊(Output )查看是否成功調用。
|
調用失敗 | Failed |
命令進程過了逾時時間(Timeout )後,因為各種原因未調用完成。
|
為便於管理批量調用或者周期調用,建議您從總執行狀態、執行個體層級執行狀態以及執行記錄層級的狀態概念出發管理命令啟動並執行生命週期。狀態各層級之間的內含項目關聯性如下圖所示:
狀態 | 命令運行 | 狀態顯示 |
---|---|---|
總執行狀態 | 所有執行個體層級執行狀態均為執行完成(Finished )時
|
執行完成 |
部分執行個體層級執行狀態為執行完成( 並且部分執行個體層級執行狀態為停止( |
||
所有執行個體層級執行狀態均為執行失敗(Failed )時
|
執行失敗 | |
所有執行個體層級執行狀態均為停止(Stopped )時
|
停止 | |
所有執行個體層級執行狀態均為執行中(Running )或者部分執行個體層級執行狀態為執行中 (Running )時
|
執行中 | |
部分執行個體層級執行狀態為執行失敗(Failed )時
|
部分失敗 | |
執行個體層級執行狀態 | 單次批量執行命令為一次性操作,所以執行個體層級執行狀態與執行記錄層級的狀態相同。 | |
執行記錄層級的狀態 | 參見表格一條命令在一台執行個體上被調用的狀態 |
以三台ECS執行個體為例,下圖為多台執行個體同時做單次批量調用命令時,總執行狀態與執行個體層級執行狀態的關係。
狀態 | 狀態原因 |
---|---|
總執行狀態 | 除使用者自行停止所有執行個體的執行之外,總執行狀態一直維持為執行中(Running )
|
執行個體層級執行狀態 | 除使用者自行停止之外,執行個體層級執行狀態一直維持為執行中(Running )
|
執行記錄層級的狀態 | 參見表格一條命令在一台執行個體上被調用的狀態 |
相關連結
您需要在ECS執行個體中安裝雲助手用戶端後才能使用雲助手。
雲助手實踐請參見雲助手自動化部署執行個體實踐。
API操作:
- CreateCommand:建立命令
- InvokeCommand:對目標ECS執行個體調用已建立的命令
- DescribeInvocations:查看命令的調用狀態
- DescribeInvocationResults:查看命令的調用結果,即在指定ECS執行個體中的實際輸出資訊(
Output
) - StopInvocation:停止進行中的命令進程
- DescribeCommands:查詢您已經建立的命令
- DeleteCommand:刪除已建立的命令