ハイブリッド 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 をインストールするには
-
ハイブリッドおよびマルチクラウド環境のサーバーまたは VM にログオンします。
-
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
-
昇格された (管理者) モードで Windows PowerShell を開きます。
-
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
- エージェントをダウンロードおよびインストールする間の署名検証をスキップします。
-
-
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 を設定するには
-
Linux マシンでは
/etc/amazon/ssm/
、Windows Server マシンではC:\Program Files\Amazon\SSM
に移動します。 -
amazon-ssm-agent.json.template
の内容をamazon-ssm-agent.json
という名前の新ファイルにコピーします。amazon-ssm-agent.json.template
と同じディレクトリにamazon-ssm-agent.json
を保存します。 -
Profile
、KeyAutoRotateDays
を探す プライベートキーの自動ローテーション間隔の日数を入力します。 -
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 ハイブリッドマシンでマネージドノードを再登録するには
-
マシンへ接続します。
-
以下のコマンドを実行します。必ずプレースホルダー値の代わりに、ハイブリッドのアクティベーションの作成時に生成されたアクティベーションコードとアクティベーション 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"