昨年(2019年)からAmazon CloudWatch を利用することで、Amazon ECSのリソースを監視できるようになりましたが、既存のECSクラスターの場合、AWSマネジメントコンソールだと、Container Insightsをあとから有効化することができませんが、aws-cliだと設定できるのがわかったのでメモ。

作成時に設定(Container Insights を有効にする)できるけど

更新時に設定はできない(設定項目がない)

Amazon ECS向けAmazon CloudWatch Container Insightsについて

下記記事が参考になります。

Amazon ECS向けAmazon CloudWatch Container Insightsについて | Amazon Web Services ブログ

https://aws.amazon.com/jp/blogs/news/introducing-container-insights-for-amazon-ecs/

また、収集されるメトリクスについては下記が参考になりました。

Amazon ECS Container Insights のメトリクス – Amazon CloudWatch
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html

設定方法

下記ドキュメントに有効/無効化の手順があります。

Setting Up Container Insights on Amazon ECS for Cluster- and Service-Level Metrics – Amazon CloudWatch
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS-cluster.html

クラスターごとに設定

既存クラスターに対して有効/無効化するコマンドは下記となります。
--cluster パラメータはクラスター名とARNのどちらでも指定できました。

有効化

> aws ecs update-cluster-settings \
  --cluster <クラスターの名前 or ARN> \
  --settings name=containerInsights,value=enabled

無効化するにはこちら。

有効化

> aws ecs update-cluster-settings \
  --cluster <クラスターの名前 or ARN> \
  --settings name=containerInsights,value=disabled

アカウントレベルで設定

アカウントレベルで設定できるとドキュメントにありますが、手元の環境では期待した結果となりませんでした。

Setting Up Container Insights on Amazon ECS for Cluster- and Service-Level Metrics – Amazon CloudWatch
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS-cluster.html

(Google翻訳) すべての新しいクラスタでContainer Insightsをデフォルトで有効にするには、次のコマンドを入力します。

上記のコマンドを使用して、デフォルトですべての新しいクラスターでContainer Insightsを有効にしていない場合は、次のコマンドを入力して、Container Insightsを有効にして新しいクラスターを作成します。次のコマンドが機能するには、AWS CLIのバージョン1.16.200以降を実行している必要があります。

コマンドはこちら。

> aws ecs put-account-setting \
  --name "containerInsights" \
  --value "enabled"
  • 期待: 既存クラスターでContainer Insightsが有効になる
  • 結果: 既存クラスターでContainer Insightsは無効のまま

上記コマンドを実行後にAWSマネジメントコンソールでクラスターの作成画面を開いてみても「Container Insightsを有効にする」にデフォルトでチェックが入るわけでもなく、コマンド実行による挙動がよくわかりませんでした。

詳しくご存じの方がおられましたらコメントお願いします!

参考

Amazon ECS向けAmazon CloudWatch Container Insightsについて | Amazon Web Services ブログ
https://aws.amazon.com/jp/blogs/news/introducing-container-insights-for-amazon-ecs/

Amazon ECS Container Insights のメトリクス – Amazon CloudWatch
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html

Setting Up Container Insights on Amazon ECS for Cluster- and Service-Level Metrics – Amazon CloudWatch
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS-cluster.html

元記事はこちら

Amazon ECSの作成済みクラスターでContainer Insightsが有効化できた