クラウドアシスタントは、Elastic Compute Service (ECS) 向けに開発されたネイティブの自動 O&M ツールです。 クラウドアシスタントを使用すると、シェル、PowerShell、バッチコマンドなどのコマンドをバッチ実行して、インスタンスにログインしたり、ジャンプサーバーを使用したりすることなく、パスワードなしで ECS インスタンス上でさまざまなタスクを実行できます。 クラウドアシスタントを使用すると、自動 O&M タスクの実行、プロセスのポーリング、ソフトウェアのインストールまたはアンインストール、サービスの開始または停止、パッチまたはセキュリティ更新プログラムのインストールを実行できます。
メリット
バッチ操作のサポート
クラウドアシスタントクライアント がインストールされている複数の ECS インスタンスで、コマンドを同時に実行できます。 1 つの ECS インスタンスでのコマンドの実行ステータスと結果は、他の ECS インスタンスには影響しません。
ファイルのアップロードのサポート
構成ファイルやスクリプトなどのファイルを、オンプレミスから ECS インスタンスにアップロードできます。
共通コマンド
共通コマンドには、スクリプトまたは実行可能ファイル形式のクラウドアシスタントプラグインと、サーバーの構成、ヘルスチェックまたはセキュリティチェックの実行、アプリケーションまたはシステムパッチのインストール、ファイルの処理、システム構成の更新、サービスまたはアプリケーションの管理に使用される特定の複雑なスクリプトが含まれます。 共通コマンドを実行して複雑な構成を簡単かつ迅速に完了できるため、O&M の効率が大幅に向上します。
使いやすさ
コマンドでカスタムパラメータまたは組み込みパラメータを構成して、さまざまなシナリオに適応させることができます。
セキュリティと制御性
クラウドアシスタントは、単独で操作を開始することはありません。 クラウドアシスタントのすべての操作を完全に制御できます。
シナリオ
クラウドアシスタントは、ECS インスタンスでのデプロイメントタスクと O&M タスクの実行に役立ちます。 次のリストは、タスクの例です。
自動 O&M スクリプトのアップロードと実行
インスタンスに既にアップロードされているスクリプトの実行
ソフトウェアライフサイクルの管理
コードまたはアプリケーションのデプロイ
プロセスのポーリング
パッチまたはセキュリティ更新プログラムのインストール
Object Storage Service (OSS) または Yellowdog Updater Modified (YUM) リポジトリからの更新の取得
ホスト名またはユーザーログインパスワードの変更
制限
クラウドアシスタントを使用する ECS インスタンスは、[実行中] (
Running
) 状態である必要があり、インスタンスに クラウドアシスタントクライアント がインストールされている必要があります。カスタムパラメータを持つバッチ、PowerShell、またはシェルスクリプトで構成されるファイルまたはコマンドの場合、Base64 エンコーディング後、次のサイズ制限が適用されます。
即時実行機能を使用せずに作成されたコマンドは、Base64 エンコーディング後のサイズは 18 KB を超えることはできません。
即時実行機能を使用してコマンドを作成し、同時に実行して保存する場合、Base64 エンコーディング後のコマンドのサイズは 18 KB を超えることはできません。
即時実行機能を使用してコマンドを作成し、同時に実行しても保存しない場合、Base64 エンコーディング後のコマンドのサイズは 24 KB を超えることはできません。
アップロードするファイルは、Base64 エンコーディング後のサイズは 32 KB を超えることはできません。
各コマンドには、最大 20 個のカスタムパラメータを含めることができます。
クラウドアシスタントコマンドは、次のオペレーティングシステムバージョンを使用するインスタンスでのみ実行できます。
Alibaba Cloud Linux
CentOS 6、CentOS 7、CentOS 8 以降
CoreOS
Debian 8、Debian 9、Debian 10 以降
openSUSE
Red Hat 5、Red Hat 6、Red Hat 7 以降
説明Red Hat インスタンスの場合、Red Hat Package Manager (RPM) パッケージをダウンロードして クラウドアシスタントクライアント をインストールする必要があります。 詳細については、「クラウドアシスタントクライアントをインストールする」をご参照ください。
SUSE Linux Enterprise Server (SLES) 11、SLES 12、SLES 15 以降
Ubuntu 12、Ubuntu 14、Ubuntu 16、Ubuntu 18 以降
FreeBSD 11、FreeBSD 12、FreeBSD 13、FreeBSD 14 以降
Windows Server 2012、Windows Server 2016、Windows Server 2019 以降
説明デフォルトでは、クラウドアシスタントクライアント は、パブリックイメージから作成された ECS インスタンスにプリインストールされています。
カスタムイメージまたは Alibaba Cloud Marketplace のイメージから作成された ECS インスタンスの場合、クラウドアシスタントクライアント をインストールする前に、オペレーティングシステムがクラウドアシスタントをサポートしているかどうかを確認する必要があります。 詳細については、「クラウドアシスタントクライアントをインストールする」をご参照ください。
サポートされている機能とバージョン
次の表は、クラウドアシスタントでサポートされている機能と、各機能でサポートされている クラウドアシスタントクライアント の最も古いバージョンを示しています。
クラウドアシスタントでサポートされている機能 | Linux インスタンスでサポートされている最も古い クラウドアシスタントクライアント のバージョン | Windows インスタンスでサポートされている最も古い クラウドアシスタントクライアント のバージョン |
クラウドアシスタントハートビートのレポート | 1.0.2.458 | 1.0.0.149 |
ファイルの送信 | 1.0.2.569 | 1.0.0.149 |
コマンドの実行に使用するユーザー名の指定 | 2.2.0.106 | 2.1.0.50 |
次回のインスタンス起動時に実行されるコマンドの構成 | 2.2.0.46 | 2.1.0.50 |
2.1.0.50 | ||
Session Manager | 2.2.3.196 | 2.1.3.196 |
スケジュールされたタスクの実行計画でのレート式または at 式の使用 | 2.2.3.282 | 2.1.3.282 |
スケジュールされたタスクの実行計画での、<Year> フィールドまたは <Time zone> フィールドを含む Cron 式の指定 | 2.2.3.282 | 2.1.3.282 |
組み込み環境パラメータの指定 | 2.2.3.309 | 2.1.3.309 |
インスタンス名を組み込み環境パラメータとして使用 | 2.2.3.344 | 2.1.3.344 |
特定の終了コードを使用してインスタンスを停止または再起動 | 2.2.3.317 | 2.1.3.317 |
コマンドを実行するコンテナの名前の指定 | 2.2.3.344 | 2.1.3.344 |
コマンドを実行するコンテナの ID の指定 | 2.2.3.344 | 2.1.3.344 |
課金
クラウドアシスタントは無料で提供されます。
ただし、クラウドアシスタントを使用して Alibaba Cloud リソースをデプロイ、運用、または保守する場合、料金が発生することがあります。 ECS リソースの課金については、「課金の概要」をご参照ください。
リソース
Cloud Assistant クライアント は、Cloud Assistant クライアントがインストールされているホストのリソースを使用します。次の表は、ホストのリソースについて説明しています。
ホストリソース | Linux オペレーティングシステム | Windows オペレーティングシステム |
平均 CPU 使用率は 1% 未満です。 | 平均 CPU 使用率は 1% 未満です。 | |
物理メモリ | 約 20 MB の物理メモリが使用されます。 | 約 30 MB の物理メモリが使用されます。 |
クラウドアシスタントクライアント が想定どおりに実行されている場合、アップグレードパッケージがダウンロードされるシナリオやコマンドスクリプトが保存されるシナリオなど、特定のシナリオでのみディスク I/O 操作を活用します。 | クラウドアシスタントクライアント が想定どおりに実行されている場合、アップグレードパッケージがダウンロードされるシナリオやコマンドスクリプトが保存されるシナリオなど、特定のシナリオでのみディスク I/O 操作を活用します。 | |
クラウドアシスタントクライアント が想定どおりに実行されている場合、ハートビートデータなどのデータがレポートされるシナリオでのみ、少数のネットワーク I/O 操作を活用します。 | クラウドアシスタントクライアント が想定どおりに実行されている場合、ハートビートデータなどのデータがレポートされるシナリオでのみ、少数のネットワーク I/O 操作を活用します。 |
用語
次の表は、クラウドアシスタントの関連用語について説明しています。
用語 | 説明 |
クラウドアシスタント | Alibaba Cloud によって提供されるツールで、複数の ECS インスタンスと ECS ベアメタルインスタンスで日常のメンテナンスタスクを実行するのに役立ちます。 クラウドアシスタントは、すべての Alibaba Cloud リージョンで使用できます。 |
クラウドアシスタントクライアント | クラウドアシスタントコマンドを実行するために ECS インスタンスにインストールできる軽量プラグインです。
|
クラウドアシスタントデーモンプロセス | クラウドアシスタントクライアント のリソース消費量を監視し、クラウドアシスタントクライアント のステータスをレポートし、クラウドアシスタントクライアント が失敗したときに クラウドアシスタントクライアント を再起動するために使用されるデーモンプロセスです。
説明 クラウドアシスタントデーモンプロセスは、Linux インスタンスでのみ使用できます。 |
タスク実行パス | クラウドアシスタントが ECS インスタンス上のファイルとしてコマンドを保存し、ファイルを実行するパスです。 パスはオペレーティングシステムによって異なります。
|
コマンド | ECS インスタンスで実行できる特定のコマンド。 例: シェルスクリプトまたは PowerShell スクリプトで構成されるコマンド。 |
カスタムパラメータ | {{key}} 形式でコマンドに指定する変数。 コマンドを実行するタスクを作成するときに、{{"<key>":"<value>"}} 形式でカスタムパラメータとその値を指定できます。 各 Alibaba Cloud リージョンには、限られた数のクラウドアシスタントコマンドを保持できます。 クラウドアシスタントコマンドを複数のシナリオに適応させるには、カスタムパラメータを構成することをお勧めします。 また、コマンドで組み込み環境パラメータをカスタムパラメータとして指定することもできます。 その後、コマンドを実行すると、クラウドアシスタントによってカスタムパラメータが自動的に指定されます。 |
一回実行 | ワンタイムタスクの実行 ( |
スケジュール実行 | スケジュールされたタスクの実行。 スケジュールされたタスクは、スケジュールに基づいて 1 つ以上の ECS インスタンスでコマンドを実行します。 |
実行ステータス
単一の ECS インスタンスで実行されるコマンドの実行ステータス
次の表は、単一の ECS インスタンスで実行されるコマンドのインスタンスレベルの実行ステータスを示しています。 DescribeInvocations 操作によって提供される InvokeInstance
配列の InvocationStatus
レスポンスパラメータと、DescribeInvocations呼び出し状態
DescribeInvocationResults 操作によって提供される レスポンスパラメータは、どちらもコマンドの実行ステータスを示します。
API レスポンスのステータス | 説明 | 詳細 |
| コマンドを送信中です。 | コマンドの検証または送信中です。 |
| 無効なコマンドです。 | 指定されたコマンドタイプまたはパラメータが無効です。 |
| コマンドを送信できませんでした。 | コマンドを送信できませんでした。 ECS インスタンスにコマンドを送信するには、インスタンスが [実行中] 状態であり、コマンドが 1 分以内にインスタンスに送信されることを確認してください。 |
| コマンドを実行中です。 | コマンドを実行中です。 |
| コマンドを実行しました。 |
|
| コマンドが実行され、ゼロ以外の終了コードが返されました。 |
|
| コマンドの実行中にエラーが発生しました。 | 例外が発生したため、実行を続行できません。 |
| タイムアウトが発生しました。 | 実行がタイムアウトしました。 |
| タスクはキャンセルされました。 | タスクはキャンセルされ、コマンドは実行されません。 |
| タスクを停止中です。 | コマンドを停止中です。 |
| タスクは停止されました。 | コマンドは停止されました。 |
| タスクは終了しました。 | コマンドは終了しました。 |
| コマンドは実行待ちです。 | スケジュールで実行するように設定されたコマンド: コマンドは実行待ちです。 |
バッチ実行とスケジュール実行のステータス
バッチ実行とは、複数の ECS インスタンスでコマンドを同時に実行する一回実行です。 バッチ実行またはスケジュール実行をより適切に管理するために、全体の実行ステータス、インスタンスレベルの実行ステータス、および実行レベルのステータスに基づいて、実行のライフサイクルを管理できます。 DescribeInvocations 操作によって提供される Invocation
パラメータ配列の InvocationStatus
パラメータは、コマンドの実行ステータスを示します。 次の図は、3 種類の実行ステータスの関係を示しています。
次の表は、複数の ECS インスタンスで同時に実行されるコマンドの全体の実行ステータスを示しています。
API レスポンスのステータス | 説明 | 詳細 |
| コマンドの検証または送信中です。 | 少なくとも 1 つの ECS インスタンスで実行状態が |
| スケジュールで実行するように設定されたコマンドが送信され、実行待ちです。 | 少なくとも 1 つの ECS インスタンスで実行状態が |
| コマンドを実行中です。 | 少なくとも 1 つの ECS インスタンスで実行状態が |
| コマンドを実行しました。 | 少なくとも 1 つの ECS インスタンスで実行状態が
|
| コマンドを実行できませんでした。 | すべての ECS インスタンスで実行状態が
|
| タスクを停止中です。 | 少なくとも 1 つの ECS インスタンスで実行状態が |
| タスクは停止されました。 | すべての ECS インスタンスで実行状態が
|
| タスクは一部の ECS インスタンスで成功し、他の ECS インスタンスで失敗しました。 | 一部の ECS インスタンスで実行状態が |
RAM ユーザーにクラウドアシスタントを使用する権限を付与する
Alibaba Cloud アカウントは、アカウント内のすべてのリソースに対する完全な権限を持っています。 Alibaba Cloud アカウントとクラウドリソースのセキュリティを確保するために、必要な場合を除き、Alibaba Cloud アカウントを使用して操作を実行しないでください。 操作を実行するには、Alibaba Cloud アカウントではなく Resource Access Management (RAM) ユーザーを使用することをお勧めします。 クラウドアシスタントを使用するには、RAM ユーザーに必要な権限を付与します。 RAM ユーザーにクラウドアシスタントを使用する権限を付与する方法については、「RAM ユーザーにクラウドアシスタントを使用する権限を付与する」をご参照ください。
クラウドアシスタントを使用する
クラウドアシスタントは、ECS コンソールで、または API 操作を呼び出すことによって使用できます。
シナリオ | 参照 | API 操作 |
デフォルトでは、2017 年 12 月 1 日以降にパブリックイメージから作成された ECS インスタンスには、Cloud Assistant Agent がプリインストールされています。 ECS インスタンスに Cloud Assistant Agent がプリインストールされていない場合は、Cloud Assistant Agent を手動でインストールする必要があります。 | 詳細については、「クラウドアシスタントクライアントをインストールする」をご参照ください。 | |
アプリケーションを使用して API 操作を呼び出します。 | 詳細については、「SDK を使用してコマンドを実行する」をご参照ください。 | 該当なし |
クラウドアシスタントコマンドを作成します。 | 詳細については、「コマンドを作成する」をご参照ください。 | |
作成したコマンドを ECS インスタンスで実行します。 | 詳細については、「コマンドを実行する」をご参照ください。 | |
コマンドの実行ステータスと結果を表示します。 実行結果は、指定された ECS インスタンスで生成された実際の出力を示します。 | 詳細については、「実行結果を確認し、一般的な問題のトラブルシューティングを行う」をご参照ください。 | |
作成したコマンドを変更します。 コマンドの名前と説明を変更できます。 | 詳細については、「コマンドを管理する」をご参照ください。 | 該当なし |
クラウドアシスタントコマンドの新しいバージョンを作成するか、名前、説明、タイプ、コンテンツ、実行パス、タイムアウト期間など、コマンドの属性を変更します。 | 詳細については、「コマンドを複製する」をご参照ください。 | 該当なし |
実行中のコマンドを停止します。 | 詳細については、「コマンドを停止する」をご参照ください。 | |
不要になったクラウドアシスタントコマンドを削除して、新しいコマンドのクォータを解放します。 | 詳細については、「コマンドを削除する」をご参照ください。 |