🪟
CloudWatchLogsからS3保管(Windowsイベントログ)
はじめに
今回はWindowsイベントログをS3に保管する方法を備忘録として残しておく。通常、Windowsイベントログはログサイズが最大値に達したときに上書きされる設定になっている。ログを長期間保存する設定はいくつか方法があるが今回はS3を使用する。以下の記事でCloudWatchのロググループで保存しているが、費用がかさむためロググループに出力したログをKinesis Data Firehoseを利用してS3に保管していく。
S3バケットの作成
ログを保管するS3バケットを作成する。
[バージョニング]を有効にして一意のバケット名で作成する。※その他はデフォルトの設定
Kinesis Data Firehoseの作成
配信ストリーム名は任意で入れる。先ほど作成したS3を選択して作成する。
※その他はデフォルトの設定
IAMロールの作成
CloudWatchLogsからKinesisDataFirehoseにアクセスできるようIAMロールを作成する。
ロールにアタッチするポリシーは以下を使用する。
ロールの信頼関係は以下のように設定する。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "logs.ap-northeast-1.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
サブスクリプションフィルターの作成
CloudWatchのロググループにある以下の3つにサブスクリプションフィルターを作成してS3に保管する設定を行う。
[アクション]→[サブスクリプションフィルター]→[Kinesis Firehose サブスクリプションフィルターを作成]を選択する。
- [Kinesis Firehose delivery stream]に作成したFirehoseを選択する。
- [既存のロールを選択]に作成したIAMロールを選択する。
- サブスクリプションフィルター名は任意で入れる。
その他はデフォルトのままストリーミングを開始を選択する。
※残りの2つも同じように作成する。
ログ確認
作成したS3バケットにログが保存されることを確認する。
おわりに
S3に保存したログが少し見にくいので今後はもっと見やすくできるような方法を探したい。
Discussion