ある企業はAWS Lambda関数群で構成されたサーバーレスアプリケーションを運用しています。フィーチャーフラグ(機能のON/OFFを制御する設定値)・レート制限値・外部サービスのエンドポイントURLなどの設定値を変更するたびにLambda関数を再デプロイする必要があり、運用負荷が高い状況です。運用チームは以下の要件を満たす設定管理の仕組みを導入したいと考えています。 ①Lambda関数の再デプロイなしに設定値を変更できる、 ②デプロイ前にJSONスキーマによるバリデーション(検証)を行う、 ③段階的なロールアウト(一定時間をかけて徐々に全体へ適用)が可能、 ④CloudWatchメトリクスで異常を検知した場合に前の設定へ自動ロールバックする。これら4つの要件をすべて満たすアーキテクチャはどれですか?
AWS AppConfigはアプリケーション設定を安全・段階的にデプロイするために設計されたサービスです。要件①:AppConfig Lambda Extensionを使うとLambda関数の再デプロイなしに最新設定を取得できます。要件②:JSONスキーマバリデーターまたはLambdaバリデーターで設定値の整合性をデプロイ前に検証できます。要件③:LinearやExponentialなどのデプロイ戦略(Deployment Strategy)で、設定を一定時間かけて段階的に適用できます。要件④:CloudWatchアラームと統合し、エラー率の上昇などの異常を検知すると自動的に直前の設定へロールバックします。 選択肢BのParameter Storeは、設定値の保存に有効ですが、段階的ロールアウト・スキーマ検証・自動ロールバックの機能を持ちません。 選択肢CのSecrets Managerは、パスワードやシークレットキーなどの機密情報管理専用サービスです。段階的ロールアウトや自動ロールバック機能がなく、フィーチャーフラグなど一般的な設定管理の要件を満たしません。 選択肢DのDynamoDBは、設定ストアとして使うことは技術的には可能ですが、スキーマ検証・段階的ロールアウト・自動ロールバックを独自実装する必要があり、運用負荷が高く要件をすべて満たすことができません。