すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:概要

最終更新日:Aug 28, 2024

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コマンドを実行できる軽量プラグイン。

  • Windowsインスタンスでは、Cloud Assistant AgentのプロセスはAliyunServiceです。

  • Linuxインスタンスでは、Cloud Assistant Agentのプロセスはaliyun.serviceです。

Cloud Assistantデーモンプロセス

Cloud Assistant Agentのリソース消費を監視し、Cloud Assistant Agentのステータスを報告し、Cloud Assistant Agentが失敗したときにCloud Assistant Agentを再起動するために使用されるデーモンプロセス。

  • サービス名: AssistDaemon

  • パス: /usr/local/share/assist-daemon/assist_daemon

説明

Cloud Assistantデーモンプロセスは、Linuxインスタンスでのみ使用できます。

タスク実行パス

Cloud Assistantがコマンドをインスタンス上のファイルとして保存し、そのファイルを実行するパス。 パスはオペレーティングシステムによって異なります。

  • Linux: /tmp

  • Windows: <Cloud Assistantのインストールパス>/work/script

コマンド

インスタンスで実行できる特定のコマンド。 例: シェルまたはPowerShellスクリプトで構成されるコマンド。

カスタムパラメーター

コマンドで {{key}} 形式で設定されている変数。 コマンドを実行するタスクを作成するときに、カスタムパラメーターとその値を {{"<key>":"<value>"}}} 形式で指定できます。 各Alibaba Cloudリージョンでは、限られた数のCloud Assistantコマンドを保持できます。 Cloud Assistantコマンドを複数のシナリオに適応させるには、カスタムパラメーターを設定することを推奨します。 コマンドでは、組み込みの環境パラメーターをカスタムパラメーターとして指定することもできます。 その後、コマンドを実行すると、Cloud Assistantによってカスタムパラメーターを自動的に指定できます。

ワンタイム実行

1回限りのタスクの実行 (呼び出し) 。 ワンタイムタスクは、1つ以上のインスタンスでコマンドを1回だけ実行します。

スケジュールされた実行

スケジュールされたタスクの実行。 スケジュールされたタスクは、スケジュールに基づいて1つ以上のインスタンスでコマンドを実行します。

実行状態

単一インスタンスで実行されるコマンドの実行状態

1つのインスタンスで実行されるコマンドのインスタンスレベルの実行状態を次の表に示します。 DescribeInvocations操作によって提供されるInvokeInstance配列のInvocationStatus応答パラメーターと、DescribeInvocationResults操作によって提供されるInvocationStatus応答パラメーターは、どちらもコマンドの実行状態を示します。

State in API responses

説明

詳細

保留中

コマンドは送信中です。

コマンドが検証または送信中です。

無効

無効なコマンドです。

指定されたコマンドタイプまたはパラメーターが無効です。

中止

コマンドの送信に失敗しました。

コマンドの送信に失敗しました。 インスタンスにコマンドを送信するには、インスタンスが [実行中] 状態で、コマンドが1分以内にインスタンスに送信されることを確認します。

実行中

コマンドが実行中です。

コマンドが実行中です。

成功

コマンドが実行されます。

  • 1回だけ実行するように設定されているコマンド: 実行が完了し、終了コードは0です。

  • スケジュールに従って実行するように設定されているコマンド: 前回の実行が完了し、終了コードが0で、指定された期間が終了します。

失敗しました

コマンドが実行され、ゼロ以外の終了コードが返されます。

  • 1回だけ実行するように設定されているコマンド: 実行が完了し、終了コードは0ではありません。

  • スケジュールに従って実行するように設定されているコマンド: 前回の実行が完了し、終了コードが0でなく、指定された期間が終了しそうです。

エラー

コマンドの実行中にエラーが発生しました。

例外により実行を続行できません。

タイムアウト

タイムアウトが発生しました。

実行がタイムアウトしました。

キャンセル済み

タスクがキャンセルされました。

タスクがキャンセルされ、コマンドは実行されません。

停止中

タスクが停止中です。

コマンドを停止中です。

停止しました

タスクが停止しました。

コマンドが停止しました。

終了

タスクが終了しました。

コマンドを終了しました。

スケジュール済み

コマンドは実行待ちです。

スケジュールに従って実行するように設定されているコマンド: コマンドの実行を待機しています。

バッチ実行とスケジュールされた実行の状態

バッチ実行は、コマンドが複数のインスタンスで同時に実行される1回限りの実行です。 バッチ実行またはスケジュールされた実行をより適切に管理するために、全体的な実行状態、インスタンスレベルの実行状態、および実行レベルの状態に基づいて実行のライフサイクルを管理できます。 DescribeInvocations操作によって提供されるInvocationStatusパラメーター配列のInvocationStatusパラメーターは、コマンドの実行ステータスを示します。 3種類の実行状態の関係を次の図に示します。状态管理的包含关系示意图

複数のインスタンスで同時に実行されるコマンドの全体的な実行状態を次の表に示します。

State in API responses

説明

詳細

保留中

コマンドが検証または送信中です。

少なくとも1つのインスタンスで実行状態がPendingの場合、全体の実行状態はPendingです。

スケジュール済み

スケジュールで実行するように設定されたコマンドが送信され、実行が保留されます。

少なくとも1つのインスタンスで実行状態がScheduledの場合、全体的な実行状態はScheduledです。

実行中

コマンドが実行中です。

少なくとも1つのインスタンスで実行状態がRunningの場合、全体的な実行状態はRunningです。

成功

コマンドが実行されます。

実行状態が少なくとも1つのインスタンスでSuccessで、他のインスタンスでStoppedまたはSuccessの場合、全体的な実行状態はSuccessです。

  • 即時実行に設定されているコマンド: 実行が完了し、終了コードは0です。

  • スケジュールに従って実行するように設定されているコマンド: 最後の実行が完了し、終了コードは0で、指定された期間が終了します。

失敗しました

コマンドの実行に失敗しました。

すべてのインスタンスで実行状態が [停止] または [失敗] の場合、全体的な実行状態は [失敗] です。 インスタンスの実行状態が次のいずれかの値の場合、全体的な実行状態としてFailedが返されます。

  • Invalid: コマンドが無効です。

  • Aborted: コマンドの送信に失敗しました。

  • 失敗: 実行は完了しましたが、終了コードは0ではありません。

  • タイムアウト: 実行がタイムアウトしました。

  • エラー: コマンドの実行中にエラーが発生しました。

停止中

タスクが停止中です。

少なくとも1つのインスタンスで実行状態がStoppingの場合、全体的な実行状態はStoppingです。

停止しました

タスクが停止しました。

すべてのインスタンスで実行状態がStoppedの場合、全体的な実行状態はStoppedです。 インスタンスの実行状態が次のいずれかの値の場合、全体的な実行状態としてStoppedが返されます。

  • キャンセル済み: タスクがキャンセルされました。

  • Terminated: タスクが終了しました。

PartialFailed

一部のインスタンスではタスクが成功し、他のインスタンスではタスクが失敗します。

一部のインスタンスでは実行状態がSuccessで、他のインスタンスではFailedまたはStoppedの場合、全体の実行状態はPartialFailedです。

クラウドアシスタントの使用

ECSコンソールを使用するか、API操作を呼び出すことで、Cloud Assistantを使用できます。

シナリオ

参考資料

API操作

インスタンスでCloud Assistantを使用するには、ECSインスタンスにCloud Assistant Agentをインストールする必要があります。 デフォルトでは、12月1日2017以降にパブリックイメージから作成されたECSインスタンスには、Cloud Assistant Agentがプリインストールされています。 一部のECSインスタンスでは、Cloud Assistant Agentを手動でインストールする必要があります。

Cloud Assistant Agentのインストール

OpenAPI Explorerの使用に精通しており、Cloud Assistantを使用するのはこれが初めてです。

N/A

Cloud Assistantコマンドを作成します。

コマンドの作成

作成したコマンドをECSインスタンスで実行します。

コマンドの実行

コマンドの実行状態と結果を表示します。 実行結果は、指定されたインスタンスで生成された実際の出力です。

実行結果の確認と一般的な問題のトラブルシューティング

作成したコマンドを変更します。 コマンドの名前と説明を変更できます。

コマンドの変更

N/A

Cloud Assistantコマンドの新しいバージョンを作成するか、名前、説明、タイプ、コンテンツ、実行パス、タイムアウト期間などのコマンドの属性を変更します。

Clone a command

N/A

実行中のコマンドを停止します。

コマンドの停止

StopInvocation

新しいコマンドのクォータを解放するために不要になったCloud Assistantコマンドを削除します。

コマンドの削除

DeleteCommand