AWS

【AWS】Fargate監視にContainer Insights を利用する

今回は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 をデフォルトで有効にする

コンソール画面を利用する場合は次の手順で設定が可能です。

  1. Amazon ECS コンソール (https://console.aws.amazon.com/ecs) を開きます。
  2. ナビゲーションペインで [アカウント設定] を選択します。
  3. ページの下部にあるチェックボックスをオンにして、Container Insights のデフォルトを有効にします。

CLIを利用する場合は下記コマンドを利用します。

aws ecs put-account-setting \
--name "containerInsights" --value "enabled"

クラスター作成時にContainer Insights を有効にする

コンソール画面を利用する場合は次の手順で設定が可能です。

  1. Amazon ECS コンソール (https://console.aws.amazon.com/ecs) を開きます。
  2. ナビゲーションペインで [クラスター] を選択します。
  3. [クラスターの作成] を選択します。
  4. 次のページで、以下を実行します。
    • クラスターに名前を付けます。
    • まだ 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

以上です。

参考