Cloud Assistant コマンドを作成して、Elastic Compute Service (ECS) インスタンスでルーチンタスクを実行できます。これらのタスクには、自動 O&M スクリプトの実行、ポーリングプロセスの実行、ユーザーパスワードのリセット、ソフトウェアのインストールまたはアンインストール、アプリケーションの更新、パッチのインストールなどが含まれます。Cloud Assistant コマンドは、Windows インスタンスの場合はバッチまたは PowerShell コマンド、Linux インスタンスの場合はシェルコマンドです。Cloud Assistant コマンドでは、カスタムパラメーターを変数として指定できます。
制限
Alibaba Cloud リージョンには、500 ~ 50,000 の Cloud Assistant コマンドを保持できます。このクォータは、ECS の使用状況に基づいて増加する場合があります。クォータの増加を申請できます。リソースクォータの表示方法と増加方法については、「クォータの管理」をご参照ください。作成したコマンドは、アカウントの Cloud Assistant コマンドクォータに対してカウントされます。
説明承認率を高めるために、クォータ増加申請の詳細な理由を入力してください。
Base64 エンコードされたコマンドスクリプトの最大サイズは 18 KB です。
手順
ECS コンソールでコマンドを作成する
ECS コンソール - ECS Cloud Assistant に移動します。
上部のナビゲーションバーで、Cloud Assistant コマンドを作成するリージョンとリソースグループを選択します。
説明コマンドを追加するリソースグループを選択すると、リソースグループレベルでコマンドの権限を管理できます。必要な Resource Access Management (RAM) ポリシーをリソースグループにアタッチして、リソースグループレベルで権限を管理できます。RAM ポリシーとリソースグループレベルでの権限の管理方法については、「RAM を使用して権限制御を実装する」トピックの「Cloud Assistant コマンド固有のカスタムポリシーのサンプル」セクションと、「リソースをリソースグループに分類し、リソースグループに権限を付与する」をご参照ください。
[ECS Cloud Assistant] ページの右上隅にある [コマンドの作成/実行] をクリックします。
[コマンドの作成] パネルの [コマンド情報] セクションで、パラメーターを構成します。次の表にパラメーターを示します。
パラメーター
説明
コマンドソース
コマンドソースを選択します。
コマンドの内容を入力: コマンドを作成します。
保存したコマンドを選択: 既存のコマンドを選択します。
コマンドタイプ
コマンドタイプを選択します。
Linux インスタンスの場合は、[Shell]、[Python]、または [Perl] を選択します。
Windows インスタンスの場合は、[Bat] または [PowerShell] を選択します。
コマンド内容
コマンドコンテンツを入力または貼り付けます。
シェルコマンドについては、「ECS インスタンスのシステム構成を表示する」をご参照ください。
コマンドを作成するときは、コマンドの構文、ロジック、アルゴリズムが正しいことを確認してください。
たとえば、インスタンスで作成した /backup ディレクトリ (
mkdir /backup
) にファイルをアーカイブするには、次のシェルコマンドを入力します。#!/bin/bash OF=/backup/my-backup-$(date +%Y%m%d).tgz tar -cf $OF {{file}}
説明上記のサンプルコマンドでは、
{{file}}
はカスタムパラメーターです。コマンドを実行するときに、カスタムパラメーターをアーカイブするファイルの名前に設定できます。例: /app/usrcredential。カスタムパラメーターは、動的な値と複数のコマンドで共有される値が必要なシナリオで使用できます。AccessKey ペア、インスタンス ID、認証コード、時間パラメーター、重要なシステムファイルなど、機密データや環境とともに変化するデータには、カスタムパラメーターを指定することをお勧めします。パラメーターの使用
パラメーターを使用するかどうかを指定します。
[パラメーターの使用] をオンにした場合は、パラメーターの使用
{{key}}
[コマンドコンテンツ] フィールドに 形式でカスタムパラメーターを指定します。説明1 つの Cloud Assistant コマンドには、最大 20 個のカスタムパラメーターを指定できます。
組み込み環境パラメーターをカスタムパラメーターとして指定できます。コマンドを実行すると、パラメーターは Cloud Assistant によって自動的に指定されます。次の組み込み環境パラメーターを指定できます。
{{ACS::RegionId}}
: リージョンの ID。{{ACS::AccountId}}
: Alibaba Cloud アカウントの一意の識別子 (UID)。{{ACS::InstanceId}}
: インスタンスの ID。説明複数インスタンスでコマンドを実行し、
{{ACS::InstanceId}}
パラメーターを組み込み環境パラメーターとして指定する場合は、Cloud Assistant Agent のバージョンが以下のバージョン以上であることを確認してください。詳細については、「Cloud Assistant Agent をインストールする」をご参照ください。Linux: 2.2.3.309
Windows: 2.1.3.309
{{ACS::InstanceName}}
: インスタンスの名前。説明複数インスタンスでコマンドを実行し、
{{ACS::InstanceName}}
パラメーターを組み込み環境パラメーターとして指定する場合は、Cloud Assistant Agent のバージョンが以下のバージョン以上であることを確認してください。詳細については、「Cloud Assistant Agent をインストールする」をご参照ください。Linux: 2.2.3.344
Windows: 2.1.3.344
{{ACS::InvokeId}}
: コマンドタスクの ID。説明{{ACS::InvokeId}}
パラメーターを組み込み環境パラメーターとして指定する場合は、Cloud Assistant Agent のバージョンが以下のバージョン以上であることを確認してください。詳細については、「Cloud Assistant Agent をインストールする」をご参照ください。Linux: 2.2.3.309
Windows: 2.1.3.309
{{ACS::CommandId}}
: コマンドの ID。説明{{ACS::CommandId}}
パラメーターを組み込み環境パラメーターとして RunCommand オペレーションの呼び出し時に指定する場合、Cloud Assistant クライアントのバージョンが以下のバージョン以降であることを確認してください。詳細については、「Cloud Assistant クライアントをインストールする」をご参照ください。Linux: 2.2.3.309
Windows: 2.1.3.309
実行プラン
コマンド実行計画を選択します。
即時実行: [実行] または [実行して保存] をクリックすると、コマンドがすぐに実行されます。
システムの次回の起動後: [実行] または [実行して保存] をクリックした後、関連付けられているインスタンスが次回起動されたときに、コマンドが実行されます。
各システム起動後: [実行] または [実行して保存] をクリックした後、関連付けられているインスタンスが起動されるたびに、コマンドが実行されます。
スケジュールに従って実行: [実行] または [実行して保存] をクリックした後、特定の間隔、特定の時刻、またはスケジュールに従ってコマンドが実行されます。次の実行スケジュールオプションを使用できます。
固定間隔で実行: レート式を使用して、コマンドを実行する間隔を指定します。間隔は秒、分、時間、または日で指定できます。このオプションは、コマンド実行タスクを一定間隔で実行する場合に適しています。
説明間隔を指定する場合は、次の制限事項に注意してください。
指定できる間隔は 60 秒~ 7 日で、スケジュールされたタスクのタイムアウト期間よりも長くする必要があります。
間隔は、2 回連続して実行されるまでの時間です。間隔は、コマンドを 1 回実行するために必要な時間とは無関係です。たとえば、間隔を 5 分に設定し、コマンドの実行に 2 分かかるとします。コマンドが実行されるたびに、システムはコマンドを再実行する前に 3 分間待機します。
タスクを作成した後、タスクはすぐに実行されません。たとえば、間隔を 5 分に設定し、コマンドを実行するタスクを作成するとします。タスクは作成されてから 5 分後に実行されます。
指定された日時に一度だけ実行: コマンドを 1 回だけ実行する時刻とタイムゾーンを指定します。
たとえば、[実行時刻] パラメーターを [2022 年 5 月 17 日 17:30:50] に、[タイムゾーン] パラメーターを [(GMT+08:00) Asia/Shanghai] に設定した場合、コマンドは 2022 年 5 月 17 日 17:30:50 (UTC + 08:00) に 1 回だけ実行されました。
時刻に基づくスケジュールで実行: Cron 式を使用して、コマンドを実行するスケジュールを指定します。秒、分、時間、日、月、曜日、または年に正確なスケジュールを指定し、[タイムゾーン] ドロップダウンリストからタイムゾーンを選択します。システムは Cron 式とタイムゾーンに基づいてスケジュールを計算し、スケジュールに従ってコマンドを実行します。このオプションは柔軟性を提供し、スケジュールに従ってコマンドタスクを実行する場合に適しています。Cron 式の詳細については、「Cron 式」をご参照ください。
説明最小間隔は 10 秒以上で、スケジュールされた実行のタイムアウト期間よりも短くすることはできません。
たとえば、[実行頻度] パラメーターを [0 0 12 ? * WED 2022] に、[タイムゾーン] パラメーターを [(GMT+08:00) Asia/Shanghai] に設定した場合、システムは 2022 年の毎週水曜日 12:00:00 (UTC + 08:00) にコマンドを実行します。
コマンド名
コマンドの名前を入力します。
コマンドの説明
コマンドの説明を入力します。管理とメンテナンスを容易にするために、コマンドの目的など、識別可能な情報を入力することをお勧めします。
ユーザー名
ECS インスタンスでコマンドを実行するために使用するユーザー名を指定します。
セキュリティ上の理由から、最小権限の原則に基づいて、一般ユーザーとして Cloud Assistant コマンドを実行することをお勧めします。詳細については、「一般ユーザーとして Cloud Assistant コマンドを実行する」をご参照ください。
デフォルトでは、Cloud Assistant コマンドは Linux インスタンスでは root ユーザー、Windows インスタンスではシステムユーザーによって実行されます。
実行パス
コマンドの実行パスを指定します。コマンドを実行するインスタンスのオペレーティングシステムに基づいて、異なるデフォルトの実行パスが提供されます。
Linux インスタンスの場合、デフォルトの実行パスは root ユーザーの /home ディレクトリです。
Windows インスタンスの場合、デフォルトの実行パスは C:\Windows\system32 です。
タイムアウト
インスタンスでコマンドを実行するための [タイムアウト] を指定します。コマンドを実行するタスクがタイムアウトした場合、Cloud Assistant はタスクプロセスを強制終了します。
単位: 秒。デフォルト値: 60。最小値: 10。[タイムアウト] パラメーターを 10 より小さい値に設定すると、コマンドが実行されるように、システムによって値が 10 に変更されます。
タグ
後続の分類と管理のためにコマンドに追加するタグを指定します。[ラベルキー]: タグのキー。[ラベル値]: タグの値。
説明インスタンスを選択して [実行して保存] をクリックすると、システムによってタグがコマンドとコマンド実行タスクに追加されます。
インスタンスを選択して [実行] をクリックすると、システムによってタグがコマンドのみに追加されます。
[インスタンスの選択] セクションと [マネージドインスタンスの選択] セクションで、コマンドを実行するインスタンスを選択します。
説明マネージドインスタンスは、Alibaba Cloud によって提供されるのではなく、Cloud Assistant によって管理されるインスタンスです。詳細については、「Alibaba Cloud マネージドインスタンス」をご参照ください。
[保存] をクリックします。
Alibaba Cloud CLI を使用してコマンドを作成する
リクエストの例
CreateCommand オペレーションを呼び出して、インスタンスのオペレーティングシステムを更新するために使用される update という名前の Cloud Assistant コマンドを作成します。
aliyun ecs CreateCommand --RegionId 'cn-hangzhou' \
--CommandContent 'eXVtIHVwZGF0ZSAteQ==' \
--Type 'RunShellScript' \
--Name 'update' \
--Description 'update' \
--output cols=CommandId
単一引用符 ('') で囲まれた値は、パラメーターのサンプル値です。実際の状況に基づいてパラメーターを指定してください。
次の表に主要なパラメーターを示します。パラメーターの詳細については、「CreateCommand」をご参照ください。
パラメーター | 例 | 説明 |
RegionId | cn-hangzhou | コマンドを作成するリージョンの ID。 |
Name | update | コマンドの名前。 |
Type | RunShellScript | コマンドのタイプ。
|
CommandContent | eXVtIHVwZGF0ZSAteQ== | Base64 エンコードされたコマンドのコンテンツ。 |
Description | update | コマンドの説明。 |
レスポンスの例
CommandId
---------
c-hz018qng4on****
次のステップ
コマンドを作成した後、[マイコマンド] タブでコマンドの詳細を表示できます。特定のインスタンスでコマンドを実行できます。詳細については、「コマンドの実行」をご参照ください。
コマンドの作成時に [パラメーターの使用] をオンにした場合は、コマンドの実行時に [コマンドパラメーター] フィールドにパラメーター値を入力する必要があります。