【AWS】ECSでContainer Insightsを有効化する方法
はじめに
こんにちは、Takeです。都内の自社開発企業でエンジニアとして働いています。
今回はAmazon ECSのパフォーマンス監視を強化するために、Container Insightsを有効化する手順について説明します。
Container Insightsの現状確認
まず、現在のECSクラスターにおけるContainer Insightsの有効化状態を確認します。
- ECSコンソールを開く
- クラスターを選択
- 下図の赤枠部分が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アラームを設定することで異常検知時に即座に通知を受け取ることができます。
参考
最後に
ここまで読んでいただきありがとうございました!
今回の記事が良かったと思ったらぜひ「いいね」を押していただけると嬉しいです 🎉
noteでも記事を執筆していますので、ぜひチェックしてみてください。
他にもこのようなことについて記載しているのでお読みいただければ幸いです。
最後までお読みいただき、誠にありがとうございました!
Discussion