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

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

AWS Management Console から Run Command、AWS Systems Manager の機能を使って、マネージドノードにログ インせずに設定することができます。このトピックでは、Run Command を使用してマネージドノードの SSM Agent を更新する方法の例を示します。

始める前に

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

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

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

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

    -または-

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

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

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

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

  6. [Targets] (ターゲット) セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。

    注記

    表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「マネージドノードの可用性のトラブルシューティング」を参照してください。

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

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

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

  8. [レート制御] の場合:

    • [Concurrency] (同時実行数) の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。

      注記

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

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

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

    注記

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

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

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

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

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

コマンドを再実行する

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

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

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

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

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

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

    -または-

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

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

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

Run Command を使用して SSM Agent を更新する

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

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

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

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

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

    -または-

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

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

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

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

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

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

  6. [Targets] (ターゲット) セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。

    注記

    表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「マネージドノードの可用性のトラブルシューティング」を参照してください。

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

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

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

  8. [レート制御] の場合:

    • [Concurrency] (同時実行数) の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。

      注記

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

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

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

    注記

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

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

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

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

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

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

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

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

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

    -または-

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

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

  4. [Command document (コマンドのドキュメント)] リストで、[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] (ターゲット) セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。

    注記

    表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「マネージドノードの可用性のトラブルシューティング」を参照してください。

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

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

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

  8. [レート制御] の場合:

    • [Concurrency] (同時実行数) の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。

      注記

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

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

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

    注記

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

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

    Run Command 用の 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 ログ] の下にあるイベントビューアで [セットアップ] ログを確認します。これらのログは、更新プログラムのインストールが失敗した理由を示します。