こんにちは、技術4課の城です。
最近では暑すぎて、アイスにハマっています。
今年はセブンイレブンの限定アイス「黄ぐま」が売り切れることなく販売されており、嬉しい限りです。
さて話は変わりますが、CloudwatchLogs、すごく便利なサービスと思いつつも、今までほとんど触れることがなかったです。
掲題の設定をするにあたり、かなり四苦八苦してしまいました。
簡単なことではあるのですが、備忘としてブログに残しておこうと思います。
CloudwatchLogsの設定方法
AWSドキュメントです。
主には以下の3つの方法で設定可能です。
- Run Command を使用する
- ステートマネージャー を使用する
- ローカル設定ファイルを使用する
どれを選んでも実際のインスタンスの設定としては C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\AWS.EC2.Windows.CloudWatch.json
にCloudwatchLogsへの出力設定を記載します。
ステートマネージャーによる設定
当社ブログに詳細記載しておりますので、ご参照ください。
AWS.EC2.Windows.CloudWatch.jsonの設定内容
設定したい内容に合わせてjsonを書く必要があります。
ドキュメントを色々と見てみましたが、記載方法などが見当たらず、四苦八苦、右往左往でした。
最終的にCloudFormationの設定テンプレートの中に設定したい内容がそのまま書いてあり、解決しました。
ポイントとしては次の2点です。
- LogStream毎にIdを用意する
- ログ(LogStream)ごとにFlowを分ける
今回作成した内容は下記になります。
LogGroupをインスタンスごと、System、Security、Applicationの各イベントログでログストリームを分ける設定です。
{ "IsEnabled" : true, "EngineConfiguration": { "PollInterval": "00:00:15", "Components": [ { "Id": "SystemEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "System", "Levels": "7" } }, { "Id": "SecurityEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Security", "Levels": "7" } }, { "Id": "ApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Application", "Levels": "7" } }, { "Id": "CloudWatchLogsSystemEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "ap-northeast-1", "LogGroup": "Windows2016", "LogStream": "{instance_id}_System" } }, { "Id": "CloudWatchSecurityEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "ap-northeast-1", "LogGroup": "Windows2016", "LogStream": "{instance_id}_Security" } }, { "Id": "CloudWatchLogsApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "ap-northeast-1", "LogGroup": "Windows2016", "LogStream": "{instance_id}_Application" } } ], "Flows": { "Flows": [ "SystemEventLog,CloudWatchLogsSystemEventLog", "SecurityEventLog,CloudWatchSecurityEventLog", "ApplicationEventLog,CloudWatchLogsApplicationEventLog" ] } } }
最後に
簡単ではありますが、CloudwatchLogsの設定について紹介しました。
どなたかのお役に立てれば幸いです。
城 航太 (記事一覧)
営業部カスタマーサクセス課・課長
AWSへの移行、AWSアカウントセキュリティ、ネットワーク広く浅くといった感じです。最近はAmazon WorkSpacesやAmazon AppStream2.0が好きです。APN Ambassador 2019,2020