AWS Distro for OpenTelemetry (ADOT) とは?
近年、システムの可観測性(Observability)の分野でデファクトスタンダードとなりつつあるのが OpenTelemetry (OTel) です。 その OpenTelemetry を AWS 環境で安全かつ簡単に利用できるように最適化したのが AWS Distro for OpenTelemetry (ADOT) です。
この記事では、ADOTの基本概念、メリット、そしてAWSの他の監視エージェントとの違いについて解説します。
1. ADOT の概要
OpenTelemetry とは?
まず前提として、OpenTelemetry (OTel) は、CNCF (Cloud Native Computing Foundation) がホストするオープンソースプロジェクトです。 メトリクス、ログ、トレースといったテレメトリーデータを収集・転送するための「標準的な」API、SDK、ツール群を提供しています。
ADOT とは?
ADOT は、この OpenTelemetry のコンポーネントを AWS がパッケージングし、セキュリティ検証と最適化を行った AWS公式のディストリビューション です。 アップストリームの OpenTelemetry との互換性を持ちながら、AWS サポートが提供される「本番環境で安心して使える OTel」と言えます。
2. なぜ ADOT を使うのか?
従来の CloudWatch Agent や X-Ray SDK ではなく、ADOT を選択する主な理由は以下の通りです。
ベンダーニュートラル (ロックイン回避)
OpenTelemetry は特定のベンダーに依存しない標準規格です。 アプリケーションのコードに OTel の計装(Instrumentation)を行っておけば、送信先を AWS X-Ray から Datadog や New Relic、Prometheus に切り替える際も、コードを書き換える必要がありません。設定ファイル(Collector の config)を変更するだけです。
マルチデスティネーション
1つのエージェント(ADOT Collector)から、複数のバックエンドに同時にデータを送信できます。
- メトリクス → Amazon Managed Prometheus と CloudWatch
- トレース → AWS X-Ray と Jaeger
自動計装 (Auto-Instrumentation)
Java, Python, .NET などの言語では、コードを変更することなく、エージェントをアタッチするだけで自動的にトレースデータを収集できます。 AWS Lambda でも、ADOT Lambda Layer を追加するだけでこの恩恵を受けられます。
3. ADOT のアーキテクチャ
ADOT は主に以下の2つのコンポーネントで構成されています。
ADOT SDK
アプリケーションに組み込み、テレメトリーデータを生成します。言語ごとのSDKがあり、手動計装または自動計装で使用します。
ADOT Collector
SDK から送られてきたデータを受け取り、加工(Process)し、バックエンドへ送信(Export)するプロキシのような役割を果たします。 ECS のサイドカー、EC2 上のデーモン、あるいは Lambda Layer の一部として動作します。
4. 主なユースケース
Container Insights (EKS / ECS)
Amazon EKS や ECS 上のコンアプリケーション監視において、ADOT は推奨される選択肢の一つです。 特に Prometheus メトリクスを収集し、Amazon Managed Service for Prometheus (AMP) に送信する構成では標準的に使用されます。
AWS Lambda の可視化
Lambda 関数に ADOT Layer を適用することで、コールドスタートや外部 API 呼び出しのトレースを X-Ray に送信できます。
5. CloudWatch Agent との使い分け
AWS には古くから CloudWatch Agent がありますが、どう使い分ければよいでしょうか?
| 特徴 | CloudWatch Agent | ADOT (OpenTelemetry) |
|---|---|---|
| 主な用途 | EC2のシステムメトリクス (CPU, Memory, Disk) 収集、ログ転送 | アプリケーショントレース、Prometheusメトリクス収集 |
| 標準規格 | AWS独自 | CNCFオープン標準 |
| 送信先 | CloudWatch (Metrics / Logs) | X-Ray, Prometheus, OpenSearch, および他社ツール |
| 推奨シーン | 仮想マシンのOS監視、ログ収集を行いたい場合 | マイクロサービスのトレース、EKS/ECS監視、ベンダー中立性を保ちたい場合 |
※ 現在、CloudWatch Agent も OTel 対応を進めていますが、純粋なアプリケーション監視用途では ADOT が主流になりつつあります。
まとめ
ADOT は、AWS 環境における「次世代の監視標準」です。 特にマイクロサービスアーキテクチャやコンテナ環境においては、特定のツールに依存しない OpenTelemetry の柔軟性が強力な武器になります。
これから新しいアプリケーション監視を構築する場合は、ぜひ ADOT の導入を検討してみてください。