Amazon Elastic Container Service (ECS)は、アマゾン・ウェブ・サービス(AWS)によって提供されるコンテナオーケストレーションサービスです。AWSが開発したソリューションで、大規模なコンテナクラスタの管理问题を解決するために使用しています。

ECSをどうして使用するのか?

他にもコンテナオーケストレーションツールがあり、それぞれ独自のメリットがありますが、ECSはAWS専用であり、AWSエコシステムに无缝に統合しています。AWS Elastic Load Balancer(ELB)、AWS Identity and Access Management(IAM)、AWS CloudTrail、AWS Elastic Block Storeに持続的なデータを储存したり、AWS CloudWatchで監視することもできます。

また、AWS Fargateと一緒に使用することもできます。Fargateは、完全に管理されたコンテナを提供するサーバレスコンピュートエンジンです。

監視とは?

監視は、リソース、サービス、アプリケーションのパフォーマンス、可用性、全体的な健康状况を追跡および観察するプロセスです。これにより、ユーザーに影響を与える前に問題を検出および解決することができ、アプリケーションの信頼性と可用性を向上させ、リソースの利用を最適化し、アプリケーションのセキュリティを強化することができます。

infrastructure is just a way to make sure everything is running the way it is supposed to. It also helps you to know how much traffic your app is receiving if it’s a web app or website, and what is really going on with it.

監視にはさまざまな側面があります。その中には、以下のようなものが含まれます。

  • パフォーマンス監視:ここで、インフラのパフォーマンス指標を追跡および監視します。CPU使用率、メモリ消費、ディスク、I/O、ネットワークなどです。

  • エラーやログ監視:ここでは、ログとエラーメッセージを収集および分析します。

  • 可用性監視:システムが稼働していることを確認します。

  • セキュリティ監視:潜在的な脅威や脆弱性に対応するために、セキュリティに関連するイベントと活動も追跡および監視します。監視は、DoS攻撃のようなものを検出するのに役立ちます。これは、受信トラフィックの異常なパターンを特定することで行われます。

ECSで何を監視するか?

クラウド監視では、メトリクスが基盤設施の健全性とパフォーマンスを監視するために使用されます。これらは、次元と一緒に使用されます。メトリクスは、クラウドリソースとサービスのパフォーマンス、健全性、使用状況を測定するために収集および監視されるデータポイントです。

次元は、メトリクスを絞り込む、分類する、およびコンテキストを提供するための属性と特徴を持つもので、キー/バリューペアとして表現されます。

Amazon ECSは、リソース監視のためにさまざまなメトリクスを提供します。これらには以下が含まれます:

  • CPU確保率:

    これは、実行中のタスクによって確保されているCPU单元の割合です。

  • メモリ確保率: 実行中のタスクによって確保されているメモリの割合です。

  • CPU使用率: これは、実行中のタスクによって使用されているCPU单元の割合です。

  • メモリ使用率: これは、実行中のタスクによって使用されているメモリの割合です。

  • コンテナインスタンス数: これは、クラスタ内のコンテナインスタンス数です。

  • 実行中のタスク数: 現在、クラスタ内で実行中のタスク数です。

Amazon ECSは、以下のような纬度を提供します:

  • コンテナ名: コンテナの名前です。

  • クラスタ名: ECSクラスタの名前です。

  • サービス名: サービスの名前

  • サービス名スペース: クラスター内のサービスをグループ化するための名前空間。

  • インスタンスタイプ: これは使用されている EC2 インスタンスのタイプを指します。例えば: t2.micro、c4.large、r5.xlarge などです。

  • タスクID: 各タスクに割り振られた唯一の識別子です。

AWS ECSでは、異なるレベルでリソースの監視を行うことができます。例えば、クラスターレベルでは CPUUtilization、CPUReservation、MemoryUtilization、MemoryReservation などを参照できます。サービスレベルでは CPUUtilization 和 MemoryUtilization を参照できます。

ECSを監視する方法は何ですか?

以下を利用することで Monitoring できます。

Amazon CloudWatch: AWS の監視サービスであり、AWS リソースからのデータを集め、分析し、視覚化することができます。また、アラームを設定し、閾値を超えると通知を受け取ることもできます。

AWS 管理コンソール: 管理コンソール上で直接クラスターやサービスのメトリクスを表示することもできます。

ECS API:ECS APIは、ECSサービスをプログラム的にアクセスするための手段を提供しており、AWSの外からクラスタとリソースを作成、修正、監視することができます。

第三者ツール: Datadog、Prometheusなどの第三者ツールが使えます。一部のツールはAWSと無缝に機能し、一部はエージェントをインストールする必要があります。

EC2インスタンス上のECSの監視には、直接的にEC2インスタンスにアクセスすることができ、OS上のメトリクスを監視するために従来のサーバー監視ツールを使用することができます。しかし、Fargate上のECSについては、EC2インスタンスにアクセスすることはできません。

AWS CloudWatchを使用してECSクラスタを監視する方法

AWS CloudWatchを使用することで、ECSクラスタをいくつかの方法で監視することができます。これには、メトリクスからログまで、警報を設定することが含まれます。このガイドでは、自動的なダッシュボードを使用してECSクラスタのメトリクスを表示する方法を示します。これを行うためには以下の手順に従ってください。

  1. AWS管理コンソールからCloudWatchを開き、サイドバーのダッシュボードに移動します。

  1. 自動ダッシュボードタブをクリックします。

  1. ECSクラスタをクリックします。これは、ECSクラスタの事前設定されたメトリクスを表示するダッシュボードに移動します。

個別のメトリクスを展開することもできます。

終わ

この記事で、ECSの監視について学びました。さまざまなメトリクスを監視する方法とその方法を学びました。

最後に、AWS CloudWatchを使用してECSクラスタを監視する方法を学びました。

リンクされていただき、私とのコミュニケーションはLinkedIn上にておこなうことができます。また、Xに关注してください。