

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

# プレイヤーゲートウェイの仕組み
<a name="ddos-protection-howitworks"></a>

プレイヤーゲートウェイはリレーネットワークを使用して、ゲームクライアントとゲームサーバー間で UDP トラフィックをルーティングします。これにより、ゲームサーバーに到達する前にトラフィックを検証し、プレイヤートラフィックをレート制限し、ゲームサーバーの IP アドレスをパブリックから非表示にし、リレーエンドポイントが異常になったときに更新されたエンドポイントを提供することで、DDoS 攻撃から保護されます。

## トラフィックフロー
<a name="ddos-protection-howitworks-traffic-flow"></a>

プレイヤーがゲームセッションに接続すると、ゲームバックエンドは `GetPlayerConnectionDetails` API からリレーエンドポイントとプレイヤーゲートウェイトークンを取得し、ゲームクライアントに送信します。ゲームクライアントは、UDP パケットにプレイヤーゲートウェイトークンを付加し、パケットをリレーエンドポイントに送信します。リレーネットワークはトークンを検証し、正当なトラフィックをゲームサーバーにルーティングします。配信前に、リレーネットワークはプレイヤーゲートウェイトークンを削除して、ゲームサーバーが raw ゲームクライアントペイロードを受信し、コードの変更を必要としないようにします。ゲームサーバーからゲームクライアントへの通信は、リレーネットワークを介して変更なしで返されます。

![\[リレーネットワーク経由でゲームサーバーに接続するゲームクライアントを示すアーキテクチャ図\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/images/player_gateway_architecture.png)


## 重要な概念
<a name="ddos-protection-howitworks-components"></a>

### リレーエンドポイント
<a name="ddos-protection-howitworks-endpoints"></a>

リレーエンドポイントは、ゲームクライアントがプレイヤーゲートウェイを介してトラフィックを送信するために使用する IP アドレスとポートの組み合わせです。各プレイヤーは、トラフィックを分散し、同じゲームセッション内の他のプレイヤーへの攻撃の影響を軽減するために、プレイヤー間で異なる複数のエンドポイントを受け取ります。

![\[同じゲームセッションで異なるリレーエンドポイントを受信する複数のプレイヤーを示す図\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/images/player_gateway_relay_endpoints.png)


### プレイヤーゲートウェイトークン
<a name="ddos-protection-howitworks-tokens"></a>

プレイヤーゲートウェイトークンは、プレイヤーがプレイヤーゲートウェイを介してゲームセッションにトラフィックを送信することを許可する暗号化されたバイト配列です。`GetPlayerConnectionDetails` API は、base64 でエンコードされた文字列としてトークンを返します。ゲームクライアントは、すべての UDP パケットにプレイヤーゲートウェイトークンを付加する必要があります。リレーネットワークはトークンを検証し、トークンが無効または欠落しているパケットを拒否します。

**重要**  
プレイヤーゲートウェイトークンは暗号化してはならず、ゲームクライアントによって送信される各 UDP パケットの先頭に表示される必要があります。ゲームがペイロードを暗号化する場合は、ゲームデータを暗号化した後に、変更されていないプレイヤーゲートウェイトークンを付加します。

プレイヤーゲートウェイトークンは少なくとも 3 分間有効です。リレーエンドポイントが異常になったときにプレイヤーが更新されたエンドポイントを受信できるように、トークンを 60 秒ごとに更新することをお勧めします。

### GetPlayerConnectionDetails API
<a name="ddos-protection-howitworks-api"></a>

ゲームバックエンドは `GetPlayerConnectionDetails` API を呼び出して、ゲームセッションのプレイヤーの接続の詳細を取得します。API は、リレーエンドポイントとプレイヤーゲートウェイトークンを返すか、直接接続のためにゲームサーバーの IP アドレスとポートにフォールバックします。ゲームクライアントは、両方の接続タイプを処理するように設計されている必要があります。リレーエンドポイントが異常になったときに更新されたエンドポイントを受信するには、ゲームセッション全体でこの API を定期的に呼び出します (60 秒ごとに推奨）。

詳細については、「[GetPlayerConnectionDetails API](ddos-protection-integrate.md#ddos-protection-integrate-backend-api)」を参照してください。

## プレイヤーゲートウェイのモニタリング
<a name="ddos-protection-howitworks-monitoring"></a>

Player Gateway は Amazon CloudWatch にメトリクスを発行して、ネットワークトラフィックパターンのモニタリング、潜在的な DDoS 攻撃の特定、リレーパフォーマンスの追跡を支援します。メトリクスには、パケットとバイトの入出力、スロットリングされたトラフィック、プレイヤーセッションが含まれます。プレイヤーゲートウェイメトリクスの完全なリストについては、「」を参照してください[DDoS 保護 (プレイヤーゲートウェイ) メトリクス](monitoring-cloudwatch.md#gamelift-metrics-fleet-playergateway)。

## IPv4 と IPv6 の互換性
<a name="ddos-protection-howitworks-ipv4-ipv6"></a>

ゲームクライアントは IPv4 を使用して通信します。プレイヤーゲートウェイはIPv6 を使用してゲームサーバーと通信します。 は、フリート設定に基づいて IPv4 と IPv6 間の変換Amazon GameLift Serversを自動的に処理します。

フリートでプレイヤーゲートウェイを設定する方法の詳細については、「[CreateFleet](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateFleet.html#gameliftservers-CreateFleet-request-PlayerGatewayMode)」または「[CreateContainerFleet](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateContainerFleet.html#gameliftservers-CreateContainerFleet-request-PlayerGatewayMode)」を参照してください。IPv4 および IPv6 のサポートの詳細については、「」を参照してください[IPv4 と IPv6 の互換性](ddos-protection-enable.md#ddos-protection-enable-ip-protocol)。