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 AgentADOT (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 の導入を検討してみてください。