streampack の Tana です。

今日のネタは ECS Container メトリックスモニタリングについてです。
ちょっと前までのECSのメトリックスでは、

  • CPU Utilization
  • Memory Utilization

のみしか取得できませんでしたが、つい先日Preview版が発表され
より詳細なメトリックスが取得できるようになりました。

https://aws.amazon.com/about-aws/whats-new/2019/07/introducing-container-insights-for-ecs-and-aws-fargate-in-preview/

何が取得できて便利なの?

実際に取得できるメトリックス情報をみていきましょう。

CloudWatch の画面へ遷移し、
トップに表示されている CloudWatch: Overview のプルダウンから
Container Insights を選択すると下記のような情報が表示されます。

Service情報

Number of Pending Task や Number of Desired Task から何かしらの理由で
アプリケーションが落ちたり、立ち上がらなかったことがグラフから読み取れそうです。

Task情報

タスクごとの平均メモリ使用率を参考にし、タスク毎のメモリ割り当ての検討材料になりそうです。

どうやって設定するの?

クラスター作成時に Enable にするだけです。

既に動いている場合は、適用できないようなので、
もし適用したい場合は新規クラスターが必要です。

設定されたら、Default Monitoring ではなく Container Insights と表示されます。

結論

既存クラスターに適用できない点は不便に感じましたが、
新規にクラスター作って、ALBに新旧クラスターにぶら下げて、
古いクラスターを削除すれば、サービスダウンなく移行は簡単でした。
今後はより詳細な情報が取得でき、より便利な方向になっていくと思われますので、
今後のアップデートに期待です。

元記事はこちら

CloudWatch Container Insights Preview を本番に導入してみた