AWS ECSタスクの停止・起動の検知ノウハウ

こんにちは、L小川です。
5月頃からシフォンケーキづくりを始めたのですが、10回目にしてようやく人様に出せそうなものが作れました。

前回の「ECS最適化AMIの更新を検知する運用ノウハウ」に続いて、今回もECS運用についてのトピックを紹介します。
今回は「AWS ECSタスクの停止・起動を検知する方法」についてです。

ECSはタスクが停止しても自動復旧されるため回復力の高いシステムですが、設定ミスやリソース不足が原因で、デプロイ時にタスクの停止と作成が繰り返される事態になることもあります。
システムの異変をいち早く検知できれば、調査・原因分析の初動を早めることができ、影響を最小限に抑えることができます。

アトラスでは、ECSタスクの停止・起動を検知し、Slackに通知しています。

通知フロー

EventBridgeでECSのタスク状態変更を検知し、Slack通知用のLambdaを起動します。

通知フローの概要画像

EventBridge

以下のEventBridgeルールでECSタスクの状態変化を検知できるようにし、ターゲットに通知用Lambdaを設定します。

Lambda

EventBridgeからのイベントから必要な情報を取得し、Slackに通知します。

Slack通知(例)

Slack通知例のスクリーンショット

ECSクラスターの数が多いようであれば、下図のようにサービスなどのグループごとにEventBridgeやSlackの通知先チャンネルを分けてもいいかもしれません。

サービスグループごとにまとめた通知フローの画像

終わりに

小さな工夫ですが、この通知があることで監視の対応スピードが上がり、システムの状態を把握できているという実感が得られています。

ECSを導入した次の一手として、ご参考にしていただけたら幸いです。

それではまた。