ある企業は静的ウェブサイトのアセットを Amazon S3(us-east-1)からホストし、Amazon CloudFront 経由で配信しています。プライマリ S3 バケットが利用不可になった場合に、自動的に別リージョン(us-west-2)のバックアップ S3 バケットへフェイルオーバーしたいと考えています。DNS の TTL(Time To Live)による切り替え遅延を避け、CloudFront レイヤーで透過的にフェイルオーバーを実現するにはどの設定が最適ですか?
CloudFront オリジングループ(Origin Group)は、プライマリオリジンが設定したエラーコード(例:503)を返した際にセカンダリオリジンへ自動フェイルオーバーします。CloudFront レイヤーで完結するため DNS の TTL 遅延が発生せず、S3 クロスリージョンレプリケーションと組み合わせることでデータの整合性を保ちながら透過的なフェイルオーバーが実現できます。 選択肢BのRoute 53 フェイルオーバールーティングポリシーは、DNS 経由のため TTL 遅延が生じます。 選択肢CのS3 クロスリージョンレプリケーション(CRR)のみでは、レプリケーション完了後にエンドポイントを手動で変更する必要があり、自動フェイルオーバーが実現できません。 選択肢DのAWS Global Accelerator は、S3 バケットをエンドポイントとして直接サポートしていません。