はじめに
ECS on Fargate に EBS をアタッチしている場合、EBS ディスク使用率を確認する方法を3パターン紹介します。
- CloudWatch の 標準メトリクス
- CloudWatch Container Insights
- CloudWatch Logs Insights
方法1:CloudWatch 標準メトリクス「EBSFilesystemUtilization」を使う
概要
ECS は、Fargate タスクにアタッチされた EBS ボリュームのファイルシステム使用率を CloudWatch に EBSFilesystemUtilization として自動で送信します。
👉 追加エージェント不要・最も簡単な方法です。
手順
-
EBS を使用している ECS サービス/タスクを確認
- ECS コンソールを開く
- 対象の Cluster → Service → Task Definition
-
CloudWatch メトリクスを確認する
- CloudWatch コンソールを開く
- 左メニュー → Metrics
- ECS のメトリクスを選択
- 以下のいずれかを選ぶ(用途に応じて)
- ClusterName, ServiceName, ClusterName
- メトリクス一覧から
EBSFilesystemUtilizationを選択
-
使用率をグラフなどで確認
この値は 「Fargate がアタッチした EBS ボリューム部分のみ」 を対象にしています。ルートファイルシステムや Fargate 内部の一時領域は含まれません。
方法2:CloudWatch Container Insights を使う
概要
Container Insights を利用しても、簡単に確認することが可能です
手順
-
Container Insights を有効化する
- 既存クラスタの場合は以下コマンドを実行
aws ecs update-cluster-settings \ --cluster <my-cluster> \ --settings name=containerInsights,value=enabled- 新規クラスタ作成時は、「Enable Container Insights」 を ON
-
メトリクスが出ているか確認
- CloudWatch コンソール
- 左メニュー → Container Insights
- Service: ECS
- 対象の Cluster → Service → Task
-
EBS 関連メトリクスを確認
- 「EBS ファイルシステム使用率」に注目する
EBS 使用率をタスク単位で確認できるが、Container Insightsの有効化設定が少し面倒
方法3:CloudWatch Logs Insights を使う
概要
Container Logs Insights を利用にすると、EBS に関する以下の詳細メトリクスが取得できます。
- EBSFilesystemSize
- EBSFilesystemUtilized
- TaskEBSFilesystemUtilization
👉 タスク単位での分析やダッシュボード可視化、アラート通知に向いています。
手順
- Container Insights を有効化する
-
メトリクスが出ているか確認
- CloudWatch コンソール
- 左メニュー → ログのインサイト
- 以下のクエリを実行
SELECT `EBSFilesystemSize`, \ `EBSFilesystemUtilized`, \ `TaskEBSFilesystemUtilization` FROM $source \ ORDER BY `@timestamp` DESC- クエリの実行結果を確認

