DOP-C02 スペシャリスト DOP

デプロイの自動ロールバック設計 CodeDeployのフックとCloudWatchアラームを連携する

本記事はDOP試験対策として、デプロイ失敗時に自動でロールバックする仕組みの設計を解説します。試験では、デプロイの各段階でどのフックや監視指標を使えば安全に自動化できるかが問われます。

覚え方のフレームは3つの観点です。検証(各段階で健全性を確認する)・判定(アラームで異常を検知する)・復旧(自動で前の状態へ戻す)

検証 AppSpecのライフサイクルフック

CodeDeployのAppSpecファイルには、BeforeInstallやAfterAllowTestTraffic、BeforeAllowTrafficなど、デプロイの各段階で実行するスクリプトをフックとして定義できます。本番トラフィックを流す前に、ヘルスチェックエンドポイントへの疎通確認を必ず行いたい要件ではBeforeAllowTrafficフックにテストスクリプトを配置します。

判定 CloudWatchアラームとの連携

CodeDeployのデプロイグループにCloudWatchアラームを関連付けると、デプロイ中にアラームが発報した場合、自動的にデプロイを停止しロールバックできます。Lambdaのエイリアスやターゲットグループでトラフィックを段階的に切り替えながら、エラー率やレイテンシの悪化を自動検知して止めたい要件で有効です。

復旧 自動ロールバックの設定

自動ロールバックは「デプロイ失敗時」だけでなく「アラームの閾値超過時」もトリガーに設定できます。カナリアやリニアのトラフィックシフト中に異常を検知したら、即座にトラフィックを旧バージョンへ戻したい要件で、両方のトリガーを有効化します。

段階主なフック・仕組み使いどころ
デプロイ前検証BeforeInstall・AfterInstall依存関係やファイル配置の確認
トラフィック切替前後BeforeAllowTraffic・AfterAllowTrafficヘルスチェックやスモークテスト
異常検知時CloudWatchアラーム連携の自動ロールバックエラー率・レイテンシ悪化時の即時復旧
よくある誤り 自動ロールバックは既定で有効ではなく、デプロイ設定またはデプロイ作成時に明示的に有効化する必要があります。アラームを関連付けただけでは自動ロールバックは発動しない点に注意してください。

チェックリスト

  • AppSpecの主要なライフサイクルフックの役割を説明できる
  • CloudWatchアラームと自動ロールバックの関連付け方法を説明できる
  • カナリア・リニアデプロイでの異常検知シナリオを説明できる
  • 自動ロールバックが既定で無効である点を理解している

まとめ

安全なデプロイ自動化は「検証・判定・復旧」の3観点で捉え、AppSpecフックでの検証とアラーム連携の自動ロールバックを組み合わせるのが定石です。この記事の理解度はクイズで確認し、最新の試験範囲はAWS認定 公式ページで確認しましょう。

📚

DOP(DevOpsエンジニア) におすすめの教材

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版 表紙
問題集

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版

体系的にサービスと出題範囲を学べる定番テキスト

★★★★☆

Amazonで見る
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集 表紙
問題集

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集

本番形式の演習で総仕上げに最適

★★★★☆

Amazonで見る
Udemyコース
Udemy・講座

AWS認定DOP(DOP-C02)実践問題集(全範囲・225問)

動画で体系的に学べる対策コース

Udemy

Udemyで見る
Udemy模擬試験
Udemy・模試

AWS認定DOP 演習テスト(日本語)

本番形式の演習で総仕上げ

Udemy

Udemyで見る

本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。