Run Command を使用してソフトウェアを更新する - AWS Systems Manager

Run Command を使用してソフトウェアを更新する

以下の手順は、マネージドノードのソフトウェアを更新する方法について説明しています。

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

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

注記

インスタンスが macOS バージョン 11.0 (Big Sur) 以降を実行している場合、AWS-UpdateSSMAgent ドキュメントを実行するにはインスタンスの SSM Agent バージョン 3.1.941.0 以上が必要です。インスタンスが 3.1.941.0 より前にリリースされた SSM Agent バージョンを実行している場合は、brew update および brew upgrade amazon-ssm-agent コマンドを実行することで AWS-UpdateSSMAgent ドキュメントを実行するように SSM Agent を更新できます。

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

Run Command を使用して SSM Agent を更新するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

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

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

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

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

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

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

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

    ヒント

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

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

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

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

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

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

      注記

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

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

  9. (オプション) コマンド出力をファイルに保存する場合は、[出力オプション][S3 バケットにコマンド出力を書き込む] ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。

    注記

    S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「Systems Manager に必要なインスタンスのアクセス許可を設定する」または「ハイブリッド環境に 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] を選択します。

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

  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. [レート制御] の場合:

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

      注記

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

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

  9. (オプション) コマンド出力をファイルに保存する場合は、[出力オプション][S3 バケットにコマンド出力を書き込む] ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。

    注記

    S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「Systems Manager に必要なインスタンスのアクセス許可を設定する」または「ハイブリッド環境に 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 ログ] の下にあるイベントビューアで [セットアップ] ログを確認します。これらのログは、更新プログラムのインストールが失敗した理由を示します。