Global Accelerator でのクライアントアフィニティの仕組み - AWS Global Accelerator

Global Accelerator でのクライアントアフィニティの仕組み

標準アクセラレーターで使用するステートフルアプリケーションがある場合は、Global Accelerator が特定のソース (クライアント) IP アドレスのユーザーからのすべてのリクエストを同じエンドポイントリソースに送信するようにクライアントアフィニティを設定できます。このオプションを選択すると、ユーザーのクライアントアフィニティが維持されます。

デフォルトでは、標準リスナーのクライアントアフィニティは [なし] に設定され、Global Accelerator はリスナーのエンドポイントグループのエンドポイント間でトラフィックを均等に分散します。

Global Accelerator は、一貫したフローのハッシュ生成アルゴリズムを使用して、ユーザーの接続に最適なエンドポイントを選択します。Global Accelerator リソースのクライアントアフィニティを [なし] に設定すると、Global Accelerator はソース IP、ソースポート、送信先 IP、送信先ポート、プロトコルの 5 つのタプルプロパティを使用してハッシュ値を選択します。次に、最高のパフォーマンスを提供するエンドポイントを選択します。特定のクライアントが異なるポートを使用して Global Accelerator に接続し、この設定を指定した場合、Global Accelerator はクライアントからの接続が常に同じエンドポイントにルーティングされるようにすることはできません。

接続するたびに、ソース IP アドレスで識別される特定のユーザーを同じエンドポイントにルーティングしてクライアントアフィニティを維持する場合は、クライアントアフィニティを [ソース IP] に設定します。このオプションを指定すると、Global Accelerator はソース IP と送信先 IP の 2 つのタプルプロパティを使用してハッシュ値を選択し、接続するたびに同じエンドポイントにユーザーをルーティングします。さらに、Global Accelerator は、同じソース IP アドレスを持つすべての接続を同じエンドポイントグループにルーティングすることで、クライアントアフィニティを尊重します。

場合によっては、インターネットトラフィックルーティングの変動によって発生するネットワークメンテナンスや中断により、クライアントトラフィックが異なる Global Accelerator エッジロケーションに移行する可能性があります。この場合、クライアントトラフィックを提供するエッジロケーションが別の AWS リージョンを優先する場合、クライアントアフィニティは維持されません。

さらに、アクセラレーターでエンドポイントの重みを設定すると、特定の限られたシナリオでは、可用性を確保するために Global Accelerator がそれらの重みをオーバーライドすることに注意してください。Global Accelerator がエンドポイントグループ内のエンドポイント間でトラフィックをロードバランシングする場合、特定の状況では、クライアントトラフィックの可用性を維持するか、エンドポイントの重みに従うかを選択する必要があります。例えば、クライアントの IP アドレスが保存されているアクセラレーターでは、接続の衝突を避けるために Global Accelerator がエンドポイントの重み設定を上書きする必要があります。