ある企業はCloudFrontディストリビューションにap-northeast-1のS3バケットをプライマリオリジンとして設定しています。S3のリージョン障害に備えてap-southeast-1のS3バケットへ自動フェイルオーバーしたいと考えています。最小限の設定変更でオリジンフェイルオーバーを実現する方法はどれですか?
CloudFrontのオリジングループはネイティブのフェイルオーバー機能で、最小限の設定変更で実現できます。 選択肢Aは、Route 53フェイルオーバールーティングポリシーを使う場合、CloudFrontのオリジン設定に加えてRoute 53のヘルスチェックとDNS設定が必要になり、設定が複雑化します。CloudFrontのキャッシュ動作との整合性も別途考慮が必要です。 選択肢Bは、CloudFrontのオリジングループはプライマリオリジンが指定したHTTPステータスコード(500・503など)を返した場合に自動的にセカンダリオリジンへフェイルオーバーするネイティブ機能です。追加のLambdaコードやRoute 53の設定変更が不要で、最小限の変更で実現できます。 選択肢Cは、Lambda@Edgeのオリジンリクエストトリガーでも5xxエラー時のセカンダリS3への切り替えを実現できますが、Lambda関数のコード記述・デプロイ・バージョン管理が必要になり、オリジングループより設定・運用コストが高くなります。 選択肢Dは、S3クロスリージョンレプリケーションはデータの複製には必要ですが、CloudFrontのカスタムエラーページによるリダイレクトはシームレスなフェイルオーバーではなく、エラーページ経由でユーザーをリダイレクトする方式であり適切ではありません。