Open1

ECS と Prometheus

yk68-hanpenyk68-hanpen

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup-ECS.html

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 メトリクスに出力する。

https://github.com/aws-samples/amazon-cloudwatch-container-insights/tree/main/ecs-task-definition-templates/deployment-mode
CloudWatch エージェントのデプロイ方法としては3つ

  1. サイドカー
  2. サービス
  3. DaemonService

1. サイドカー

タスクレベルでの動作
1タスクに専用のCWエージェントが必要となる。

2. サービス

クラスターレベルで動作させる。
CWエージェントが外部とアクセスできるようにする必要がある(←これどうゆうことだ)

3. DaemonService

EC2起動タイプのみ。
コンテナインスタンス内のすべてのタスク、インスタンスのメトリクスの収集
コンテナインスタンスごとに自動でスケール