SOAデプロイ、プロビジョニング、および自動化
ある企業は EC2 上で稼働する本番アプリケーションを AWS CodeDeploy でデプロイしています。新バージョンのデプロイ中にエラー率が急増した場合は、ユーザー影響を最小化するため即座に旧バージョンへ切り戻したいと考えています。また、デプロイ中も常に本番トラフィックを処理できる容量を完全に維持する必要があります。これらの要件を満たす構成はどれですか。
ABlue/Green デプロイを構成し、CloudWatch アラームに基づく自動ロールバックを有効化したうえで新環境へトラフィックを切り替える
✓ 正解
新環境を別途用意してから切り替えるため現行環境が稼働を続け本番容量を完全に維持でき、CloudWatch アラーム連動の自動ロールバックによりエラー急増時に即座に旧環境へトラフィックを戻せます。
BIn-Place デプロイで CodeDeployDefault.AllAtOnce を使用し、失敗時に前回のリビジョンを再デプロイして切り戻す
AllAtOnce は全インスタンスを同時に更新するためデプロイ中の本番容量を維持できず、切り戻しも前回リビジョンの再デプロイを伴うため時間がかかり、即座の復旧という要件を満たせません。
CIn-Place デプロイで CodeDeployDefault.OneAtATime を使用し、ライフサイクルフックで手動承認を挟んで段階的に展開する
OneAtATime は1台ずつ更新でき容量への影響は小さいものの、手動承認フックが介在するため即時の自動切り戻しができず、迅速なロールバックを求める要件に合致しません。
DBlue/Green デプロイを構成するが自動ロールバックは無効化し、デプロイ完了後に担当者が手動で検証して切り替える
Blue/Green で容量は維持できますが自動ロールバックを無効化しているため、エラー検知時に担当者の手動操作が必要となり、即座に旧バージョンへ切り戻すという要件を満たせません。
解説
Blue/Green デプロイは、新バージョン用の環境(Green)を別途プロビジョニングし、ロードバランサーのトラフィックを切り替える方式です。
切り替えまで現行環境(Blue)が稼働し続けるため、デプロイ中も本番容量を完全に維持できます。CloudWatch アラームに基づく自動ロールバックを有効化すれば、エラー率の急増を検知した時点でトラフィックを即座に Blue へ戻せるため、ユーザー影響を最小化できます。
選択肢Bの AllAtOnce は全インスタンスを同時に更新するため、デプロイ中に容量が確保できず、再デプロイによる切り戻しにも時間がかかります。
選択肢Cの OneAtATime と手動承認は段階展開できますが切り戻しが遅く、手動承認により即時ロールバックの要件を満たしません。
選択肢Dの自動ロールバック無効化は、即座の切り戻し要件に反します。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →