継続的デプロイとフィーチャーフラグ AppConfigの段階的ロールアウトでリスクを抑える
本記事はDOP(DevOps Engineer Professional)を目指す方向けに、コードのデプロイと機能の有効化を切り離す継続的デプロイの設計を解説します。試験では、リスクを抑えながら新機能を公開する仕組みが問われます。
覚え方のフレームは3つの観点です。分離(デプロイと公開を分ける)・段階(徐々に対象を広げる)・監視(異常時は自動で戻す)。
分離 フィーチャーフラグでデプロイと公開を切り離す
AWS AppConfigはアプリケーションの設定値やフィーチャーフラグを、コードの再デプロイなしに動的に配信できます。新機能のコードは先に本番へデプロイしておき、準備が整ってからフラグを有効化して公開したい要件ではAppConfigを使い、デプロイのリスクと機能公開のリスクを分離します。
段階 デプロイ戦略による段階的ロールアウト
AppConfigのデプロイ戦略では、対象比率を時間をかけて徐々に増やす設定(例: 10分ごとに10%ずつ拡大)ができます。一部のユーザーだけに新機能を先行公開し、問題がないことを確認しながら対象を広げたい要件ではこの段階的ロールアウトを設定します。
監視 CloudWatchアラームと自動ロールバック
デプロイ戦略にCloudWatchアラームを関連付けると、エラー率などの指標が閾値を超えた場合にAppConfigが自動的にロールアウトを中断し、直前の設定値へ戻します。異常検知から復旧までを人手を介さず数分で完了させたい要件ではアラーム連携を必須とします。
| 方式 | 対象 | 選ぶ要件 |
|---|---|---|
| 全体一括公開 | 全ユーザー同時 | 検証済みで即時公開したい |
| AppConfig段階的ロールアウト | 設定値・フィーチャーフラグ | 一部ユーザーから慎重に広げたい |
| ブルーグリーンデプロイ | アプリケーションのコード自体 | 切替の速さと即時ロールバックを重視したい |
チェックリスト
- AppConfigでデプロイと機能公開を分離するメリットを説明できる
- 段階的ロールアウトの設定方法を説明できる
- CloudWatchアラームと自動ロールバックの連携を説明できる
- AppConfigとCodeDeployの役割の違いを区別できる
まとめ
継続的デプロイは「分離・段階・監視」の3観点で設計し、AppConfigでデプロイと機能公開を切り離し、段階的ロールアウトとアラーム連携でリスクを抑えるのが定石です。この記事の理解度はクイズで確認し、最新の試験範囲はAWS認定 公式ページで確認しましょう。
DOP(DevOpsエンジニア) におすすめの教材
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集
AWS認定DOP(DOP-C02)実践問題集(全範囲・225問)
AWS認定DOP 演習テスト(日本語)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。