Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスに、その起動時に AWS Systems Manager Agent (SSM Agent) をインストールする方法を知りたいと考えています。また、SSM Agent を常に最新の状態にしたいと思っています。
簡単な説明
SSM エージェントは、2016 年 11 月以降に公開された Windows Server 2012 R2 AMI に、デフォルトでインストールされます。SSM エージェントは、Windows Server 2016、2019、および 2022 の AMI にも、デフォルトでインストールされます。
他のバージョンの Windows AMI (含む: AWS にインポートされたイメージ) から作成された Amazon EC2 インスタンスには、手動で SSM エージェントをインストールする必要があります。Amazon EC2 Windows インスタンスに SSM エージェントをインストールするには、インスタンスを起動する前に、インスタンスにユーザーデータを追加しておきます。SSM エージェントを常に最新状態にするには、Fleet Manager の設定で [SSM Agent の自動更新] を有効にします。
2020 年 1 月 14 日以降、Windows Server 2008 の機能更新プログラムとセキュリティ更新プログラムが、Microsoft から提供されなくなりました。Windows Server 2008 および 2008 R2 のレガシー AMI には、SSM Agent のバージョン 2 が今でもプリインストールされています。AWS Systems Manager はこれらの 2008 バージョンを公式サポートしなくなったので、同バージョンの Windows Server 向け SSM Agent の更新プログラムも提供しなくなりました。SSM Agent バージョン 3.0 は、Windows Server 2008 および 2008 R2 のすべての操作と互換性があるとは限りません。Windows Server 2008 バージョン向け SSM Agent の最後の公式サポートバージョンは 2.3.1644.0 です。
**重要:**SSM Agent をインストールする前に、次の要件が満たされていることを確認してください。
解決策
新しく起動したインスタンスに、ユーザーデータを追加したうえで SSM Agent をインストールします
1. SSM Agent で使用する AWS Identity and Access Management (IAM) インスタンスプロファイルを作成します。
- 新しい Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動します。次に、アプリケーションや OS のイメージ、インスタンスタイプ、キーペア、ネットワーク設定、ストレージなどのインスタンスパラメータを設定します。
3. [高度な詳細] セクションを展開し、[IAM インスタンス****プロファイル] ドロップダウンリストで、ステップ 1 で作成したインスタンスプロファイルを選択します。
4. [ユーザーデータ] ボックスに、次の情報を入力します。
<powershell>
$dir = $env:TEMP + "\ssm"
New-Item -ItemType directory -Path $dir -Force
cd $dir
(New-Object System.Net.WebClient).DownloadFile("https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe", $dir + "\AmazonSSMAgentSetup.exe")
Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log") -Wait
</powershell>
詳細については、「ユーザーデータおよびコンソール」を参照してください。
5. 起動するインスタンスの数を入力します。
6. インスタンスを起動します。
Linux の場合は、「起動時に Amazon EC2 Linux インスタンスに AWS Systems Manager Agent (SSM Agent) をインストールする方法を教えてください。」を参照してください。
[SSM Agent の自動更新] を有効化
1. AWS Systems Manager コンソールを開きます。
2. ナビゲーションペインで、[Fleet Manager] を選択します。
3. [設定] タブを選択し、[エージェントの自動更新] で [SSM Agent の自動更新] を選択します。
注: [SSM Agent の自動更新] の設定値は、この設定値が選択されている、リージョン内のすべてのマネージドノードに適用されます。
4. 次に、SSM Agent のフリートを設定します。
- フリートの更新先の SSM Agent バージョンを変更するには、[設定] タブの [エージェントの自動更新] で [編集] を選択します。次に、[パラメータ] の [バージョン] に、更新先の SSM Agent バージョン番号を指定します。指定しない場合には、Agent は最新バージョンに更新されます。
- 設定したスケジュールの変更 (デフォルトでは 14 日ごとに実行される) には、[設定] タブの [エージェントの自動更新] で [編集] を選択します。その後、「Cron and rate expressions for associations」に基づき [スケジュールを指定] の [スケジュールあり] オプションを使用して、好みのスケジュールを設定します。
- 更新後バージョンの SSM Agent がアカウント内のマネージドノードに自動的にデプロイされないようにするには、[設定] タブの [エージェントの自動更新] で [削除] を選択します。これにより、マネージドノードの SSM Agent を自動更新するステートマネージャー関連付けが削除されます。
関連情報
SSM Agent への更新の自動化
Windows サーバーの EC2 インスタンスに SSM Agent を手動でインストールする
Windows Server インスタンスのプロキシを使用するように SSM Agent を設定する
AWS Systems Manager のセットアップ
Windows Server 用 EC2 インスタンスで SSM Agent を使用する