⚠️

Fargate Spotの終了イベントを補足する

2024/12/28に公開

これは何?

Fargate Spotはタスクが終了する2分前に終了通知イベントを発行するようなので、それをEventBridgeで捕捉しようという話

答え

{}で囲ってるところは良しなに

{
  "source": ["aws.ecs"],
  "detail-type": ["ECS Task State Change"],
  "detail": {
    "stopCode": ["SpotInterruption"],
    "lastStatus": ["DEACTIVATING"],
    "clusterArn": [{
      "wildcard": "{your-ecs-cluster-arn-prefix}*"
    }]
  }
}

軽く捕捉

  • 終了通知に関してはSpotInterruptionを捕捉したらOKで、その後SNSなどでSlack通知とかしておくと気づける

    • 地味にlastStatusの指定がミソでこれがないと全ての状態変更で通知を捕捉してしまう
      • DEACTIVATINGを捕捉してるが、必要に応じて調整すると良い
    • 詳細はこちら
  • EventBridgeのルールではワイルドカードフィルターが使える

参考

https://repost.aws/ja/knowledge-center/fargate-spot-termination-notice
https://aws.amazon.com/jp/about-aws/whats-new/2023/10/amazon-eventbridge-wildcard-filters-rules/
https://dev.classmethod.jp/articles/amazon-eventbridge-wildcard-filters-rules/

Discussion