ECS と Prometheus
Amazon ECS クラスターから Prometheus メトリクスを収集するには、CloudWatch エージェントをコレクターとして使用するか、AWS Distro for OpenTelemetry コレクターを使用できます。
以下のセクションでは、CloudWatch エージェントをコレクターとして使用して Prometheus メトリクスを取得する方法について説明します。Amazon ECS を実行しているクラスターに Prometheus モニターリングを使用して CloudWatch エージェントをインストールし、オプションで追加のターゲットをスクレイプするようにエージェントを設定することができます。また、これらのセクションでは、Prometheus モニターリングでのテストに使用するサンプルワークロードを設定するためのオプションのチュートリアルも提供します。
Amazon ECS の Container Insights は、Prometheus メトリクスの次の起動タイプとネットワークモードの組み合わせをサポートしています。
Amazon ECS 起動タイプ サポートされているネットワークモード
EC2 (Linux) ブリッジ、ホストおよび awsvpc
Fargate awsvpc
CloudWatch Agent が (Prometheus メトリクスを収集する) コレクターとなりエクスポートされた Prometheus メトリクスを読み込み、別途 EMF(embedded metric format) を使用して CloudWatch ログ経由で CloudWatch メトリクスに出力する。
CloudWatch エージェントのデプロイ方法としては3つ
- サイドカー
- サービス
- DaemonService
1. サイドカー
タスクレベルでの動作
1タスクに専用のCWエージェントが必要となる。
2. サービス
クラスターレベルで動作させる。
CWエージェントが外部とアクセスできるようにする必要がある(←これどうゆうことだ)
3. DaemonService
EC2起動タイプのみ。
コンテナインスタンス内のすべてのタスク、インスタンスのメトリクスの収集
コンテナインスタンスごとに自動でスケール