AWSが提供しているSystems Managerというサービス群を利用すると、EC2インスタンスやオンプレサーバを効率的に管理することが可能となる。
パッチの適用状況を一覧で確認したり、リモートコマンドを送信する等のオペレーションが可能であり特に大規模にサーバを管理している運用者には有用なツールと言える。
今回は、Systems ManagerのState Managerという機能を利用してWindowsインスタンスのイベントログをCloudWatchへ転送する設定を行う。
State Managerは、EC2 およびオンプレサーバを、定義された状態に保つプロセスを自動化する。
ここではSSM Agentのインストールは完了しているものとする。
・関連付けの名前 : ConfigureCloudWatchWindows
・SSM Document : AWS-ConfigureCloudWatch
・CloudWatch上のログストリーム形式:「ip-{ip Address}–ap-northeast-1」
上記のSSM Documentのパラメーターとして、SystemEventLog/SecurityEventLog/ApplicationEventLogのレベル4(情報)以上のイベントをCloudWatchへ転送するよう指定する
{ "IsEnabled": true, "EngineConfiguration": { "Components": [ { "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Id": "ApplicationEventLog", "Parameters": { "Levels": "4", "LogName": "Application" } }, { "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Id": "SystemEventLog", "Parameters": { "Levels": "4", "LogName": "System" } }, { "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Id": "SecurityEventLog", "Parameters": { "Levels": "4", "LogName": "Security" } }, { "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Id": "CloudWatchLogs", "Parameters": { "AccessKey": "", "LogGroup": "syslog", "LogStream": "ip-{ip_address}", "Region": "ap-northeast-1", "SecretKey": "" } } ], "Flows": { "Flows": [ "ApplicationEventLog,CloudWatchLogs", "SecurityEventLog,CloudWatchLogs", "SystemEventLog,CloudWatchLogs" ] }, "PollInterval": "00:00:15" } }