DVA-C02デプロイMEDIUM単一選択

ある企業のDevOpsチームがAWS CodeDeployを使ってEC2フリートへのデプロイを管理している。デプロイ中にアプリケーション側でヘルスチェックを実行し、失敗した場合にデプロイを自動的にロールバックさせたい。最小限のコード変更でこれを実現する最も適切な方法はどれか。

  1. A. CodeDeployエージェントの設定ファイルを編集してカスタムヘルスチェックURLを追加する
  2. B. CodeDeployデプロイグループの設定でALBのヘルスチェックURLを指定する
  3. C. Lambda関数を使ってデプロイ後のヘルスチェックを実行し、失敗時にCodeDeploy APIでロールバックを呼び出す
  4. D. appspec.ymlのhooksセクションにValidateServiceフックを定義し、ヘルスチェックスクリプトを指定する
解答と解説を見る

正解: D

CodeDeployのappspec.ymlではライフサイクルフックを定義でき、ValidateServiceフックはデプロイ完了後の検証に特化したフックである。このフックにヘルスチェックスクリプトを指定することで、スクリプトが非ゼロの終了コードを返した場合にCodeDeployが自動的にロールバックを実行する。これがCodeDeployのネイティブ機能を使う最もシンプルな方法である。AのCodeDeployエージェント設定にカスタムヘルスチェックURLを指定する機能は存在しない。BはALBヘルスチェックとの統合だが、アプリケーション固有のロジックを実行するスクリプトを指定するValidateServiceとは異なる用途である。CはLambda関数を別途作成・管理する追加の運用負荷が発生し、「最小限のコード変更」という条件に反する。

▸ この試験を本気で演習する(全150問・無料)