EC2Configのメジャーバージョンが3から4に上がり、2016.11.23以降のAMIからWindowsサーバをlaunchするとv4のEC2Configがプリインストールされているようです。
http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html
v4の変更点を公式ページで確認すると、SSM Agentなるものが新たにインストールされ、諸々の機能がそれに統合されたようです。
http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_Install.html
v4のEC2Configでcloudwatch logsの設定を以下のいつもの手順で試みましたが、いっこうにログが打ち上げられませんでした。
http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/send_logs_to_cwl.html
そこでサポートセンターに確認しましたところ、手順に変更があることが分かりました。
(調査していただき感謝です)
AWS公式ページhttp://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html#win2k16-amisにも記載されておりました。
- AWS.EC2.Windows.CloudWatch.json ファイルについて
a. 一度もEC2ConfigあるいはSSMエージェントからの送信を設定されていない場合、サンプル JSON ファイル(https://s3.amazonaws.com/ec2-downloads-windows/CloudWatchConfig/AWS.EC2.Windows.CloudWatch.json)をダウンロードします。
b. 既存のJSONファイルがある場合、C:\Program Files\Amazon\Ec2ConfigService\Settings のJSONファイルを利用します。 - C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch に新規または既存のJSONファイルを配置します。
- JSONファイルをエディタで開きます。
- “IsEnabled”:true を 2行目に追加します。IsEnabled セクションが EngineConfiguration セクションと同じ階層にあることを確認します。
下記に例を示します。
作業前:
{ "EngineConfiguration": { "PollInterval": "00:00:15", "Components": [ { "Id": "ApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Application", "Levels": "1" } …………. (抜粋) } } }
作業後:
{ "IsEnabled":true, "EngineConfiguration": { "PollInterval": "00:00:15", "Components": [ { "Id": "ApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Application", "Levels": "1" } …………. (抜粋) } } } }
5.上記のステップが完了したら、Amazon SSM Agentサービスを再起動します。
新規でEC2を構築した際には上記の5の「Amazon SSM Agentサービスを再起動」のみで現象は解消しました。
>4. “IsEnabled”:true を 2行目に追加します。IsEnabled セクションが EngineConfiguration セクションと同じ階層にあることを確認します。
新規作成時には「”IsEnabled”:true」が自動で設定されていました。
「Amazon SSM Agentサービス」の再起動方法
Amazon SSM Agentサービスを再起動させる方法について。
まずGUIでの方法です。
以下の「Amazon SSM Agent」を再起動すれば出来ます。
最後にpowershellで実行する方法。userdataやansibleの時はこちらを利用することになります。
Restart-Service AmazonSSMAgent.exe
以上です。