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

Elastic Compute Service:コマンドを作成する

最終更新日:Aug 28, 2024

Cloud Assistantコマンドを作成して、Elastic Compute Service (ECS) インスタンスでルーチンタスクを実行できます。 これらのタスクには、自動O&Mスクリプトの実行、ポーリングプロセス、ユーザーパスワードのリセット、ソフトウェアのインストールまたはアンインストール、アプリケーションの更新、パッチのインストールが含まれます。 Cloud Assistantコマンドは、Windowsインスタンスの場合はバッチコマンドまたはPowerShellコマンド、Linuxインスタンスの場合はシェルコマンドです。 Cloud Assistantコマンドでは、カスタムパラメーターを変数として指定できます。

制限事項

  • Alibaba Cloudリージョンの50,000 Cloud Assistantコマンドへの500を保持できます。 このクォータは、ECSの使用状況に基づいて増加する場合があります。 クォータの増加を申請できます。 リソースのクォータを表示および増やす方法については、「クォータの管理」をご参照ください。 作成したコマンドは、アカウントのCloud Assistantコマンドクォータに対してカウントされます。

    説明

    承認率を上げるためにクォータ増加申請の詳細な理由を入力します。

  • Base64-encodedコマンドスクリプトの最大サイズは18 KBです。

手順

ECSコンソールでのコマンドの作成

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、メンテナンス&モニタリング > クラウドアシスタントを選択します。

  3. 上部のナビゲーションバーで、Cloud Assistantコマンドを作成するリージョンとリソースグループを選択します。

    説明

    コマンドを追加するリソースグループを選択した後、リソースグループレベルでコマンドの権限を管理できます。 必要なRAM (Resource Access Management) ポリシーをリソースグループにアタッチして、リソースグループレベルで権限を管理できます。 RAMポリシーとリソースグループレベルでアクセス許可を管理する方法については、「RAMを使用してアクセス許可制御を実装する」トピックのCloud Assistantコマンド固有のサンプルカスタムポリシーセクションとリソースグループへのリソースの分類とリソースグループへのアクセス許可の付与をご参照ください。

    地域

  4. 右上隅の [コマンドの作成 /実行] をクリックします。

  5. [コマンドの作成] パネルの [コマンド情報] セクションで、パラメーターを設定します。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    コマンドソース

    コマンドソースを選択します。

    • Enter Command Content: コマンドを作成します。

    • Select Saved Command: 既存のコマンドを選択します。

    コマンドタイプ

    コマンドタイプを選択します。

    • 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。

      説明

      RunCommand操作を呼び出すときに、組み込み環境パラメーターとして {{ACS::CommandId}} パラメーターを指定する場合は、Cloud Assistant Agentのバージョンが次のバージョンより前でないことを確認してください。 詳細については、「Cloud Assistant Agentのインストール」をご参照ください。

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

    実行プラン

    コマンド実行プランを選択します。

    • すぐに実行: [実行] または [実行して保存] をクリックすると、コマンドがすぐに実行されます。

    • システムの次回の起動後: [実行] または [実行して保存] をクリックすると、次に関連するインスタンスが起動したときにコマンドが実行されます。

    • 各システム起動後: [実行] または [実行と保存] をクリックすると、関連するインスタンスが起動するたびにコマンドが実行されます。

    • [スケジュールで実行]: [実行] または [実行して保存] をクリックすると、特定の間隔、特定の時間、またはスケジュールでコマンドが実行されます。 次の実行スケジュールオプションを使用できます。

      • 固定間隔で実行: レート式を使用して、コマンドを実行する間隔を指定します。 間隔は、秒、分、時間、または日で指定できます。 このオプションは、一定の間隔でコマンド実行タスクを実行するシナリオに適しています。

        説明

        間隔を指定するときは、次の制限に注意してください。

        • 指定された間隔は60秒から7日の範囲で、スケジュールされたタスクのタイムアウト期間より長くする必要があります。

        • 間隔は、2つの連続した実行の間に経過する時間である。 この間隔は、コマンドを1回実行するのに必要な時間とは無関係です。 たとえば、間隔を5分に設定し、コマンドを1回実行するには2分かかります。 コマンドが実行されるたびに、システムはコマンドを再実行する前に3分間待機します。

        • タスクを作成した後、タスクはすぐには実行されません。 たとえば、間隔を5分に設定し、コマンドを実行するタスクを作成します。 タスクは作成後5分で実行されます。

      • 指定した時間に1回だけ実行: コマンドを1回だけ実行する時点とタイムゾーンを指定します。

        たとえば、[実行時間] パラメーターを5月17日2022 17:30:50に設定し、[タイムゾーン] パラメーターを (GMT + 08:00) Asia/Shanghaiに設定した場合、コマンドは2022年5月17日 (UTC + 8) の17:3050に1回だけ実行されました。

      • クロックベースのスケジュールCron式で実行: cron式を使用して、コマンドを実行するスケジュールを指定します。 秒、分、時間、月、月、曜日、または年の正確なスケジュールを指定し、[タイムゾーン] ドロップダウンリストからタイムゾーンを選択します。 システムはcron式とタイムゾーンに基づいてスケジュールを計算し、スケジュールどおりにコマンドを実行します。 このオプションは柔軟性を提供し、スケジュールに従ってコマンドタスクを実行するシナリオに適しています。 cron式の詳細については、「Cron式」をご参照ください。

        説明

        最小間隔は10秒以上である必要があり、スケジュールされた実行のタイムアウト期間より短くすることはできません。

        たとえば、[実行頻度] パラメーターを0 0 12? * WED 2022タイムゾーンパラメーターを (GMT + 08:00) Asia/Shanghaiに設定すると、システムは毎週水曜日の12:00:00に2022 (UTC + 8) でコマンドを実行します。

    コマンド名

    コマンドの名前を入力します。

    コマンドの説明

    コマンドの説明を入力します。 管理やメンテナンスを容易にするため、コマンドの目的などの識別可能な情報を入力することを推奨します。

    ユーザー名

    ECSインスタンスでコマンドを実行するために使用するユーザー名を指定します。

    セキュリティ上の理由から、最小権限の原則に基づいて、Cloud Assistantコマンドを通常のユーザーとして実行することを推奨します。 詳細については、「Cloud Assistantコマンドを通常ユーザーとして実行する」をご参照ください。

    デフォルトでは、Cloud Assistantコマンドは、Linuxインスタンスではrootユーザーによって、Windowsインスタンスではシステムユーザーによって実行されます。

    実行パス

    コマンドの実行パスを指定します。 コマンドが実行されるインスタンスのオペレーティングシステムに基づいて、さまざまなデフォルトの実行パスが提供されます。

    • Linuxインスタンスの場合、デフォルトの実行パスはrootユーザーの /homeディレクトリです。

    • Windowsインスタンスの場合、デフォルトの実行パスはC:\Windows\system32です。

    タイムアウト

    インスタンスでコマンドを実行するためのタイムアウト期間を指定します。 コマンドを実行するタスクがタイムアウトすると、Cloud Assistantはタスクプロセスを強制終了します。

    単位は秒です。 デフォルト値: 0。 最小値: 10。 Timeoutパラメーターを10より小さい値に設定すると、コマンドを実行できるように値が10に変更されます。

    タグ

    後で分類および管理するためにコマンドに追加するタグを指定します。 Tag key: タグのキー。 タグ値: タグの値。

    説明
    • インスタンスを選択して [実行と保存] をクリックすると、コマンドとコマンド実行タスクにタグが追加されます。

    • インスタンスを選択して [実行] をクリックすると、コマンドにのみタグが追加されます。

  6. [インスタンスの選択] および [管理対象インスタンスの選択] セクションで、コマンドを実行するインスタンスを選択します。

    説明

    マネージドインスタンスは、Alibaba Cloudによって提供されていないが、Cloud Assistantによって管理されているインスタンスです。 詳細は、「Alibaba Cloudマネージドインスタンス」をご参照ください。

  7. [保存] をクリックします。

Alibaba Cloud CLIを使用したコマンドの作成

サンプルリクエスト

CreateCommand操作を呼び出して、インスタンスのオペレーティングシステムを更新するために使用されるupdateという名前のCloud Assistantコマンドを作成します。

aliyun ecs CreateCommand -- RegionId 'cn-hangzhou' \
-- CommandContent 'eXVtIHVwZGF0ZSAteQ=='\
-- タイプ 'RunShellScript' \
-- 名前 'update' \
-- 説明 'update' \
-- output cols=CommandId 
説明

一重引用符 ('') で囲まれた値は、パラメーターのサンプル値です。 実際の条件に基づいてパラメーターを指定します。

下表にパラメーター示します。 パラメーターの詳細については、「CreateCommand」をご参照ください。

パラメーター

説明

RegionId

cn-hangzhou

コマンドを作成するリージョンのID。

名前

update

コマンドの名前。

データ型

RunShellScript

コマンドのタイプ。

  • Linuxインスタンスの場合、このパラメーターをRunShellScriptに設定します。

  • Windowsインスタンスの場合、このパラメーターをRunBatScriptまたはRunPowerShellScriptに設定します。

CommandContent

eXVtIHVwZGF0ZSAteQ==

コマンドのBase64-encoded内容。

説明

update

コマンドの説明。

サンプル応答

CommandId
---------
c-hz018qng4on **** 

次のステップ

コマンドを作成した後、[マイコマンド] タブでコマンドの詳細を表示できます。 特定のインスタンスでコマンドを実行できます。 詳細については、「コマンドの実行」をご参照ください。

説明

コマンドの作成時に [パラメーターを使用] をオンにする場合、コマンドの実行時に [コマンドパラメーター] フィールドにパラメーター値を入力する必要があります。