ハイブリッド Windows ノードで SSM Agent をインストールする方法 - AWS Systems Manager

ハイブリッド Windows ノードで SSM Agent をインストールする方法

このトピックでは、ハイブリッドおよびマルチクラウド環境の Windows Server マシンに SSM Agent をインストールする方法について説明します。ハイブリッドおよびマルチクラウド環境で非 EC2 Linux マシンを使用する場合は、前のステップ「ハイブリッド Linux ノードで SSM Agent をインストールする方法」を参照してください。

重要

この手順は、ハイブリッドおよびマルチクラウド環境の非 EC2 (Amazon Elastic Compute Cloud) マシンを対象としています。Windows Server の EC2 インスタンスに SSM Agent をダウンロードしてインストールするには、Windows Server 用の EC2 インスタンスに SSM Agent を手動でインストールおよびアンインストールする を参照してください。

開始する前に、ハイブリッドアクティベーションを作成して、Systems Manager にノードを登録する でハイブリッドのアクティベーションを先ほど完了した後に送信されたアクティベーションコードとアクティベーション ID を見つけます。このコードと ID を次の手順で指定します。

ハイブリッドおよびマルチクラウド環境の非 EC2 Windows Server マシンに SSM Agent をインストールするには
  1. ハイブリッドおよびマルチクラウド環境のサーバーまたは VM にログオンします。

  2. HTTP または HTTPS プロキシを使用する場合は、現在のシェルセッションで http_proxy または https_proxy の環境変数を設定する必要があります。プロキシを使用していない場合は、この手順を省略できます。

    HTTP プロキシサーバーの場合は、次の変数を設定します。

    http_proxy=http://hostname:port https_proxy=http://hostname:port

    HTTPS プロキシサーバーの場合は、次の変数を設定します。

    http_proxy=http://hostname:port https_proxy=https://hostname:port
  3. 昇格された (管理者) モードで Windows PowerShell を開きます。

  4. Windows PowerShell に以下のコマンドブロックを貼り付けます。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。例えば、ハイブリッドのアクティベーションの作成時に生成されたアクティベーションコードとアクティベーション ID、および SSM Agent のダウンロード元の AWS リージョン の識別子です。

    注記

    次の重要な詳細に留意してください。

    • ssm-setup-cli で、エージェントのダウンロード元を判断する manifest-url オプションがサポートされました。ご自身の組織で必要とされている場合を除き、このオプションには値を指定しないでください。

    • ここに記載されているスクリプトを使用して、ssm-setup-cli の署名を検証できます。

    • インスタンスを登録するときは、ssm-setup-cli 用として指定されたダウンロードリンクのみを使用します。ssm-setup-cli を今後の使用のために個別に保管しないでください。

    region は、米国東部 (オハイオ) リージョンの us-east-2 のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている region 値の一覧については、「Amazon Web Services 全般のリファレンス」の「Systems Manager サービスエンドポイント」にある Region 列を参照してください。

    さらに、ssm-setup-cli には次のオプションが含まれます。

    • version – 有効な値は latest および stable です。

    • downgrade - エージェントを以前のバージョンに戻します。

    • skip-signature-validation - エージェントをダウンロードおよびインストールする間の署名検証をスキップします。

    64-bit
    [System.Net.ServicePointManager]::SecurityProtocol = 'TLS12' $code = "activation-code" $id = "activation-id" $region = "us-east-1" $dir = $env:TEMP + "\ssm" New-Item -ItemType directory -Path $dir -Force cd $dir (New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-$region.s3.$region.amazonaws.com/latest/windows_amd64/ssm-setup-cli.exe", $dir + "\ssm-setup-cli.exe") ./ssm-setup-cli.exe -register -activation-code="$code" -activation-id="$id" -region="$region" Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration") Get-Service -Name "AmazonSSMAgent"
    32-bit
    "[System.Net.ServicePointManager]::SecurityProtocol = 'TLS12'" $code = "activation-code" $id = "activation-id" $region = "us-east-1" $dir = $env:TEMP + "\ssm" New-Item -ItemType directory -Path $dir -Force cd $dir (New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-$region.s3.$region.amazonaws.com/latest/windows_386/ssm-setup-cli.exe", $dir + "\ssm-setup-cli.exe") ./ssm-setup-cli.exe -register -activation-code="$code" -activation-id="$id" -region="$region" Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration") Get-Service -Name "AmazonSSMAgent"
  5. Enter キーを押します。

注記

コマンドが失敗した場合は、AWS Tools for PowerShell の最新バージョンを実行していることを確認します。

コマンドが以下の操作を行います。

  • SSM Agent をマシンにダウンロードしてインストールします。

  • マシンを Systems Manager サービスに登録します。

  • リクエストに対して次のようなレスポンスを返します。

        Directory: C:\Users\ADMINI~1\AppData\Local\Temp\2
    
    
    Mode                LastWriteTime         Length Name
    ----                -------------         ------ ----
    d-----       07/07/2018   8:07 PM                ssm
    {"ManagedInstanceID":"mi-008d36be46EXAMPLE","Region":"us-east-2"}
    
    Status      : Running
    Name        : AmazonSSMAgent
    DisplayName : Amazon SSM Agent

これで、マシンはマネージドノードになりました。これらのマネージドノードは、「mi-」というプレフィックスで識別されます。Fleet Manager の [マネージドノード] ページにマネージドノードを表示するには、AWS CLI コマンド describe-instance-information、または API コマンド DescribeInstanceInformation を使用します。

プライベートキーの自動ローテーションを設定する

セキュリティポスチャを強化するには、AWS Systems Manager エージェント (SSM Agent) を設定して、ハイブリッドまたはマルチクラウド環境用のプライベートキーを自動的にローテーションさせます。SSM Agent バージョン 3.0.1031.0 以降を使用すると、この機能にアクセスできます。次の手順に従ってこの機能を有効にします。

ハイブリッドおよびマルチクラウド環境のプライベートキーをローテーションするように SSM Agent を設定するには
  1. Linux マシンでは /etc/amazon/ssm/、Windows Server マシンでは C:\Program Files\Amazon\SSM に移動します。

  2. amazon-ssm-agent.json.template の内容を amazon-ssm-agent.json という名前の新ファイルにコピーします。amazon-ssm-agent.json.template と同じディレクトリに amazon-ssm-agent.json を保存します。

  3. ProfileKeyAutoRotateDays を探す プライベートキーの自動ローテーション間隔の日数を入力します。

  4. SSM Agent を再起動します。

設定を変更するたびに、SSM Agent を再起動します。

同じ手順を使用して、SSM Agent の他の機能をカスタマイズできます。使用可能な設定プロパティとそのデフォルト値の最新リストについては、「Config Property Definitions (設定プロパティの定義)」を参照してください。

マネージドノードの登録解除と再登録

マネージドノードの登録を解除するには、AWS CLI または Tools for Windows PowerShell のいずれかから DeregisterManagedInstance API オペレーションを呼び出します。以下に CLI コマンドの例を示します。

aws ssm deregister-managed-instance --instance-id "mi-1234567890"

エージェントの残りの登録情報を削除するには、amazon-ssm-agent.json ファイル内の IdentityConsumptionOrder キーを削除します。次に、以下のコマンドを実行します。

amazon-ssm-agent -register -clear

マシンは、登録解除した後に再登録できます。マネージドノードとしてマシンを再登録するには、次の手順を使用します。手順を完了すると、マネージドノードがマネージドノードのリストに再び表示されます。

Windows ハイブリッドマシンでマネージドノードを再登録するには
  1. マシンへ接続します。

  2. 以下のコマンドを実行します。必ずプレースホルダー値の代わりに、ハイブリッドのアクティベーションの作成時に生成されたアクティベーションコードとアクティベーション ID、および SSM Agent のダウンロード元のリージョンの識別子を入力します。

    'yes' | & Start-Process ./ssm-setup-cli.exe -ArgumentList @("-register", "-activation-code=$code", "-activation-id=$id", "-region=$region") -Wait Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration") Get-Service -Name "AmazonSSMAgent"