Cloud Assistantは、Elastic Compute Service (ECS) 用に開発されたネイティブの自動O&Mツールです。 これにより、シェル、PowerShell、バッチコマンドなどのコマンドを、インスタンスにログインしたり、ジャンプサーバーを使用したりすることなく、パスワードなしでインスタンス上でバッチ実行できます。 Cloud Assistantを使用して、自動化されたO&Mタスクの実行、ポーリングプロセス、ソフトウェアのインストールとアンインストール、サービスの開始と停止、パッチやセキュリティアップデートのインストールを行うことができます。
メリット
Cloud Assistant Agentがインスタンスにインストールされており、インスタンスが [実行中] ([実行中]
) 状態の場合、Cloud Assistantを使用して、ECSコンソールを使用するか、API操作を呼び出して、インスタンスの操作を実行できます。 Cloud Assistantには次の利点があります。
バッチ操作のサポート
Cloud Assistant Agentがインストールされている複数のインスタンスで同時にコマンドを実行できます。 1つのインスタンスでのコマンドの実行状態および実行結果は、他のインスタンスに影響を与えません。
ファイルのアップロードのサポート
設定ファイルやスクリプトなどのファイルをオンプレミスからECSインスタンスにアップロードできます。
よく使うコマンド
一般的なコマンドには、スクリプトまたは実行可能ファイルの形式のCloud Assistantプラグインと、サーバーの構成、ヘルスチェックまたはセキュリティチェックの実行、アプリケーションまたはシステムパッチのインストール、ファイルの処理、システム構成の更新、サービスまたはアプリケーションの管理に使用される特定の複雑なスクリプトが含まれます。 一般的なコマンドを実行して複雑な設定を簡単かつ迅速に行うことができ、O&Mの効率が大幅に向上します。
使いやすさ
コマンドでカスタムパラメーターまたは組み込みパラメーターを設定して、さまざまなシナリオに適応できます。
セキュリティと制御性
Cloud Assistantは、それ自体で操作を開始することはありません。 すべてのCloud Assistant操作を完全に制御できます。
シナリオ
Cloud Assistantは、インスタンスのデプロイとO&Mタスクを実行するのに役立ちます。 次のリストに、タスクの例をいくつか示します。
自動O&Mスクリプトのアップロードと実行
インスタンスにすでにアップロードされているスクリプトの実行
ソフトウェアライフサイクルの管理
コードまたはアプリケーションの配置
投票プロセス
パッチまたはセキュリティ更新プログラムのインストール
Object Storage Service (OSS) またはYUMリポジトリから更新を取得する
ホスト名またはユーザーログインパスワードの変更
課金
Cloud Assistantは無料で提供されます。
ただし、Alibaba Cloudリソースのデプロイ、運用、または保守のためにCloud Assistantを使用すると、課金される場合があります。 ECSリソースの課金については、「課金の概要」をご参照ください。
制限事項
PythonまたはPerlスクリプトは、ECSコンソールを使用してのみ実行できます。
説明コマンドを実行するインスタンスに有効な環境があることを確認します。 たとえば、インスタンスでPythonコマンドを実行する場合は、インスタンスにPython環境がインストールされていることを確認します。
カスタムパラメーターを持つバッチ、PowerShell、またはシェルスクリプトで構成されるファイルまたはコマンドの場合、Base64エンコード後に次のサイズ制限が適用されます。
即時実行機能を使用しないでコマンドを作成した場合, Base64エンコード後のコマンドのサイズは18 KBを超えることはできません。
即时実行机能を使用してコマンドを作成し, 同时に実行して保存した场合, Base64エンコード后のコマンドサイズは18 KBを超えることはできません。
即时実行机能を使用してコマンドを作成して同时に実行しても保存していない场合, Base64エンコード后のコマンドサイズは24 KBを超えることはできません。
アップロードするファイルのサイズは、Base64エンコード後に32 KBを超えることはできません。
各コマンドには、最大20個のカスタムパラメータを含めることができます。
Cloud Assistantコマンドは、次のオペレーティングシステムバージョンを使用するインスタンスでのみ実行できます。
Alibaba Cloud Linux
CentOS 6、CentOS 7、およびCentOS 8以降
CoreOS
Debian 8、Debian 9、およびDebian 10以降
OpenSUSE
ロッキーLinux
RedHat 5、RedHat 6、およびRedHat 7以降
Red Hatインスタンスの場合、RPMパッケージをダウンロードしてCloud Assistant Agentをインストールする必要があります。 詳細については、「Cloud Assistant Agentのインストール」をご参照ください。
SUSE Linux Enterprise Server (SLES) 11、SLES 12、およびSLES 15以降
Ubuntu 12、Ubuntu 14、Ubuntu 16、およびUbuntu 18以降
Windows Server 2012、Windows Server 2016、およびWindows Server 2019以降
Cloud Assistantの制限とクォータの詳細については、「制限」の「Cloud Assistantの制限」セクションをご参照ください。
Resources
Cloud Assistant Agentは、Cloud Assistant Agentがインストールされているホストのリソースを使用します。 ホストリソースを次の表に示します。
ホストリソース | Linuxオペレーティングシステム | Windowsオペレーティングシステム |
CPU | 平均CPU使用率は1% 未満です。 | |
物理メモリ | 約17 MBの物理メモリが使用されます。 | 約10 MBの物理メモリが使用されます。 |
ディスクI/O | Cloud Assistant Agentが期待どおりに動作している場合、アップグレードパッケージがダウンロードされ、コマンドスクリプトが保存されるシナリオなど、特定のシナリオでのみディスクI/O操作を利用します。 | |
ネットワークI/O | Cloud Assistant Agentが期待どおりに動作している場合、ハートビートデータなどのデータが報告されるシナリオでのみ、いくつかのネットワークI/O操作を利用します。 |
用語
次の表に、Cloud Assistantの関連用語を示します。
期間 | 説明 |
クラウドアシスタント | Alibaba Cloudが提供するツールで、複数のECSインスタンスとECSベアメタルインスタンスで定期的なメンテナンスタスクを実行できます。 Cloud Assistantは、すべてのAlibaba Cloudリージョンで利用できます。 |
Cloud Assistantエージェント | ECSインスタンスにインストールしてCloud Assistantコマンドを実行できる軽量プラグイン。
|
Cloud Assistantデーモンプロセス | Cloud Assistant Agentのリソース消費を監視し、Cloud Assistant Agentのステータスを報告し、Cloud Assistant Agentが失敗したときにCloud Assistant Agentを再起動するために使用されるデーモンプロセス。
説明 Cloud Assistantデーモンプロセスは、Linuxインスタンスでのみ使用できます。 |
タスク実行パス | Cloud Assistantがコマンドをインスタンス上のファイルとして保存し、そのファイルを実行するパス。 パスはオペレーティングシステムによって異なります。
|
コマンド | インスタンスで実行できる特定のコマンド。 例: シェルまたはPowerShellスクリプトで構成されるコマンド。 |
カスタムパラメーター | コマンドで {{key}} 形式で設定されている変数。 コマンドを実行するタスクを作成するときに、カスタムパラメーターとその値を {{"<key>":"<value>"}}} 形式で指定できます。 各Alibaba Cloudリージョンでは、限られた数のCloud Assistantコマンドを保持できます。 Cloud Assistantコマンドを複数のシナリオに適応させるには、カスタムパラメーターを設定することを推奨します。 コマンドでは、組み込みの環境パラメーターをカスタムパラメーターとして指定することもできます。 その後、コマンドを実行すると、Cloud Assistantによってカスタムパラメーターを自動的に指定できます。 |
ワンタイム実行 | 1回限りのタスクの実行 ( |
スケジュールされた実行 | スケジュールされたタスクの実行。 スケジュールされたタスクは、スケジュールに基づいて1つ以上のインスタンスでコマンドを実行します。 |
実行状態
単一インスタンスで実行されるコマンドの実行状態
1つのインスタンスで実行されるコマンドのインスタンスレベルの実行状態を次の表に示します。 DescribeInvocations操作によって提供されるInvokeInstance
配列のInvocationStatus
応答パラメーターと、DescribeInvocationResults操作によって提供されるInvocationStatus
応答パラメーターは、どちらもコマンドの実行状態を示します。
State in API responses | 説明 | 詳細 |
| コマンドは送信中です。 | コマンドが検証または送信中です。 |
| 無効なコマンドです。 | 指定されたコマンドタイプまたはパラメーターが無効です。 |
| コマンドの送信に失敗しました。 | コマンドの送信に失敗しました。 インスタンスにコマンドを送信するには、インスタンスが [実行中] 状態で、コマンドが1分以内にインスタンスに送信されることを確認します。 |
| コマンドが実行中です。 | コマンドが実行中です。 |
| コマンドが実行されます。 |
|
| コマンドが実行され、ゼロ以外の終了コードが返されます。 |
|
| コマンドの実行中にエラーが発生しました。 | 例外により実行を続行できません。 |
| タイムアウトが発生しました。 | 実行がタイムアウトしました。 |
| タスクがキャンセルされました。 | タスクがキャンセルされ、コマンドは実行されません。 |
| タスクが停止中です。 | コマンドを停止中です。 |
| タスクが停止しました。 | コマンドが停止しました。 |
| タスクが終了しました。 | コマンドを終了しました。 |
| コマンドは実行待ちです。 | スケジュールに従って実行するように設定されているコマンド: コマンドの実行を待機しています。 |
バッチ実行とスケジュールされた実行の状態
バッチ実行は、コマンドが複数のインスタンスで同時に実行される1回限りの実行です。 バッチ実行またはスケジュールされた実行をより適切に管理するために、全体的な実行状態、インスタンスレベルの実行状態、および実行レベルの状態に基づいて実行のライフサイクルを管理できます。 DescribeInvocations操作によって提供されるInvocationStatus
パラメーター配列のInvocationStatus
パラメーターは、コマンドの実行ステータスを示します。 3種類の実行状態の関係を次の図に示します。
複数のインスタンスで同時に実行されるコマンドの全体的な実行状態を次の表に示します。
State in API responses | 説明 | 詳細 |
| コマンドが検証または送信中です。 | 少なくとも1つのインスタンスで実行状態が |
| スケジュールで実行するように設定されたコマンドが送信され、実行が保留されます。 | 少なくとも1つのインスタンスで実行状態が |
| コマンドが実行中です。 | 少なくとも1つのインスタンスで実行状態が |
| コマンドが実行されます。 | 実行状態が少なくとも1つのインスタンスで
|
| コマンドの実行に失敗しました。 | すべてのインスタンスで実行状態が
|
| タスクが停止中です。 | 少なくとも1つのインスタンスで実行状態が |
| タスクが停止しました。 | すべてのインスタンスで実行状態が
|
| 一部のインスタンスではタスクが成功し、他のインスタンスではタスクが失敗します。 | 一部のインスタンスでは実行状態が |
クラウドアシスタントの使用
ECSコンソールを使用するか、API操作を呼び出すことで、Cloud Assistantを使用できます。
シナリオ | 参考資料 | API操作 |
インスタンスでCloud Assistantを使用するには、ECSインスタンスにCloud Assistant Agentをインストールする必要があります。 デフォルトでは、12月1日2017以降にパブリックイメージから作成されたECSインスタンスには、Cloud Assistant Agentがプリインストールされています。 一部のECSインスタンスでは、Cloud Assistant Agentを手動でインストールする必要があります。 | ||
OpenAPI Explorerの使用に精通しており、Cloud Assistantを使用するのはこれが初めてです。 | N/A | |
Cloud Assistantコマンドを作成します。 | ||
作成したコマンドをECSインスタンスで実行します。 | ||
コマンドの実行状態と結果を表示します。 実行結果は、指定されたインスタンスで生成された実際の出力です。 | ||
作成したコマンドを変更します。 コマンドの名前と説明を変更できます。 | N/A | |
Cloud Assistantコマンドの新しいバージョンを作成するか、名前、説明、タイプ、コンテンツ、実行パス、タイムアウト期間などのコマンドの属性を変更します。 | N/A | |
実行中のコマンドを停止します。 | コマンドの停止 | |
新しいコマンドのクォータを解放するために不要になったCloud Assistantコマンドを削除します。 |