メインコンテンツへ移動
SAA-C03High-Performing Architectures難易度難しい

SAA-044

複数リージョンのNetwork Load Balancer上で、UDPを使うリアルタイム対戦ゲームのサーバーを運用しています。世界中のプレイヤーの遅延を下げ、リージョン障害時には短時間で別リージョンへ切り替えたいです。さらに、クライアントに組み込む接続先IPアドレスは変更できない事情があります。最も適したサービスはどれですか?

選択肢

解説と正解

解説と正解を読む(先に自分で回答してから開くのがおすすめです)

正解:B. AWS Global Accelerator

解説

AWS Global Acceleratorは2つの固定的なエニーキャストIPアドレスを提供し、最寄りのエッジロケーションからAWSのグローバルネットワーク経由で最適なエンドポイントへ転送します。TCPとUDPの両方に対応し、ヘルスチェック失敗時の切り替えはDNSのTTLに依存しないため高速です。

選択肢ごとの解説

A. Amazon Route 53の遅延ベースルーティング

遅延ベースルーティングは最も遅延の小さいリージョンを返せますが、DNSベースであるためクライアントやリゾルバーのキャッシュTTLの影響を受け、切り替えに時間がかかります。IPアドレスを固定するという要件も満たしません。

B. AWS Global Accelerator

正解です。静的IP、UDP対応、AWSバックボーン経由の低遅延、DNSに依存しない高速フェイルオーバーという要件をすべて満たします。

C. Application Load Balancerのクロスリージョン設定

Application Load BalancerはHTTP/HTTPSを扱うレイヤー7のロードバランサーであり、UDPには対応しません。IPアドレスタイプのターゲットグループとリージョン間VPCピアリングを使えば別リージョンのインスタンスを登録すること自体は可能ですが、UDPを扱えない以上この要件は満たせず、ALBは固定IPアドレスも提供しません。

D. Amazon CloudFront

CloudFrontはHTTP/HTTPSのコンテンツ配信を対象とするCDNで、UDPのトラフィックは扱えません。また接続先として固定IPアドレスを提供する仕組みでもありません。

実務での使いどころ

AWS Global Accelerator は、アクセラレーターごとに 2 つのエニーキャスト静的 IP アドレスを払い出し、そのアドレス宛ての通信を最寄りの AWS エッジロケーションで受けて、AWS のグローバルネットワーク(バックボーン)経由でリージョンのエンドポイントへ運ぶサービスである。エンドポイントには Network Load Balancer、Application Load Balancer、EC2 インスタンス、Elastic IP を指定でき、リージョンごとのトラフィックダイヤルやエンドポイントごとの重みで配分を制御できる。インターネット経由の経路と比べてパケットロスやジッターが減り、TCP / UDP の両方に対応する点が特徴になる。 CloudFront との使い分けが最初の分岐点になる。CloudFront は HTTP / HTTPS を対象とし、エッジでコンテンツをキャッシュして配信するサービスで、静的コンテンツや動画配信に強い。Global Accelerator はキャッシュを持たず、プロトコルを問わないパケット転送の最適化を担うため、ゲーム、VoIP、IoT、金融取引といった非 HTTP かつ低遅延が求められるワークロードに向く。Route 53 のレイテンシーベースルーティングとの違いは切り替え速度にある。Route 53 は DNS 応答で宛先を変えるため、クライアントやリゾルバーのキャッシュ TTL が切れるまで古い宛先が使われ続ける。Global Accelerator はクライアントから見た宛先 IP が変わらないまま内部の転送先を切り替えるため、DNS キャッシュの影響を受けずに切り替わる。加えて、静的 IP はファイアウォールの許可リストに登録したい要件や、IP をクライアントへ埋め込まざるを得ない要件にも適合する。 SAA-C03 では「UDP」「非 HTTP プロトコル」「静的 IP が必要」「DNS に依存しない高速フェイルオーバー」「グローバルな遅延削減」というキーワードが出たら Global Accelerator が正解になる。誤答には CloudFront(HTTP 限定・キャッシュ目的)、Route 53 レイテンシーベースルーティング(DNS 依存で切り替えが遅い)、リージョンをまたぐ ALB(IP アドレスタイプのターゲットグループとリージョン間 VPC ピアリングを使えば別リージョンのインスタンスも登録できるが、インスタンス ID タイプのターゲットは同一 VPC 内に限られる。いずれにせよ ALB は HTTP / HTTPS を扱うレイヤー 7 のロードバランサーで UDP に対応せず、固定 IP も提供しないため本問の要件を満たさない)が並ぶ。CloudFront と Global Accelerator のどちらを問われているかは、扱うプロトコルとキャッシュの要否で読み分けられる。

関連リンク