⛳
Datadog on EKS がややこしい
はじめに
EKS 上に Datadog を導入しようとしたら、思いの外手こずったので整理してまとめます。
概要
まず、EKS に Datadog を導入する場合、EKS on EC2 と EKS on Fargate でそれぞれ異なる Datadog Agent の導入が必要になります。
EC2 と Fargate を使い分けるような混合ワークロードの場合は、それぞれのワークロードに合わせた Agent の導入が必要になります。
Datadog Agent in EKS on EC2
この構成の場合、一般的な EC2 と同じように、各ノードに対して一つの Agent が必要になります。
EKS の導入に関しても、基本的に Kubernetes ドキュメントの指示に従い導入を進めていきます。
おすすめの導入方法は、Operator を利用したものです。
Datadog Agent in EKS on Fargate
この構成の場合は、ECS タスクと似たような構成になり、Pod のサイドカーとして Agent をデプロイする必要があります。
公式ドキュメント Amazon EKS on AWS Fargate が提供されているので、こちらに従って進めるのが良いでしょう。
また、混合ワークロードを利用していて、Datadog Cluster Agent を利用する場合は、別途追加の設定が必要になります。
こちらも Amazon EKS on AWS Fargate に設定方法が記載されています。
注意点
- Datadog Cluster Agent を利用する場合、Fargate 上ではなく、EC2 ノード上でデプロイされているかどうかをしっかりと確認しましょう。私はこれに気づかず、結構時間持ってかれました。
- タグを含めた環境変数周りの設定は、Agent 毎に都度設定しないといけません。IaC 化していると冗長的に感じることもありますが、頑張りましょう。
- Fargate を利用している場合、Pods の数が多ければ多いほど、料金は増えていきます。事前にコストの試算を行いましょう。
おわりに
EKS における Datadog Agent の導入は、ワークロードによってかなり複雑化します。
公式ドキュメントにも体系的にまとめてくれているところがなかったので、整理できてよかったです。
Discussion