ホームページ  >  記事  >  運用・保守  >  Cloud Assistant を使用してインスタンス管理を自動化する方法

Cloud Assistant を使用してインスタンス管理を自動化する方法

坏嘻嘻
坏嘻嘻オリジナル
2018-09-19 15:37:392751ブラウズ

この記事の内容は、クラウド アシスタントを使用してインスタンスを自動的に管理する方法に関するものです。必要な方は参考にしていただければ幸いです。

Cloud Assistant を使用してインスタンスを自動的に管理する

ECS インスタンスの運用とメンテナンスの目的は、ECS インスタンスの最適な状態を維持し、トラブルシューティングの効率を確保することですが、手動メンテナンスでは多くの時間とエネルギーがかかるため、Alibaba Cloud は日常のメンテナンス タスクを自動化してバッチ処理する方法を解決するクラウド アシスタントを開発しました。この記事では、Cloud Assistant API を使用して ECS インスタンスの対応するコマンドを実行し、ECS インスタンスの自動運用とメンテナンスの目的を達成する方法の例を示します。

コマンド タイプの紹介

現在、Cloud Assistant は次の 3 つのコマンド タイプをサポートしています。

Cloud Assistant を使用してインスタンス管理を自動化する方法

#前提条件

ターゲット ECS インスタンスのネットワーク タイプがプライベートであることを確認する必要があります。ネットワーク (VPC)。

ターゲット ECS インスタンスのステータスは「実行中」である必要があります。

ターゲット ECS インスタンスには、Cloud Assistant クライアントがプリインストールされている必要があります。 Alibaba Cloud Assistant を参照して、Cloud Assistant クライアントをインストールして使用できます。

PowerShell タイプのコマンドを実行する場合は、ターゲット Windows インスタンスに PowerShell モジュールが構成されていることを確認する必要があります。

次の例はコマンド ライン ツールで完了します。Alibaba Cloud コマンド ライン ツール CLI (コマンド ライン インターフェイス) がインストールされていることを確認する必要があります。

Windows の例については、「コマンド ライン ツールと SDK をオンラインでインストールする」を参照してください。

Linux の例については、「コマンド ライン ツールと SDK をオンラインでインストールする」を参照してください。

SDK をアップグレードする必要があります。

CLI 構成を変更します:

ファイル aliyunOpenApiData.py をダウンロードします。

パス %python_install_path%\Lib\site-packages\aliyuncli にあるファイル aliyunOpenApiData.py を、ダウンロードしたファイルに置き換えます。

Cloud Assistant を使用してインスタンス管理を自動化する方法

Alibaba Cloud CLI の設定方法については、「コマンド ライン ツールと SDK の設定」のドキュメントを参照してください。

操作手順

次の例は、Alibaba Cloud CLI の API を通じて Cloud Assistant を使用して、ECS インスタンスに対応するコマンドを実行する方法を示しています。例として、echo 123 コマンドを実行します。

CMD、PowerShell、またはローカル コンピューターのシェルで aliyuncli ecs CreateCommand --CommandContent ZWNobyAxMjM= --Type RunShellScript --Name test --Description test create コマンド (CreateCommand) を実行します。

Cloud Assistant を使用してインスタンス管理を自動化する方法

aliyuncli ecs を実行します InvokeCommand --InstanceIds your-vm-instance-id1 インスタンス ID2 --CommandId your-command-id --Timed false コマンドを実行します (InvokeCommand) 。

注:

InstanceIds は ECS インスタンス ID であり、最大 100 個の複数の ECS インスタンスがサポートされます。

Timed は周期的タスクかどうかを示し、Timed True は周期的タスクであることを示し、Timed False は周期的タスクではないことを示します。

タスクが周期的タスクの場合、つまり、Timed パラメーターが True の場合、パラメーター Frequency を通じて期間を指定する必要があります。たとえば、0 */20 * * * * は期間を意味します。 20分ごとです。 Cron 式の詳細については、「Cron 式の値の説明」を参照してください。

返される結果は、すべてのターゲット ECS インスタンスに共通の InvokeId です。 InvokeId を使用してコマンドの実行をクエリできます。

(オプション) aliyuncli ecs DescribeInvocations --InstanceId your-vm-instance-id --InvokeId your-invoke-id を実行して、コマンドの実行ステータス (DescribeInvocations) を表示します。このうち、InvokeId は 2 番目のステップで ECS インスタンスに対するコマンドを実行したときに返される実行 ID です。

戻りパラメータ InvokeStatus が Finished である場合、それはコマンド プロセスの実行が完了したことを意味するだけであり、期待されるコマンドの効果が存在することを意味するものではありません。実際の特定の実行結果を確認する必要があります。 DescribeInvocationResults のパラメーター Output。

(オプション) aliyuncli ecs DescribeInvocationResults --InstanceId your-vm-instance-id --InvokeId your-invoke-id を実行して、指定された ECS インスタンスのコマンドの実際の実行結果 (DescribeInvocationResults) を表示します。このうち、InvokeId は 2 番目のステップで ECS インスタンスに対するコマンドを実行したときに返される実行 ID です。

コマンドを作成するとき (CreateCommand)、コマンドに対して次のリクエスト パラメーターを設定することもできます。

Cloud Assistant を使用してインスタンス管理を自動化する方法

Python SDK を通じて Cloud Assistant を使用するための完全なコード例

Alibaba Cloud SDK を通じて Cloud Assistant を使用することもできます。 Alibaba Cloud SDK の設定方法については、「コマンドラインツールと SDK の設定」ドキュメントを参照してください。以下は、Python SDK 経由で Cloud Assistant を使用するための完全なコード例です。

rree

以上がCloud Assistant を使用してインスタンス管理を自動化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。