昨年(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