このトピックでは、Cloud Assistantコマンドを実行してElastic Compute Service (ECS) インスタンスを停止または再起動する方法について説明します。
前提条件
停止または再起動するインスタンスの状態は、実行中 (実行中) です。
Cloud Assistance Agentがインスタンスにインストールされています。 詳細については、「Cloud Assistant Agentのインストール」をご参照ください。
(推奨) 終了コードを使用してインスタンスを停止または再起動する
Cloud Assistantコマンドを実行してインスタンスを停止または再起動する場合、コマンドの実行ステータスをリアルタイムで正確にするために、コマンドの最後に特定の終了コードを追加することを推奨します。 終了コードなしでCloud Assistantコマンドを実行してインスタンスを停止または再起動すると、コマンドが停止または再起動操作で終了しても、コマンドの実行ステータスが正しく更新されない場合があります。 これは、インスタンスを停止または再起動するためにコマンドを実行する前に、Cloud Assistant Agentがコマンドの実行ステータスを保存しないために発生します。
Cloud Assistant Agentのインストールバージョンが次のバージョンより前でないことを確認します。
Linux: 2.2.3.317
Windows: 2.1.3.317
Cloud Assistantコマンドを終了コードで実行したときにエラーが報告された場合は、Cloud Assistant Agentを最新バージョンにアップグレードします。 詳細については、「Cloud Assistant Agentのアップグレードまたは無効化」をご参照ください。
にログインします。ECSコンソール.
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
ECSクラウドアシスタントページの右上隅にある コマンドの作成/実行 をクリックします。
コマンド情報 セクションで、パラメーターを設定します。 詳細については、「Cloud Assistantコマンドの作成と実行」をご参照ください。
[コマンドコンテンツ] コードエディターで、コマンドスクリプトの最後に終了コードを追加します。
コマンドを実行してインスタンスを停止するには、インスタンスのオペレーティングシステムタイプに基づいて、次の表のいずれかの終了コードを指定します。
オペレーティングシステム
終了コード
サンプルコマンド
Linux
193
# 次のシェルコマンドが193の終了コードを返した場合、指定されたインスタンスを停止する操作がトリガーされます。 出口193
Windows
3009
# 次のPowerShellコマンドが3009の終了コードを返した場合、指定されたインスタンスを停止する操作がトリガーされます。 出口3009
コマンドを実行してインスタンスを再起動するには、インスタンスのオペレーティングシステムタイプに基づいて、次の表のいずれかの終了コードを指定します。
オペレーティングシステム
終了コード
サンプルコマンド
Linux
194
# 次のシェルコマンドが194の終了コードを返した場合、指定されたインスタンスを再起動する操作がトリガーされます。 出口194
Windows
3010
# 次のPowerShellコマンドが3010の終了コードを返した場合、指定されたインスタンスを再起動する操作がトリガーされます。 出口3010
では、インスタンスの選択またはマネージドインスタンスの選択セクションで、コマンドを実行するインスタンスを選択します。
説明マネージドインスタンスは、Alibaba Cloudによって提供されていないが、Cloud Assistantによって管理されているインスタンスです。 詳細は、「Alibaba Cloudマネージドインスタンス」をご参照ください。
クリック実行して保存または実行コマンドをすぐに実行します。
Cloud Assistantコマンドを実行してインスタンスをバッチ再起動するAPI操作を呼び出す
Alibaba Cloudは、クラウドリソースを管理するためのさまざまなAPI操作を提供しています。 このセクションでは、オンプレミスのLinux環境でPythonコードを実行してCloud Assistantコマンドを実行し、インスタンスをバッチ再起動することによってAPI操作を呼び出す方法について説明します。
Cloud Assistantコマンドの実行に必要な情報を準備します。
AccessKeyペアを取得します。
RAM (Resource Access Management) ユーザーのAccessKeyペアを取得することを推奨します。 詳細については、「AccessKey の作成」をご参照ください。
Cloud Assistantコマンドを実行するインスタンスのリージョンIDを取得します。
DescribeRegions操作を呼び出して、最新のリージョンリストを照会できます。 DescribeRegions操作のパラメーターについては、「DescribeRegions」をご参照ください。
Cloud Assistantコマンドを実行するインスタンスのIDを取得します。
DescribeInstances操作を呼び出して、特定の条件を満たすインスタンスを照会できます。 たとえば、実行中の状態にあるインスタンスや特定のタグが追加されているインスタンスを照会できます。 DescribeInstances操作のパラメーターについては、「DescribeInstances」をご参照ください。
オンプレミス環境を設定し、サンプルコードを実行します。
Alibaba Cloud ECS SDK for Pythonをインストールします。
sudo pip install aliyun-python-sdk-ecs
ECS SDK for Pythonを最新バージョンに更新します。
sudo pip install -- upgrade aliyun-python-sdk-ecs
を作成します。Create a
. py
ファイルに次のサンプルコードを記述します。サンプルコードの次のパラメーターを、前の手順で取得した実際の値に置き換えます。
AccessKey ID:
access_key = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID ']
AccessKey secret:
access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET ']
リージョンID:
region_id = '<yourRegionId>'
インスタンスID:
ins_ids= ["i-bp185fcs ****" 、"i-bp14wwh ****" 、"i-bp13jbr ****"]
サンプルコード:
を実行します。Run the
. py
ファイルを作成します。の後のサンプル結果を次の図に示します。pyファイルを実行します。 この例では、3つのインスタンスでコマンドが実行され、
helloworld
が返され、3つのインスタンスが再起動されます。
OOSを使用してCloud Assistantコマンドを実行し、インスタンスをバッチ再起動する
CloudOps Orchestration Service (OOS) は、Alibaba Cloudが提供する自動O&Mサービスです。 OOSテンプレートを使用して、O&Mタスクを設定および実行できます。
テンプレートの作成ページに移動します。
OOS コンソール にログインします。
左側のナビゲーションウィンドウで、
を選択します。[テンプレートの作成] をクリックします。
パラメーターを設定します。
[YAML] タブをクリックし、次のコードを入力します。
サンプルコード:
[テンプレートの作成] をクリックします。
表示されるダイアログボックスで、テンプレート名を入力し、[OK] をクリックします。 この例では、テンプレート名は
runcommand_reboot_instances
です。
テンプレートを実行します。
作成したテンプレートを見つけて、[操作] 列の [実行の作成] をクリックします。
実行を設定します。
プロンプトに従って実行設定を完了します。 [パラメーター設定] ステップで、TargetInstanceパラメーターを [手動でインスタンスを選択] に設定し、複数のインスタンスを選択します。 他のパラメーターにはデフォルト値を使用します。
[OK] ステップで、[作成] をクリックします。
実行が作成されると、実行が開始され、実行の詳細ページの [基本情報] タブに自動的に移動します。 テンプレートが実行されると、[実行ステータス] の横に [成功] が表示されます。
各タスクノードの実行手順と詳細を表示します。
[実行手順と結果] セクションで、[実行フローチャートの表示] をクリックして実行プロセスを表示します。
[クラウドアシスタントの実行] コマンドステップをクリックし、循環タスクリストタブをクリックして、各タスクノードの実行の詳細を表示します。 次の図は、テンプレートで指定された操作が実行されることを示しています。