コンソールからコマンドを実行する - AWS Systems Manager

コンソールからコマンドを実行する

コンソールから Run Command を使用して、各インスタンスにログインせずにインスタンスを設定できます。このトピックでは、Run Command を使用してインスタンスで SSM エージェント を更新する方法の例を示します。

開始する前に

Run Command を使用してコマンドを送信する前に、インスタンスが Systems Manager の要件を満たすことを確認します。

Run Command を使用してコマンドを送信するには

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで [Run Command] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[Run Command] を選択します。

  3. [Run command (コマンドの実行)] を選択します。

  4. [Command document (コマンドのドキュメント)] リストで、Systems Manager ドキュメントを選択します。

  5. [Command parameters] セクションで、必須パラメータの値を指定します。

  6. [Targets (ターゲット)] セクションで、手動でインスタンスを指定または選択して、このオペレーションを実行するインスタンスを指定します。

    注記

    表示されると予測される Amazon EC2 インスタンスが表示されない場合は、トラブルシューティングのヒントについて「マネージドインスタンスのトラブルシューティング」を参照してください。

  7. [その他のパラメータ] で、以下の操作を行います。

    • [コメント] に、このコマンドに関する情報を入力します。

    • [タイムアウト (秒)] に、コマンドの実行全体が失敗するまでにシステムが待機する秒数を指定します。

  8. (オプション) [レートの制御] で、以下の操作を行います。

    • [同時実行] で、コマンドを同時に実行するインスタンスの数または割合 (%) を指定します。

      注記

      マネージドインスタンスに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるインスタンスの数が不明な場合は、割合 (%) を指定してドキュメントを同時に実行できるインスタンスの数を制限します。

    • [エラーのしきい値] で、インスタンスの数または割合 (%) で失敗した後で他のインスタンスでのコマンドの実行をいつ停止するか指定します。たとえば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、Systems Manager はコマンドの送信を停止します。コマンドを処理しているインスタンスもエラーを送信する可能性があります。

  9. (オプション) コマンド出力をファイルに保存する場合は、[Output options] の [Write command output to an S3 bucket] ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。

    注記

    S3 バケットにデータを書き込む機能を許可する S3 アクセス許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイルのものです。詳細については、「Systems Manager の IAM インスタンスプロファイルを作成する」を参照してください。さらに、指定された S3 バケットが別の AWS アカウントにある場合は、インスタンスに関連付けられたインスタンスプロファイルに、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

  10. [SNS Notifications (SNS 通知)] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[Enable SNS notifications (SNS 通知を有効にする)] チェックボックスをオンにします。

    コマンドの実行の Amazon SNS 通知の設定の詳細については、「Amazon SNS 通知を使用した Systems Manager ステータス変更のモニタリング」を参照してください。

  11. [Run] を選択します。

コマンドのキャンセルの詳細については、コマンドをキャンセルする を参照してください。

コマンドを再実行する

Systems Manager には、AWS Systems Manager コンソールの [Run Command (コマンドの実行)] ページからコマンドを再実行するのに役立つオプションが 2 つあります。

  • Rerun (再実行): このボタンを使用すると、変更を加えずに同じコマンドを実行できます。

  • Copy to new (新規にコピー): このボタンをクリックすると、1 つのコマンドの設定が新しいコマンドにコピーされ、実行前にこれらの設定を編集できます。

コマンドを再実行するには

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで [Run Command] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[Run Command] を選択します。

  3. 再実行するコマンドを選択します。コマンドの詳細ページで、コマンドを実行した直後にコマンドを再実行できます。または、以前に実行したコマンドを [Command history (コマンド履歴)] タブから選択することもできます。

  4. [Rerun (再実行)] を選択して同じコマンドを変更せずに実行するか、[Copy to new (新規にコピー)] を選択して、実行する前にコマンド設定を編集します。

Run Command を使用して SSM エージェント を更新する

以下の手順は、Windows Server と Linux インスタンスで実行されている SSM エージェント をすばやく更新する方法について説明しています。最新バージョンに更新することも、古いバージョンにダウングレードすることもできます。コマンドを実行すると、システムは該当するバージョンを AWS からダウンロードし、インストールして、コマンドの実行前に存在していたバージョンをアンインストールします。このプロセスの実行中にエラーが発生すると、システムはコマンドの実行前のサーバーバージョンにロールバックし、コマンドステータスにはコマンドの失敗が示されます。

注記

SSM エージェント の自動更新の詳細については、次の点に注意してください。

  • 2020 年 9 月 21 日より、自動アップデートにより SSM エージェント バージョン 3.0 がインストールされます。詳細については、「SSM エージェント バージョン 3」を参照してください。

  • SSM エージェント の更新に関する通知を受け取るには、GitHub の「SSM エージェント リリースノート」ページをサブスクライブします。

Run Command を使用して SSM エージェント を更新するには

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで [Run Command] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[Run Command] を選択します。

  3. [Run command (コマンドの実行)] を選択します。

  4. [Command document] リストで、AWS-UpdateSSMAgent を選択します。

  5. [Command parameters] セクションで、必要に応じて以下のパラメータの値を指定します。

    1. (オプション) [Version (バージョン)] に、インストールする SSM エージェント のバージョンを入力します。エージェントの古いバージョンをインストールできます。バージョンを指定しないと、サービスは最新バージョンをインストールします。

    2. (オプション) 以前のバージョンの SSM エージェント をインストールするには、[Allow Downgrade (ダウングレードの許可)] で [true] を選択します。このオプションを選択した場合は、以前のバージョン番号を指定する必要があります。[false] を選択すると、最新バージョンのサービスのみがインストールされます。

  6. [Targets (ターゲット)] セクションで、手動でインスタンスを指定または選択して、このオペレーションを実行するインスタンスを指定します。

    注記

    表示されると予測される Amazon EC2 インスタンスが表示されない場合は、トラブルシューティングのヒントについて「マネージドインスタンスのトラブルシューティング」を参照してください。

  7. [その他のパラメータ] で、以下の操作を行います。

    • [コメント] に、このコマンドに関する情報を入力します。

    • [タイムアウト (秒)] に、コマンドの実行全体が失敗するまでにシステムが待機する秒数を指定します。

  8. (オプション) [レートの制御] で、以下の操作を行います。

    • [同時実行] で、コマンドを同時に実行するインスタンスの数または割合 (%) を指定します。

      注記

      マネージドインスタンスに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるインスタンスの数が不明な場合は、割合 (%) を指定してドキュメントを同時に実行できるインスタンスの数を制限します。

    • [エラーのしきい値] で、インスタンスの数または割合 (%) で失敗した後で他のインスタンスでのコマンドの実行をいつ停止するか指定します。たとえば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、Systems Manager はコマンドの送信を停止します。コマンドを処理しているインスタンスもエラーを送信する可能性があります。

  9. (オプション) コマンド出力をファイルに保存する場合は、[Output options] の [Write command output to an S3 bucket] ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。

    注記

    S3 バケットにデータを書き込む機能を許可する S3 アクセス許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイルのものです。詳細については、「Systems Manager の IAM インスタンスプロファイルを作成する」を参照してください。さらに、指定された S3 バケットが別の AWS アカウントにある場合は、インスタンスに関連付けられたインスタンスプロファイルに、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

  10. [SNS Notifications (SNS 通知)] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[Enable SNS notifications (SNS 通知を有効にする)] チェックボックスをオンにします。

    コマンドの実行の Amazon SNS 通知の設定の詳細については、「Amazon SNS 通知を使用した Systems Manager ステータス変更のモニタリング」を参照してください。

  11. [実行] を選択します。

Run Command を使用して PowerShell を更新する

以下の手順では、Windows Server 2012 および 2012 R2 インスタンスで PowerShell をバージョン 5.1 に更新する方法について説明します。この手順で提供されるスクリプトは、Windows 管理フレームワーク (WMF) バージョン 5.1 の更新プログラムをダウンロードし、更新プログラムのインストールを開始します。WMF 5.1 のインストール時に必要になるため、このプロセス中にインスタンスが再起動します。更新プログラムのダウンロードとインストールが完了するまでに約 5 分かかります。

Run Command を使用して PowerShell を更新するには

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで [Run Command] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[Run Command] を選択します。

  3. [Run command (コマンドの実行)] を選択します。

  4. [コマンドドキュメント] リストで、AWS-RunPowerShellScript を選択します。

  5. [コマンド] セクションに、使用しているオペレーティングシステム用の以下のコマンドを貼り付けます。

    Windows Server 2012 R2
    Set-Location -Path "C:\Windows\Temp" Invoke-WebRequest "https://go.microsoft.com/fwlink/?linkid=839516" -OutFile "Win8.1AndW2K12R2-KB3191564-x64.msu" Start-Process -FilePath "$env:systemroot\system32\wusa.exe" -Verb RunAs -ArgumentList ('Win8.1AndW2K12R2-KB3191564-x64.msu', '/quiet')
    Windows Server 2012
    Set-Location -Path "C:\Windows\Temp" Invoke-WebRequest "https://go.microsoft.com/fwlink/?linkid=839513" -OutFile "W2K12-KB3191565-x64.msu" Start-Process -FilePath "$env:systemroot\system32\wusa.exe" -Verb RunAs -ArgumentList ('W2K12-KB3191565-x64.msu', '/quiet')
  6. [Targets (ターゲット)] セクションで、手動でインスタンスを指定または選択して、このオペレーションを実行するインスタンスを指定します。

    注記

    表示されると予測される Amazon EC2 インスタンスが表示されない場合は、トラブルシューティングのヒントについて「マネージドインスタンスのトラブルシューティング」を参照してください。

  7. [その他のパラメータ] で、以下の操作を行います。

    • [コメント] に、このコマンドに関する情報を入力します。

    • [タイムアウト (秒)] に、コマンドの実行全体が失敗するまでにシステムが待機する秒数を指定します。

  8. (オプション) [レートの制御] で、以下の操作を行います。

    • [同時実行] で、コマンドを同時に実行するインスタンスの数または割合 (%) を指定します。

      注記

      マネージドインスタンスに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるインスタンスの数が不明な場合は、割合 (%) を指定してドキュメントを同時に実行できるインスタンスの数を制限します。

    • [エラーのしきい値] で、インスタンスの数または割合 (%) で失敗した後で他のインスタンスでのコマンドの実行をいつ停止するか指定します。たとえば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、Systems Manager はコマンドの送信を停止します。コマンドを処理しているインスタンスもエラーを送信する可能性があります。

  9. (オプション) コマンド出力をファイルに保存する場合は、[Output options] の [Write command output to an S3 bucket] ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。

    注記

    S3 バケットにデータを書き込む機能を許可する S3 アクセス許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイルのものです。詳細については、「Systems Manager の IAM インスタンスプロファイルを作成する」を参照してください。さらに、指定された S3 バケットが別の AWS アカウントにある場合は、インスタンスに関連付けられたインスタンスプロファイルに、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

  10. [SNS Notifications (SNS 通知)] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[Enable SNS notifications (SNS 通知を有効にする)] チェックボックスをオンにします。

    コマンドの実行の Amazon SNS 通知の設定の詳細については、「Amazon SNS 通知を使用した Systems Manager ステータス変更のモニタリング」を参照してください。

  11. [Run (実行)] を選択します。

インスタンスが再起動し、更新プログラムのインストールが完了したら、インスタンスに接続し、PowerShell がバージョン 5.1 に正常にアップグレードされたことを確認します。インスタンスの PowerShell のバージョンを確認するには、PowerShell を開き、$PSVersionTable を入力します。アップグレードが成功した場合、出力テーブルの PSVersion の値は 5.1 と表示されます。

PSVersion 値が 5.1 と異なる場合 (たとえば 3.0 や 4.0)、[Windows ログ] の下にあるイベントビューアで [セットアップ] ログを確認します。これらのログは、更新プログラムのインストールが失敗した理由を示します。