Amazon Elastic Container Service(ECS)の監視は、AWS ECS上で実行されているコンテナ化されたワークロードに対するリアルタイムの可視性を提供し、分散システムにおける信頼性の高いパフォーマンスを確保して、リソースのボトルネックを防ぎます。OpenTelemetry Collectorを使用すると、ECS on EC2およびECS Fargateの両方の起動タイプで機能する、柔軟でベンダーニュートラルなアプローチを通じて、包括的な監視を実現できます。
Collector要件
ECSの監視でAWS ECSコンテナメトリクスレシーバー(awsecscontainermetricsreceiver)にアクセスするには、OpenTelemetry Collector Contribディストリビューションが必要です。詳細については、OpenTelemetry Collector Contrib GitHubリポジトリを参照してください。

なぜECS監視なのか
- システム停止を防ぐ - ダウンタイムが発生する前に、コンテナの障害、リソースの枯渇、サービスの健全性の問題に関するアラートを受信します
- パフォーマンスの最適化 — アプリケーションの速度に影響を与えるCPU/メモリのボトルネック、I/Oの制約、およびリソース割り当ての問題を特定
- キャパシティの計画 — プロアクティブにスケーリングするために、リソースの使用状況、タスクのスケーリングパターン、クラスタの使用率を追跡します
- サービスの可用性を確保 — タスクの健全性、サービスのデプロイメントステータス、およびコンテナのライフサイクルイベントをモニター
一般的な使用例
サーバーレスコンテナ向けにECS Fargateでマイクロサービスを実行している場合でも、コスト最適化のためにEC2を使用したECSでコンテナ化されたアプリケーションを管理している場合でも、ECSの監視は、ビジネスに影響が及ぶ前に問題を検知するのに役立ちます。アプリケーションパフォーマンスを脅かすほどCPU使用率が急上昇した場合、タスク終了のリスクを伴うほどメモリ使用量が上限に近づいた場合、またはサービスの低下を示すコンテナのヘルスチェックが失敗した場合に、アラートを受け取ります。この監視は、パフォーマンスと可用性がユーザー体験に直接影響を与えるWebアプリケーション、APIサービス、およびコンテナ化されたあらゆるワークロードにとって不可欠です。
始めましょう
Amazon ECS環境の監視を開始する準備はできましたか?適切なセットアップガイドで開始するには、デプロイメントタイプを選択します。
使い方
OpenTelemetry Collectorは、包括的なメトリクスを収集するために、ECSタスク定義内でサイドカーコンテナとして実行されます:
- AWS ECS コンテナ メトリクス レシーバーは、ECSタスクメタデータエンドポイントv4に接続し、コンテナのCPU、メモリ、ネットワーク、ストレージのメトリクスを収集します。
- Host Metricsレシーバーは、CPU、メモリ、ファイルシステム、ディスク、ネットワークの使用率などのシステムレベルのメトリクスを収集します(EC2で利用可能、Fargateでは制限あり)