🥦
AWS Elastic BeanstalkのDeployment Policy
Beanstalk のデプロイ方式が多いので特徴を整理する。
各方式
- All At Once
- ダウンタイムが発生する
- これ以外はしない
- デプロイが一回なのでトータルでかかる時間は短い
- ダウンタイムが発生する
- Rolling
- ダウンタイムはない
- 更新中はインスタンス数が減る
- RollingWithAdditionalBatch
- 更新中にインスタンスを減らさないように同じ数が追加される
- Immutable
- 新しいバージョンが新しいインスタンスで動く
- TrafficSplitting(2020 から)
- Canary テストができる
- あたらしい AutoScaling グループを作成する
- Immutable に近い
- 決められた割合のトラフィックを ELB から分割して本番での動作確認を行うのが違い
おまけ
- Blue/Green デプロイ
- 設定として存在するわけではない
- 環境のクローンを作成し、 URL の Swap 機能を用いて切り替える
- 新旧バージョンが混在する瞬間がない
- 環境に互換性がないときに必要
参考
Discussion