先頃Amazonは、Amazon CloudWatch Container Insightsを使用して、コンテナ化されたアプリケーションとマイクロサービス環境の監視、分離、診断が可能になったと発表した。Cloud Insightsは、DevOpsエンジニア、開発者、サイト信頼性エンジニア(SRE)、ITマネージャを対象とした、AWSのフルマネージドな監視および観測サービスであるAmazon CloudWatchの一部である。
技術系最大手企業のAmazonは、昨年7月のAWSサミットで、新たなクラスタのオープンプレビューとして、CloudWatchのContainer InsightsでAmazon ECSとAWS Fargateをサポートすることを発表した。今回の発表で、Container Insightsの一般提供が開始されると同時に、その対象も既存のクラスタから、KubernetesやAmazon ECS for Kubernetesにも拡張されている。さらにこのサービスでは、クラスタ内で実行中のすべてのコンテナを検出して、コンテナスタックの全レイヤのパフォーマンスと運用データを収集する。
資料によると、Container Insightsは、既存のAmazon ECSクラスタ上でAWS CLIを使用して、または新たなクラスタ上でAmazon ECSコンソールまたはAWS CLIを使用して、有効にすることができる。Container Insightsが有効になれば、ユーザのリージョン用のCloudWatchコンソール上の、利用可能なダッシュボードのリストの中に、Container Insightsがオプションとして表示されるようになる。最後に、Container Insightsオプションを通じて関連するダッシュボードに移動すれば、監視したいクラスタをホストするコンテナ管理サービスが選択できるようになる。
出典: https://aws.amazon.com/blogs/aws/operational-insights-for-containers-and-containerized-applications/
CloudWatch Container Insightダッシュボードでは、次の操作を行うことができる。
- クラスタ全体のパフォーマンスを運用監視する
- クラスタ内部にドリルダウンして、クラスタ内のタスクのメトリクスを確認する
- コンテナを選択し、そのAWS X-Rayトレースあるいはパフォーマンスログを確認する
さらに、パフォーマンスログを選択することで、Amazon CloudWatch Logs Insightsのページに移動して、コンテナエコシステム(コンテナ、タスク/ポッド、クラスタなど)から収集したパフォーマンスイベントを対象にするクエリを実行し、トラブルシュートやより深い調査を行うことができるようになる。
"Amazon CloudWatch Container Insights for Amazon ECS"と題した詳細なブログ記事では、Sirirat Kongdee氏が次のように書いている。
従来は、カスタムメトリックの実装が必要でした。今後は、CloudWatch Container Insights for Amazon ECSの支援により、アプリケーションの監視と管理に集中し、運用上の問題に迅速に対応できるようになります。このサービスでは、新たに設けられたCPUやメモリのメトリクスを通じて、Amazon ECSクラスタ、サービス、タスクに関する、より鋭い洞察を得ることができます。適切なサイズ設定、警告、スケーリング、より多くの情報に基づいた分析を進めるためのパフォーマンスログ検索といった目的のために、CloudWatch Log Insightsを使用することが可能です。
CloudWatch Container Insightsに対抗するために、Microsoftは先日、PrometheusとAzure Monitor for Containersを統合して、AKSで動作するコンテナに対する監視機能をさらに強化した。現在プレビュー中のこのインテグレーションでは、AKSワークロードに関する重要な洞察が提供される。
CloudWatch Container Insightsは現在、Amazon Elastic Container Service for Kubernetes、Kubernetes、Amazon ECS、AWS Fargateが存在するパブリックAWSリージョンで利用可能である。詳細なサービス価格は、価格設定ページで見ることができる。