エンドポイントステアリングは、各 プール が関連するエンドポイントへリクエストを配分する方法をカスタマイズします。
この配分は、次の 2 つのプロパティの組み合わせです。
プールを作成 するときは、Endpoint Steering のオプションを選ぶ必要があります。
エンドポイントに割り当てたウェイトは、そのエンドポイントへ送るプールトラフィックの割合を制御します。デフォルトでは、プール内のすべてのエンドポイントのウェイトは 1 です。
各エンドポイントをデフォルトのままにして、Random のエンドポイントステアリングポリシーを選ぶと、各エンドポイントは同じ割合のトラフィックを受け取ります。Hash ポリシーを使う場合、その割合はリクエストの IP 分布に応じて変わります。
プールの作成または編集 で重みをカスタマイズするには、Weight を 0 から 1 のあいだの数値(0.01 刻み)に設定します。Cloudflare はそのあと、エンドポイントステアリングポリシーと次の式を組み合わせて、そのプールへトラフィックを送ります。
エンドポイントへ送るトラフィックの割合 = エンドポイントの重み ÷ プール内の全重みの合計エンドポイントの重みの例
Random のエンドポイントステアリングポリシーで、3 つのエンドポイントに重みを付けた例です。
- 重み: エンドポイント A = 0.25、エンドポイント B = 0.25、エンドポイント C = 0.50
- すべてのエンドポイントが健全なとき、各エンドポイントが受け取るトラフィックの割合は次のとおりです。A = 25%、B = 25%、C = 50%。
- 1 つのエンドポイントが不健全なとき(例: エンドポイント C)、健全な各エンドポイントが受け取るトラフィックの割合は次のとおりです。A = 50%、B = 50%。
分布が想定どおりになるには、かなりの量のトラフィックが必要です。
重みが 0 のエンドポイントは、そのプールへ送られたトラフィックを受け取りません(ただし、ヘルスモニターリクエストは引き続き受け取ります)。
ダッシュボードでプールを作成または編集するときの Percent フィールドでも、この値を確認できます。
Endpoint Steering で Hash を選ぶか、セッションアフィニティ を有効にすると、トラフィックの分散に影響することがあります。
また、セッションアフィニティは、選択したウェイトやエンドポイントステアリングポリシーより優先されます。
DNS-only ロードバランシング を使う場合、DNS リゾルバーがクライアント向けに解決済み IP をキャッシュし、トラフィックの分散に影響することがあります。