Fargateの監視今回はFargateの監視を行うにあたり、Container Insights を利用することとなったため有効化/無効化の方法について整理してみます。
Container Insights
できること
CloudWatchでは取得できなかったタスクやコンテナ単位のメトリクスが、Container Insights の有効化により取得できるようになります。(Container Insights のメトリクス一覧はこちらの公式ドキュメントを参照)
今回の場合は、起動している「タスク数」のメトリクスを監視することで異常を検知したくてContainer Insights を有効化することとなりました。
設定時のポイント
Container Insights を有効化するタイミングは次の3パターン。
- ECSのデフォルト設定として、Container Insights を有効化
- クラスター作成時にContainer Insights を有効化
- 既存クラスターに対してContainer Insights を有効化(または無効化)
ここでポイントとなるのが、既存クラスターに対する有効化(または無効化)にはCLIを使用する必要がある(GUIに対応していない)という点です。(以下、公式ドキュメント抜粋)
新規および既存の Amazon ECS クラスターで Container Insights を有効にできます。Container Insights は、クラスター、タスク、およびサービスレベルでメトリクスを収集します。既存のクラスターの場合は、AWS CLI を使用します。新しいクラスターの場合は、Amazon ECS コンソールまたは AWS CLI を使用します。
「ポイント」と記載しましたが、正直なところCLIを勉強中な私としては、『CLI、やっぱ大事やん♪』と再認識したことと、『CLI勉強しててよかった〜』と思った瞬間だったというだけのことです。
ただそれだけのことですが、個人的にはなんだか嬉しかった瞬間です(笑)。
設定方法
以下のContainer Insights 設定方法は、こちらの公式ドキュメントに記載されている内容になります。
Container Insights をデフォルトで有効にする
コンソール画面を利用する場合は次の手順で設定が可能です。
- Amazon ECS コンソール (https://console.aws.amazon.com/ecs) を開きます。
- ナビゲーションペインで [アカウント設定] を選択します。
- ページの下部にあるチェックボックスをオンにして、Container Insights のデフォルトを有効にします。
CLIを利用する場合は下記コマンドを利用します。
aws ecs put-account-setting \
--name "containerInsights" --value "enabled"
クラスター作成時にContainer Insights を有効にする
コンソール画面を利用する場合は次の手順で設定が可能です。
- Amazon ECS コンソール (https://console.aws.amazon.com/ecs) を開きます。
- ナビゲーションペインで [クラスター] を選択します。
- [クラスターの作成] を選択します。
- 次のページで、以下を実行します。
- クラスターに名前を付けます。
- まだ VPC を持っていない場合は、チェックボックスをオンにして作成します。VPC のデフォルト値を使用できます。
- インスタンスタイプなど、その他すべての必要な情報を入力します。
- [Enabled Container Insights (Container Insights を有効化)] を選択します。
- [作成] を選択します。
CLIを利用する場合は下記コマンドを利用します。
aws ecs create-cluster \
--cluster-name myCICluster \
--settings "name=containerInsights,value=enabled"
既存クラスターのContainer Insights 有効化
下記CLIコマンドにて有効化が可能です。
aws ecs update-cluster-settings \
--cluster myCICluster \
--settings name=containerInsights,value=enabled
既存クラスターのContainer Insights 無効化
下記CLIコマンドにて有効化が可能です。
aws ecs update-cluster-settings \
--cluster myCICluster \
--settings name=containerInsights,value=disabled
その他、作業時に使用したCLI
実際に作業する際に使用した関連CLIについても記載しておきます。
# クラスターARN一覧が出力されるので、クラスター名を確認できる
aws ecs list-clusters
# クラスターの詳細が出力されるので、設定状況を確認できる
aws ecs describe-clusters \
--cluster myCICluster
# アカウント設定内容が出力されるので、デフォルト値の設定状況を確認できる
aws ecs list-account-settings
以上です。
参考
- (公式) Amazon ECS Container Insights のメトリクス
- (公式) クラスターおよびサービスレベルの Amazon ECS でメトリクスの Container Insights の設定
- (公式) AWS CLI -ecsコマンド
- (Classmethod) ECSとFargateのメトリクスを一括取得するCloudWatch Container Insightsがプレビューリリースです!
- (Classmethod) ECSやEKSのメトリクスを一括取得するContainer Insightsが一般公開!既存ECSクラスタも追加設定可能に!
- (Classmethod) ECSタスクのコンテナ異常終了を検知する3つの方法