ESを使ったログ基盤っぽいやつがとりあえず形になった
About
ある程度作ったのでメモ用。
イメージ
解説
- ECSで動いているfluentdが一旦S3にログを吐く
- S3にputされるとS3 eventを使ってその情報がSQSに流れる
- 別clusterで動いているfluentdコンテナがs3をpollingしていて、sqsから情報を取ってきてS3のログを取得する(fluent-plugin-s3のinputを使っている)
- 取ってきたログをfluent-plugin-elasticsearchを使ってESに投げる
- ESは別AWSアカウントで動いていて、別の担当者が構築しているので詳細は省く。
- AWSアカウント間をまたいでログを流すため、ちょっと工夫している。今回はVPC endpoint(Private link)を使ってVPCを意識せずにログを流すようにした。
- S3の設定からVPC endpointの設定周りはpythonでスクリプト書いて実現した。
- ログはkibanaで見る感じ。