無限ノック › SOA 練習問題一覧 › 問題
SOAネットワークとコンテンツ配信

ある企業はCloudFrontディストリビューションにap-northeast-1のS3バケットをプライマリオリジンとして設定しています。S3のリージョン障害に備えてap-southeast-1のS3バケットへ自動フェイルオーバーしたいと考えています。最小限の設定変更でオリジンフェイルオーバーを実現する方法はどれですか?

A
Route 53フェイルオーバールーティングポリシーを使用し、プライマリとセカンダリのS3バケットにヘルスチェックを設定してCNAMEをCloudFrontに向ける
Route 53フェイルオーバールーティングポリシーを使用し、プライマリとセカンダリのS3バケットにヘルスチェックを設定してCNAMEをCloudFrontに向けるアプローチはより複雑です。
B
CloudFrontでオリジングループを作成してプライマリにap-northeast-1バケット、セカンダリにap-southeast-1バケットを設定し、フェイルオーバー基準(5xxエラー)を指定する
✓ 正解
CloudFrontでオリジングループを作成してプライマリにap-northeast-1バケット、セカンダリにap-southeast-1バケットを設定し、フェイルオーバー基準(5xxエラー)を指定する。 CloudFrontのオリジングループ(Origin Group)はプライマリオリジンが指定したHTTPステータスコード(503・500など)を返した場合、自動的にセカンダリオリジンへフェイルオーバーするネイティブ機能です。追加のLambdaコード記述やRoute 53の複雑な設定は不要です。
C
Lambda@Edgeのオリジンリクエストトリガーを作成し、プライマリS3からの5xxレスポンス時にコードでセカンダリS3のURLに書き換えてリトライする
Lambda@Edgeでも実現可能ですが、設定・管理コストが高くなります。
D
S3クロスリージョンレプリケーション(CRR)を設定してap-southeast-1にオブジェクトを複製し、CloudFrontのカスタムエラーページでap-southeast-1バケットのURLにリダイレクトする
データ複製には必要ですがフェイルオーバー制御自体はオリジングループが担います。

解説

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のカスタムエラーページによるリダイレクトはシームレスなフェイルオーバーではなく、エラーページ経由でユーザーをリダイレクトする方式であり適切ではありません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SOA の問題一覧に戻る