- Web Engineer
- アウトバウンド営業
- Webエンジニア(経験者)
- Other occupations (19)
- Development
- Business
はじめに
今回は AWS ECS において、アプリケーションの通常ログとは別に特定のログファイルを別の CloudWatch Logs グループ に出力する「サイドカー構成」について紹介します。
ログの分離出力は、開発・運用時のトラブルシューティングやログ保守・可視化の観点で非常に有用です。今回は、Railsで外部サービスとの連携ログをexternal_service.logに出力し、これをサイドカーのFluent BitコンテナでCloudWatch Logsに送信する構成を作ってみました。
サイドカーとは?どんな時に使う?
サイドカーコンテナとは、メインのアプリケーションコンテナと一緒に ECS タスク内で起動する補助的なコンテナのことです。
以下のようなケースで使われることが多いです:
- アプリとは別のログやメトリクスを処理したい
- 定期的なバッチ処理やクリーンアップ処理を並列で実行したい
- セキュリティ用の監視やエージェントを分離したい
- Proxy / Sidecar Pattern(Istio など)でのマイクロサービス連携
メインコンテナのサポート的な役割ですね!並走して走るのでサイドカー。
サイドカーのコストは?
ECS Fargate では、1 タスクに複数コンテナを定義できますが、課金対象はタスク数そのものです!
つまり、、、、
- サイドカーコンテナを追加してもタスク数が増えない
- 現在の CPU / メモリに余裕があるなら追加コストは基本的に発生しない
という点も嬉しいポイントです。
今回の実装だとログ転送量次第では CloudWatch コストが少し増える可能性はあります。とはいえ通常の運用では 数百円/月 程度で収まるケースがほとんどです。
やりたいことを整理
- 通常ログは STDOUT → CloudWatch(デフォルト設定)
- 外部連携ログは external_service.logに出力
- Fluent Bit がそれを監視し CloudWatch に送信
ECS タスク定義の変更
Terraformで記述していきます!
Fluent Bitサイドカーについて
今回はFluent BitをサイドカーとしてECSタスクに追加することで、特定ログファイル(external_service.log)をCloudWatch Logsに転送する構成をとります。
Fluent Bitは軽量なログ転送エージェントで、AWS公式が提供するイメージamazon/aws-for-fluent-bit:stableを使うことで、CloudWatch Logsへの出力がすぐに可能です。
ちなみに自分が少しハマったポイントでもあるのですが、latestタグではCloudWatch出力に失敗するケースがありました。CloudWatchプラグインが含まれる安定版(stable)を明示的に指定するのが安心です。
まずはCloudWatch Logsのロググループを作成します。
resource "aws_cloudwatch_log_group" "fluent_bit" {
  name              = "/ecs/external-service-log"
  retention_in_days = 30
}続いて、ECSタスク定義でFluent Bitをサイドカーとして追加します。
…
記事の続きは下のURLをクリック!
https://rightcode.co.jp/blogs/51763
エンジニア積極採用中です!
現在、WEBエンジニア、モバイルエンジニア、デザイナー、営業などを積極採用中です!
採用ページはこちら:https://rightcode.co.jp/recruit
社員の声や社風などを知りたい方はこちら:https://rightcode.co.jp/blogs?category=life
社長と一杯飲みながらお話しませんか?(転職者向け)
特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「営業」などを積極採用中です!
ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。
 
 
