あるグローバルゲーム企業は、リアルタイムマルチプレイヤーゲームサービスをAWS上に構築しています。以下の要件があります。 ・ゲームデータの通信にTCPとUDPプロトコルを使用する ・世界中のプレイヤーの90%以上が50ms以下のレイテンシーを必要とする ・ゲームサーバーはus-east-1とap-northeast-1の2リージョンに配置する ・ゲームの静的アセット(テクスチャ、マップデータ)もクライアントへ配信する ・一方のリージョンで障害が発生した場合、自動フェイルオーバーが必要 これらすべての要件を満たすアーキテクチャとして最も適切なのはどれですか?
AWS Global Acceleratorはエニーキャストを使用してユーザーを最寄りのAWSエッジロケーションにルーティングし、AWSグローバルバックボーン経由で最終エンドポイントへ転送します。TCPとUDPの両プロトコルをサポートし、50ms以下のレイテンシーとリージョン間の自動フェイルオーバーの要件を満たします。静的アセットにはCloudFrontのエッジキャッシュが最適です。 選択肢AのCloudFrontはHTTP/HTTPSのみをサポートしており、UDPプロトコルをネイティブサポートしていないため、ゲームデータ通信(UDP)の要件を満たせません。 選択肢CのRoute 53レイテンシーベースルーティングはDNSレベルのルーティングであり、DNS TTL期間中は同じエンドポイントを使用し続けます。エニーキャストのようなパケットレベルでの最適ルーティングは実現できず、50ms以下のレイテンシー要件を安定して保証することが困難です。 選択肢DのALB + Route 53加重ルーティングはレイテンシー最適化のためのエニーキャストルーティングを提供せず、Application Load BalancerはUDPプロトコルをサポートしていないためゲームデータ通信の要件を満たせません。