オブザーバビリティが強化されたContainer Insights on ECSを試してみた

こんにちは、DWSに入社して早くも1年が経ちました、ほっそーです。
今回は、AWS re:Invent 2024で発表された 「オブザーバビリティが強化されたContainer Insights on ECS」 を試してみました。本記事では、設定手順と実際に使ってみた所感をまとめています。
オブザーバビリティが強化されたContainer Insight とは?
今回のアップデートにより、ECSのメトリクスが クラスター・サービスレベルだけでなく、タスク・コンテナレベルまで詳細に可視化 できるようになりました。
CloudWatch Container Insightsのダッシュボードで、CPUやメモリ使用率などのメトリクスを一元管理 できるだけでなく、ECS環境の状態を直感的に把握できる ビジュアライゼーション機能 も提供されています。
ちなみに、EKS向けには 2023年に同様の機能が提供 されており、今回のアップデートでECSにも追加された形です。
公式ブログ:
Container Insights with Enhanced Observability now available in Amazon ECS
実際に試してみる
ECS Faragteのサンプルアプリケーションを構築する
AWSが提供する以下のリポジトリを活用してみます。
CloudFormationを利用して、シンプルなREST APIのアプリケーションをデプロイします。
GitHub: sample-application-ecs-and-efs
強化されたContainer Insightを有効化する
- Amazon ECSコンソール → クラスター → 対象のクラスターを選択
- クラスター設定を更新 → Container InsightsをON にする
- 更新 or クラスター作成 で適用完了

※ 新規・既存どちらのクラスターにも適用可能
- Amazon ECSコンソール → アカウント設定
- Container InsightsをON にして適用

aws ecs update-cluster-settings \
--cluster ${CLUSTER_NAME} \
--settings '[{"name": "containerInsights","value": "enhanced"}]'
ClusterSettings:
- Name: containerInsights
Value: enhanced
適用後、ECSクラスターの設定画面で 「オブザーバビリティが強化されたContainer Insights」 の表示を確認できます。

Container Insightsのダッシュボードを確認
CloudWatch Logs → Container Insights にアクセスすると、ECSクラスターの詳細情報を確認できます。さらに、クラスター・サービス・タスク・コンテナごとに切り替えながらメトリクスを表示 できます。


クラスター全体のCPU・メモリ使用率やタスクの稼働状況を確認可能。

ECSサービスごとのリソース使用率やスケーリングの状態を可視化。

個々のタスクごとのCPU・メモリ・ネットワーク使用状況を詳細に把握。

各コンテナのリソース消費状況や異常を細かく監視可能。

フィルター機能を活用
ダッシュボードの左側にある フィルター機能 を使うと、特定のクラスター・サービス・タスク・コンテナに絞り込んでメトリクスを表示 できます。
ピンポイントで調査したい場合に便利ですね。

他のAWSサービスとの連携
CloudWatch Logs InsightsやX-Rayとシームレスに連携可能。
以下の情報へ ワンクリックでアクセス できます。

アプリの挙動や異常を素早く分析できるのが便利ですね。今回、X-Rayは構築していませんが、試してみたいです。
どんなシーンで役立つのか?
ECS運用の経験から、どういったシーンで活用できそうか考えみました。
ECSのパフォーマンス低下やデプロイ後の不具合が発生しても、どのタスクやコンテナが原因なのか特定しにくい ことがあります。従来はログやイベントを手動で追いかける必要がありました。Container Insightsを活用すれば、
タスク・コンテナごとのCPUやメモリ使用率をリアルタイムで可視化
異常のあるリソースを素早くフィルタリングし、問題を特定
できるため、トラブルシューティングの時間短縮が可能になります。
クラスター・サービスレベルの監視だけでは、タスク・コンテナ単位での細かいリソース使用傾向 が分かりませんでした。Container Insightsを活用すれば、
タスク・コンテナごとのCPU・メモリ使用率を長期的に分析
リソース不足の兆候を事前に察知し、適切なスケーリングを実施
できるため、予防的な運用が可能になります。
マイクロサービス環境では、1つのサービスの異常が他のタスク・コンテナに影響を与える ことがあります。Container Insightsを活用すれば、
影響範囲をサービス・タスク・コンテナ単位で細かく特定
CloudWatch Logs InsightsやX-Rayと連携し、問題の根本原因を素早く分析
できるため、トラブルシューティングの効率が向上します。
まとめ: ECS運用の効率化が期待できる!
今回試した 「オブザーバビリティが強化されたContainer Insights」 は、ECS監視の課題改善につながる機能でした。
タスク・コンテナ単位での詳細なメトリクス表示
直感的なダッシュボード & フィルター機能で素早く分析
CloudWatch Logs Insights・X-Rayとの連携でトラブルシューティングがスムーズ
「原因の特定が難しい」「詳細なリソース使用状況が見えない」 という悩みに期待できそうです!
ECSの監視・運用に課題を感じている方は、ぜひ試してみる価値があると思いました!