🔎

【AWS】ECSでContainer Insightsを有効化する方法

2024/05/21に公開

はじめに

こんにちは、Takeです。都内の自社開発企業でエンジニアとして働いています。

今回はAmazon ECSのパフォーマンス監視を強化するために、Container Insightsを有効化する手順について説明します。

Container Insightsの現状確認

まず、現在のECSクラスターにおけるContainer Insightsの有効化状態を確認します。

  1. ECSコンソールを開く
  2. クラスターを選択
  3. 下図の赤枠部分がdefault状態であれば、Container Insightsは無効です。

Container Insightsの有効化

次に、Container Insightsを有効化するための手順を示します。
以下のコマンド(AWS CLI)を使用してContainer Insightsを有効化します。

aws ecs update-cluster-settings --cluster 適当なnameに修正 --settings name=containerInsights,value=enabled

実行後にJSON形式のレスポンスが返されます。"status": "ACTIVE"を確認します。

$ aws ecs update-cluster-settings --cluster example-cluster --settings name=containerInsights,value=enabled
{
    "cluster": {
        "clusterArn": "arn:aws:ecs:ap-northeast-1:123456789012:cluster/example-cluster",
        "clusterName": "example-cluster",
        "status": "ACTIVE",
        "registeredContainerInstancesCount": 0,
                        "name": "scalingPlanName",
                        "value": "ECSManagedAutoScalingPlan-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                    }
                ]
            },
            {
                "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                "type": "asp",
                "status": "CREATED",
                "details": [
                    {
                        "name": "capacityProviderName",
                        "value": "example-app"
                    },
                    {
                        "name": "scalingPlanName",
                        "value": "ECSManagedAutoScalingPlan-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                    }
                ]
            }
        ],
        "attachmentsStatus": "UPDATE_COMPLETE"
    }
}

ECSコンソールに戻りクラスターを再度確認します。
Container Insightsが有効化されていることを確認できます。

CloudWatchアラームの設定

次に、Container Insightsが収集するメトリクスに基づいてCloudWatchアラームを設定します。

Terraformでの設定例

以下は、Terraformを使用してECSクラスターでContainer Insightsを有効化し、CloudWatchアラームを設定する例です。

resource "aws_ecs_cluster" "foo" {
  name = "white-hart"

  setting {
    name  = "containerInsights"
    value = "enabled"
  }
}

terraform apply 実行後、Container Insightsが有効化され、ECSクラスターのパフォーマンスデータを詳細に監視できるようになります。

また、CloudWatchアラームを設定することで異常検知時に即座に通知を受け取ることができます。

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_cluster

参考

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/ContainerInsights.html

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics.html

https://qiita.com/sugimount-a/items/7c62582972a80deccd7d

最後に

ここまで読んでいただきありがとうございました!
今回の記事が良かったと思ったらぜひ「いいね」を押していただけると嬉しいです 🎉

noteでも記事を執筆していますので、ぜひチェックしてみてください。
https://note.com/take_lifelog/n/n58df7ce7af6f

他にもこのようなことについて記載しているのでお読みいただければ幸いです。

https://zenn.dev/take_tech/articles/275e5f4242973d

https://zenn.dev/take_tech/articles/374817f256ec9d

最後までお読みいただき、誠にありがとうございました!

Discussion