

# カスタムルーティングアクセラレーターのガイドラインと制限
<a name="about-custom-routing-guidelines"></a>

AWS Global Accelerator でカスタムルーティングアクセラレーターを作成して操作する場合は、次のガイドラインと制限に注意してください。

**サポートされているエンドポイントの送信先**  
カスタムルーティングアクセラレーターの仮想パブリッククラウド (VPC) サブネットエンドポイントには、EC2 インスタンスのみを含めることができます。ロードバランサーなどの他のリソースは、カスタムルーティングアクセラレーターではサポートされていません。Global Accelerator でサポートされている EC2 インスタンスのタイプは、[AWS Global Accelerator の標準アクセラレーターのエンドポイント](about-endpoints.md) に記載されています。  
カスタムルーティングアクセラレーターを使用すると、Global Accelerator は VPC サブネット上の Amazon EC2 インスタンス上のプライベート IP エンドポイントにのみトラフィックをルーティングできます。ただし、カスタムルーティングを使用しようとするゲームのお客様は、ステートフルセッションに接続する必要がある場合があります。そのためには、お客様が Amazon Elastic Kubernetes Service (EKS) でゲームサーバーを実行すると同時に、特定のコンテナでホストされたセッションは Kubernetes ポッド内で実行されます。  
このシナリオでカスタムルーティングを使用するには、エンドポイントが存在するサブネットごとに Global Accelerator が作成する Elastic Network Interface (ENI) を介して Kubernetes ポッドにトラフィックを送信するように VPC-CNI プラグインを設定できます。これは、EKS でカスタムルーティングアクセラレーターを使用する方法です。Amazon Elastic Container Service (ECS) でカスタムルーティングアクセラレーターを使用するとき、同じ設定は機能します。詳細については、次のブログ記事:「[AWS Global Accelerator Custom Routing with Amazon Elastic Kubernetes Service](https://aws.amazon.com/blogs/networking-and-content-delivery/deploying-multi-region-applications-in-aws-using-aws-global-accelerator/)」で提供されている詳細な手順を参照してください。

**ポートマッピング**  
VPC サブネットを追加すると、Global Accelerator はリスナーポート範囲の静的ポートマッピングをサブネットでサポートされているポート範囲に作成します。特定のサブネットのポートマッピングは一切変更されません。  
カスタムルーティングアクセラレーターのポートマッピングリストをプログラムで表示できます。詳細については、「[https://docs.aws.amazon.com/global-accelerator/latest/api/API_ListCustomRoutingPortMappings.html](https://docs.aws.amazon.com/global-accelerator/latest/api/API_ListCustomRoutingPortMappings.html)」を参照してください。

**VPC のサブネットサイズ**  
カスタムルーティングアクセラレーターに追加する VPC サブネットは、最小 /28、最大 /17 である必要があります。

**IP アドレスタイプ**  
カスタムルーティングアクセラレーターは、IPv4 IP アドレスタイプのみをサポートします。

**リスナーポート範囲**  
カスタムルーティングアクセラレーターに追加しようとするサブネットに含まれる送信先の数に対応するために、リスナーポートの範囲を指定して、十分なリスナーポートを指定する必要があります。リスナーを作成する際に指定する範囲は、カスタムルーティングアクセラレーターで使用できるリスナーポートと送信先 IP アドレスの組み合わせの数を決定します。柔軟性を最大限に高め、十分なリスナーポートがないというエラーが発生する可能性を減らすために、大きなポート範囲を指定することをお勧めします。  
Global Accelerator は、カスタムルーティングアクセラレーターにサブネットを追加するときに、ポート範囲をブロックに割り当てます。リスナーポート範囲を線形に割り当て、使用する送信先ポートの数をサポートするのに十分な大きさにすることをお勧めします。つまり、割り当てるポートの数は、少なくともサブネットサイズに、サブネット内の送信先ポートとプロトコル (送信先設定) の数を掛けたものでなければなりません。  
Global Accelerator がポートマッピングの割り当てに使用するアルゴリズムでは、この合計を超えるリスナーポートを追加する必要がある場合があります。
リスナーを作成したら、それを編集してポート範囲と関連付けられたプロトコルを追加できますが、既存のポート範囲を小さくすることはできません。例えば、リスナーポートの範囲が 5,000～10,000 の場合、その範囲を 5,900～10,000 や 5,000～9,900 に変更することはできません。  
各リスナーポート範囲には、少なくとも 16 個のポートを含める必要があります。リスナーはポート 1～65535 をサポートします。

**送信先ポートの範囲。**  
カスタムルーティングアクセラレーターのポート範囲を指定する場所は 2 つあります。リスナーを追加するときに指定するポート範囲と、エンドポイントグループに指定する送信先ポート範囲とプロトコルです。  
+ **リスナーポート範囲: **クライアントが接続する Global Accelerator の静的 IP アドレスのリスナーポート。Global Accelerator は、各ポートをアクセラレーターの背後にある VPC サブネット上の一意の送信先 IP アドレスとポートにマッピングします。
+ **送信先ポート範囲: **エンドポイントグループに指定する送信先ポート範囲のセット (送信先設定とも呼ばれます) は、トラフィックを受信する EC2 インスタンスポートです。送信先ポートでトラフィックを受信するには、EC2 インスタンスに関連付けられているセキュリティグループでそれらのポートへのトラフィックを許可する必要があります。

** ヘルスチェックとフェイルオーバー**  
Global Accelerator は、カスタムルーティングアクセラレーターのヘルスチェックを実行せず、正常なエンドポイントにフェイルオーバーしません。カスタムルーティングアクセラレーターのトラフィックは、送信先リソースの状態に関係なく、決定的にルーティングされます。

**すべてのトラフィックはデフォルトで拒否される**  
デフォルトでは、カスタムルーティングアクセラレーターを介して送信されるトラフィックは、サブネット内のすべての送信先に拒否されます。送信先インスタンスがトラフィックを受信できるようにするには、サブネットへのすべてのトラフィックを具体的に許可するか、またはサブネット内の特定のインスタンス IP アドレスとポートへのトラフィックを許可する必要があります。  
サブネットまたは特定の送信先を更新してトラフィックを許可または拒否するには、インターネット全体に伝播するまでに時間がかかります。変更が伝播されたかどうかを判断するには、`DescribeCustomRoutingAccelerator` API アクションを呼び出してアクセラレーターのステータスを確認できます。詳細については、「[DescribeCustomRoutingAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeCustomRoutingAccelerator.html)」を参照してください。

**CloudFormation はサポートされていない**  
CloudFormation は、カスタムルーティングアクセラレーターではサポートされていません。