コンテナのオブザーバビリティ設計 Container Insights・FireLens・ADOTでメトリクス・ログ・トレースをそろえる
DOP-C02では、ECSやEKSで動くコンテナの状態をどう観測するかが問われます。この記事では、メトリクス・ログ・トレースの3本柱を、どのサービスで収集するかという視点で整理します。
覚え方は「メトリクス・ログ・トレース」の3つの観点
コンテナ運用の観測は、メトリクス=負荷や再起動回数、ログ=アプリケーションの出力、トレース=リクエストがどのサービスを通ったか、の3つで考えます。要件文の「CPU使用率をタスク単位で見たい」「ログを分析基盤に送りたい」「遅いサービスを特定したい」がそれぞれ対応します。
メトリクス:Container InsightsとPrometheus
CloudWatch Container Insightsは、ECSとEKSのクラスター、サービス、タスク、Pod単位のCPU・メモリ・ネットワークなどを自動で収集し、ダッシュボードを提供します。手軽にAWSネイティブで始めたいならこれが第一候補です。すでにPrometheus形式で計測しているEKSの環境では、Amazon Managed Service for PrometheusとAmazon Managed Grafanaを組み合わせ、PromQLでの分析とダッシュボードを運用負荷なく使えます。
ログ:FireLensとCloudWatch Logs
ECSのFireLensは、Fluent BitまたはFluentdをサイドカーとして動かし、ログをCloudWatch Logs・S3・Firehose・外部の分析ツールへ振り分けます。ログをフィルタしながら複数の宛先へ送りたい場合に選びます。トレースにはAWS Distro for OpenTelemetry(ADOT)のコレクターを使い、X-Rayへ送ってサービスマップとレイテンシーを可視化します。
| 目的 | サービス | 選ぶ要件の例 |
|---|---|---|
| クラスター・タスクのメトリクス | Container Insights | AWSネイティブで手軽に監視したい |
| Prometheus形式の分析 | Managed Prometheus・Grafana | EKSで既存のPromQLを使いたい |
| ログの振り分け | FireLens(Fluent Bit) | 複数の宛先にフィルタして送りたい |
| トレース | ADOT・X-Ray | 遅いサービスやエラーの原因を特定したい |
チェックリスト
- メトリクス・ログ・トレースの3本柱と対応サービスを言える
- Container Insightsで見られる単位(クラスター・サービス・タスク・Pod)を説明できる
- FireLensの用途とFargateでの利用方法を説明できる
- ADOTコレクターからX-Rayへトレースを送る構成を描ける
まとめ
コンテナの観測は3本柱で整理し、手軽さならContainer Insights、柔軟なログ転送ならFireLens、トレースならADOTと覚えましょう。 理解度の確認にはクイズが便利です。試験範囲や申し込みの最新情報はAWS認定 公式ページもあわせて確認してください。
DOP(DevOpsエンジニア) におすすめの教材
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集
AWS認定DOP(DOP-C02)実践問題集(全範囲・225問)
AWS認定DOP 演習テスト(日本語)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。