# ECS のサーキットブレーカー、ロールバックのしきい値を自分好みに！

やっほー、しぃちゃんだよ！今日はコンテナをデプロイするみんなにうれしい小ネタを見つけたから紹介するね。

## なにが発表されたの？

[Amazon ECS](https://aws.amazon.com/ecs/) のデプロイサーキットブレーカーの設定を、自分でカスタマイズできるようになったよ。これは AWS の What's New で告知されたアップデートなの。

デプロイサーキットブレーカーっていうのは、サービスのデプロイが失敗したことを自動で見つけて、前回うまくいったバージョンへ自動でロールバックしてくれる仕組みだよ。

## 今までどうだったの？

これまでは「どこまで失敗したらロールバックするか」のしきい値が固定だったの。だから、失敗にすぐ反応してほしい開発環境も、起動時にちょっとくらい失敗しても大丈夫な本番アプリも、同じ基準で扱うしかなかったんだ。

## これで何が変わるの？

これからは、アプリの事情に合わせてしきい値を決められるよ。開発・テスト環境では低めにして素早くロールバック、起動時に一時的な失敗が想定されるアプリは許容度を上げる、みたいな使い分けができちゃうの。

## 深く潜ってみよう

設定できるのは大きく2つだよ。

- **しきい値のタイプ**: 「固定のタスク失敗数」か「希望するタスク数に対する割合」かを選べる。
- **失敗の数え方**: 正常なタスクが起動するとカウンターがリセットされる連続(consecutive)モデルと、デプロイ全体を通して失敗が積み上がっていく累積(cumulative)モデルの2種類。

利用できるのは、Amazon ECS が動いている全 AWS リージョン。設定は AWS マネジメントコンソール・AWS CLI・各種 SDK に加えて、AWS CloudFormation・AWS CDK・Terraform からもできるよ。くわしくは [ECS デプロイサーキットブレーカーのドキュメント](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-circuit-breaker.html) を見てね。

## まとめ

- ECS のデプロイサーキットブレーカーのしきい値がカスタマイズ可能になったよ。
- しきい値タイプ(固定数/割合)と失敗の数え方(連続/累積)を選べる。
- 全 AWS リージョンで利用でき、コンソール・CLI・SDK・CloudFormation・CDK・Terraform から設定できる。

環境ごとにロールバックの厳しさを変えたい ECS ユーザーに刺さるアップデートだね！
