ある大規模なeコマース企業は、CloudFrontを使用して静的・動的コンテンツを配信しています。運用チームは、新しいキャッシュポリシーとオリジンリクエストポリシーの変更を本番環境に適用する前に、実際の本番トラフィックの一部(約10%)を使って動作検証を行いたいと考えています。検証中に問題が発生した場合は、全ユーザーへの影響なく即座にロールバックできる必要があります。また、追加のDNS変更やアプリケーションコードの修正なしに実現したいという要件もあります。最も運用負荷が低く、この要件を満たす方法はどれですか?
CloudFrontの継続的デプロイメント機能では、既存のプロダクションディストリビューションに紐付いたステージングディストリビューションを作成できます。重みベースポリシー(例:Weight=0.1で10%)またはHTTPヘッダーベースポリシーでトラフィックを分割でき、同一ドメインのままDNS変更不要で実現できます。検証後はプロモート操作でステージング設定を本番に昇格させ、問題があればステージングを無効化するだけで即時ロールバックが可能です。 選択肢Bは別ディストリビューションを作成するため異なるCloudFrontドメインが生成され、SSL証明書の追加設定やRoute 53のDNS変更が必要となり要件を満たしません。 選択肢Cは実装が複雑で、Lambda@Edgeではキャッシュポリシー自体を検証できず、全リクエストにLambda実行コストが発生します。 選択肢DはCloudFormation変更セットでCloudFrontポリシーを更新すると全トラフィックに即時適用されるため段階的テストが不可能であり、ロールバックにも新たな変更セット実行が必要です。