無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化

DevOpsエンジニアはEC2インスタンス上のアプリケーションをApplication Load Balancer(ALB)経由でCodeDeployのインプレースデプロイを使って更新しています。新バージョンインストール後、ALBへのトラフィック再登録前に自動統合テストを実行し、テスト失敗時はトラフィックを新バージョンに切り替えずに即座にロールバックしたいと考えています。使用すべきAppSpecライフサイクルフックはどれですか?

A
AfterInstallフックにテストスクリプトを定義し、アプリケーション起動直後にテストを実行する。失敗時はexit code 1でデプロイを停止する
AfterInstallはアプリケーション起動前の設定後フックであり、ALBへの登録制御とは連携しません。
B
ValidateServiceフックにテストスクリプトを定義してデプロイ成功の最終検証を行い、失敗時はexit code 1でロールバックをトリガーする
ValidateServiceはALBへの再登録後に実行される最終検証フックであるため、トラフィック切り替えを防ぐ用途には使用できません。
C
BeforeAllowTrafficフックにテストスクリプトを定義し、ALBへの再登録前にテストを実行する。失敗時はexit code 1でトラフィック切り替えなしにロールバックをトリガーする
✓ 正解
ALBを使用するインプレースデプロイでは、BeforeAllowTrafficフックがデプロイ対象インスタンスをALBターゲットグループに再登録する直前に実行されます。このフックでテストが失敗(exit code 1)した場合、CodeDeployはトラフィックを新バージョンへ切り替えることなくデプロイを失敗とし自動ロールバックをトリガーします。
D
ApplicationStartフックにテストスクリプトを定義してアプリケーション起動確認と統合テストを同時に実行する
ApplicationStartはアプリケーション起動直後のフックであり、同様にALB登録前ですがトラフィック制御と直接連携しません。

解説

ALBを使用するインプレースデプロイでは、BeforeAllowTrafficフックがデプロイ対象インスタンスをALBターゲットグループに再登録する直前に実行されます。このフックでテストが失敗(exit code 1)した場合、CodeDeployはトラフィックを新バージョンへ切り替えることなくデプロイを失敗とし自動ロールバックをトリガーします。 選択肢AのAfterInstallはアプリケーション起動前の設定後フックであり、ALBへの登録制御とは連携しません。 選択肢BのValidateServiceはALBへの再登録後に実行される最終検証フックであるため、トラフィック切り替えを防ぐ用途には使用できません。 選択肢DのApplicationStartはアプリケーション起動直後のフックであり、同様にALB登録前ですがトラフィック制御と直接連携しません。

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

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

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