企業がElastic Beanstalk上でWebアプリケーションを運用しています。新バージョンのデプロイ時に、ダウンタイムなしで全トラフィックの20%のみを新バージョンのインスタンスに振り分け、一定時間後に問題がなければ全トラフィックを新バージョンへ移行したいと考えています。この要件を満たす最も適切なデプロイポリシーはどれですか?
Elastic BeanstalkのTraffic splittingデプロイポリシーは、ALB(Application Load Balancer)を使ってトラフィックの指定割合を新バージョンのインスタンスに転送するカナリア方式のデプロイです。ダウンタイムなしで段階的移行が可能で、問題が検出されれば自動ロールバックも行えます。 選択肢Aの「Rolling」は既存インスタンスをバッチ単位で順次更新するため一時的な容量低下が生じ、トラフィック分割もできません。 選択肢Bの「Rolling with additional batch」は追加インスタンスを起動して容量を維持しながらバッチ単位で順次更新しますが、トラフィックを割合で分割するカナリアリリース機能はありません。 選択肢Cの「Immutable」は別フリートに新バージョンを展開しますが、全トラフィックを一括切り替えするためカナリアリリースには対応していません。