無限ノック › SOA 練習問題一覧 › 問題
SOAデプロイ、プロビジョニング、および自動化

ある企業は Elastic Beanstalk 上で動作するカスタマー向けWebアプリケーションをデプロイしています。新バージョンのリリース時に以下の要件を満たす必要があります: ①ダウンタイムゼロ、 ②新バージョンへのトラフィックを段階的に移行(最初は10%、問題なければ100%)、 ③問題検知時の即時ロールバック。どのデプロイメントポリシーが最も適切ですか?

A
Rolling(ローリング)デプロイ:既存インスタンスをバッチ単位で順次新バージョンに更新する
Rolling は既存インスタンスをバッチ単位で順次新バージョンに更新する方式で、トラフィック割合を指定した段階的移行はできません。更新中はキャパシティが低下しダウンタイムリスクがあり、即時ロールバックも困難なため要件を満たしません。
B
Rolling with additional batch(追加バッチローリング)デプロイ:新しいインスタンスバッチを追加してからローリングアップデートを行いキャパシティを維持する
Rolling with additional batch は追加バッチで一時的にキャパシティを確保しながらローリング更新する方式です。ダウンタイムは抑えられますが、トラフィックを割合指定で段階移行するカナリア機能はなく、10%→100%という要件を満たせません。
C
Immutable(イミュータブル)デプロイ:新バージョン用の新しいインスタンス群を別途起動し、ヘルスチェック後にトラフィックを完全切り替えする
Immutable は新バージョン用の新インスタンス群を別途起動しヘルスチェック後に切り替える方式でゼロダウンタイムを実現しますが、トラフィックを割合指定で段階的に移行する機能はないため、カナリアリリースの要件を満たせません。
D
Traffic splitting(トラフィック分割)デプロイ:新バージョンを新インスタンスにデプロイし、設定した割合のトラフィックを段階的に新バージョンへ移行するカナリアリリースを実施する
✓ 正解
Elastic Beanstalk の Traffic splitting はカナリアリリースを実現し、新バージョンを新インスタンスにデプロイして指定割合(例:10%)のトラフィックのみを流します。評価期間中に問題がなければ100%へ移行、問題検知時は即時ロールバックでき、全要件を満たします。

解説

正解: Traffic splitting(トラフィック分割)デプロイ:新バージョンを新インスタンスにデプロイし、設定した割合のトラフィックを段階的に新バージョンへ移行するカナリアリリースを実施する。 Elastic Beanstalk の Traffic splitting ポリシーはカナリアリリース(カナリア:少数のユーザーに先行して新バージョンを公開する手法)を実現します。新バージョンを新規インスタンスにデプロイし、指定した割合(例:10%)のトラフィックのみを新バージョンへ流します。評価期間中に問題が検知されなければ100%に移行、問題があれば即座にロールバックが可能です。 選択肢AのRolling は既存インスタンスをバッチ単位で順次新バージョンに更新するため段階的ではなく、ダウンタイムリスクと即時ロールバック困難という問題があります。 選択肢BのRolling with additional batch は新しいインスタンスバッチを追加してからローリングアップデートを行うため、段階的トラフィック移行ができません。 選択肢CのImmutable はゼロダウンタイムですが段階的トラフィック移行ができません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SOA の問題一覧に戻る