AWS Global Accelerator でのカスタムルーティングアクセラレータの仕組み - AWS Global Accelerator

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Global Accelerator でのカスタムルーティングアクセラレータの仕組み

AWS Global Accelerator でカスタムルーティングアクセラレータを使用すると、アプリケーションロジックを使用して、1 人以上のユーザーを多数の宛先間で特定の宛先に直接マッピングできます。同時に、Global Accelerator のパフォーマンス上の利点も得られます。カスタムルーティングアクセラレータは、リスナーポート範囲を仮想プライベートクラウド(VPC)サブネット内の EC2 インスタンスの宛先にマッピングします。これにより、Global Accelerator は、サブネット内の特定の Amazon EC2 プライベート IP アドレスとポート宛先にトラフィックを決定的にルーティングできます。

例えば、カスタムルーティングアクセラレータをオンラインリアルタイムゲームアプリケーションで使用できます。このアプリケーションでは、地理的位置、プレイヤーのスキル、ゲームモードなど、選択した要素に基づいて、Amazon EC2 ゲームサーバー上の 1 つのセッションに複数のプレイヤーを割り当てることができます。または、VoIP またはソーシャルメディアアプリケーションを使用して、ボイス、ビデオ、およびメッセージングセッション用に特定のメディアサーバに複数のユーザを割り当てることができます。

アプリケーションは、グローバルアクセラレータ API を呼び出し、グローバルアクセラレータポートとそれに関連する宛先 IP アドレスとポートの完全な静的マッピングを受信できます。その静的マッピングを保存すると、マッチメイキングサービスでそのマッピングを使用してユーザーを特定の宛先 EC2 インスタンスにルーティングできます。Global Accelerator(Global Accelerator)をアプリケーションで使用するためにクライアントソフトウェアを変更する必要はありません。

カスタムルーティングアクセラレータを設定するには、VPC サブネットエンドポイントを選択します。次に、着信接続がマッピングされる宛先ポート範囲を定義して、ソフトウェアがすべてのインスタンスで同じポートセットでリッスンできるようにします。Global Accelerator は、マッチメイキングサービスが、セッションの宛先 IP アドレスとポート番号を、ユーザーに提供する外部 IP アドレスとポートに変換できるようにする静的マッピングを作成します。

アプリケーションのネットワークスタックは、単一のトランスポートプロトコル上で動作する場合もあれば、UDP を高速配信に使用し、TCP を信頼性の高い配信に使用する場合もあります。宛先ポート範囲ごとに UDP、TCP、または UDP と TCP の両方を設定できます。これにより、プロトコルごとに設定を複製することなく、最大限の柔軟性が得られます。

注記

デフォルトでは、カスタムルーティングアクセラレータ内のすべての VPC サブネット宛先はトラフィックを受信できません。これはデフォルトで安全であり、サブネット内のどのプライベート EC2 インスタンスの宛先がトラフィックの受信を許可するかをきめ細かく制御するためです。サブネット、または特定の IP アドレスとポートの組み合わせ(宛先ソケット)へのトラフィックを許可または拒否できます。詳細については、「 VPC サブネットエンドポイントの追加、編集、削除」を参照してください。グローバルアクセラレータ API を使用して宛先を指定することもできます。詳細については、「」を参照してください。カスタムルーティングトラフィックの許可およびデニーカスタムルーティングトラフィック

グローバルアクセラレータでのカスタムルーティングの機能の例

例として、Global Accelerator の背後にある 1,000 個の Amazon EC2 インスタンスで、ゲームセッションや VoIP コールセッションなど、ユーザーのグループが対話する 10,000 個のセッションをサポートするとします。この例では、リスナーポート範囲を 10001 ~ 20040、宛先ポート範囲を 81 ~ 90 に指定します。us-east-1 には、サブネット-1、サブネット 2、サブネット 3、サブネット 4 の VPC サブネットがあるとします。

この例の設定では、各 VPC サブネットのブロックサイズは /24 であるため、251 の Amazon EC2 インスタンスをサポートできます。(5 つのアドレスが予約され、各サブネットからは使用できず、これらのアドレスはマッピングされません)。各 EC2 インスタンスで実行されている各サーバーは、エンドポイントグループの宛先ポートに指定した、次の 10 個のポートを提供します。81-90か つまり、各サブネットには 2510 個のポート (10 x 251) が関連付けられています。各ポートは、セッションに関連付けることができます。

サブネット内の各 EC2 インスタンスに 10 個の宛先ポートを指定したため、Global Accelerator は内部的に 10 個のリスナーポートに関連付けて、EC2 インスタンスへのアクセスに使用できます。これを簡単に説明するために、最初のセットの 10 のエンドポイントサブネットの最初の IP アドレスで始まり、次に 10 のリスナーポートの次の IP アドレスに移動するリスナーポートのブロックがあるとします。

注記

マッピングは実際にはこのように予測できませんが、ここでは順次マッピングを使用して、ポートマッピングがどのように機能するかを示します。リスナーポート範囲の実際のマッピングを決定するには、次の API 操作を使用します。リストカスタムルーティングポートマッピングおよびリストカスタムルーティングポートマッピング宛先別

この例では、最初のリスナーポートは 10001 です。このポートは、最初のサブネット IP アドレス 192.0.2.4、および最初の EC2 ポート 81 に関連付けられます。次のリスナーポート 10002 は、最初のサブネット IP アドレス 192.0.2.4、2 番目の EC2 ポート 82 に関連付けられます。次の表は、この例のマッピングが、最初の VPC サブネットの最後の IP アドレスから継続され、次に 2 番目の VPC サブネットの最初の IP アドレスまで継続される様子を示しています。

Global Accelerator VPC サブネット EC2 インスタンスポート
10001 192.0.2.4 81
10002 192.0.2.4 82
10003 192.0.2.4 83
10004 192.0.2.4 84
10005 192.0.2.4 85
10006 192.0.2.4 86
10007 192.0.2.4 87
10008 192.0.2.4 88
10009 192.0.2.4 89
10010 192.0.2.4 90
10011 192.0.2.5 81
10012 192.0.2.5 82
10013 192.0.2.5 83
10014 192.0.2.5 84
10015 192.0.2.5 85
10016 192.0.2.5 86
10017 192.0.2.5 87
10018 192.0.2.5 88
10019 192.0.2.5 89
10020 192.0.2.5 90
... ... ...
12501 192.0.2.244 81
12502 192.0.2.244 82
12503 192.0.2.244 83
12504 192.0.2.244 84
12505 192.0.2.244 85
12506 192.0.2.244 86
12507 192.0.2.244 87
12508 192.0.2.244 88
12509 192.0.2.244 89
12510 192.0.2.244 90
12511 192.0.3.4 81
12512 192.0.3.4 82
12513 192.0.3.4 83
12514 192.0.3.4 84
12515 192.0.3.4 85
12516 192.0.3.4 86
12517 192.0.3.4 87
12518 192.0.3.4 88
12519 192.0.3.4 89
12520 192.0.3.4 90