ある企業はElastic Beanstalkを使用してWebアプリケーションを運用しています。新バージョンのデプロイ時に以下の要件があります。 ①本番環境のダウンタイムはゼロ ②デプロイ中も既存インスタンスの処理能力を100%維持する ③問題発生時は迅速にロールバックしたい この3つの要件をすべて満たすElastic Beanstalkのデプロイポリシーはどれですか?
Immutableデプロイは既存Auto Scalingグループに影響を与えず、新しいグループに同数の新インスタンスを起動します。ヘルスチェック通過後にトラフィックを切り替えるためゼロダウンタイムを実現し、問題時は新インスタンスを削除するだけで即座にロールバック完了します。 選択肢Aは、All at once方式は全インスタンスを同時更新するためダウンタイムが発生し①を満たせません。 選択肢Bは、Rolling方式はバッチ単位で既存インスタンスを順次入れ替えるためデプロイ中にキャパシティが低下し②を満たせません。 選択肢Dは、Traffic splitting方式はカナリアリリース方式で新バージョンへ段階的に実トラフィックを流すため、新インスタンスのヘルスチェック完了前に一部ユーザーが新バージョンへ誘導される可能性があり、問題発生時の影響範囲がImmutableより大きく③の迅速ロールバック要件の安全性で劣ります。