負荷分散の削減
負荷分散の削減を使用して、リスクのあるエンドポイントが不健康になるのを防ぎ、フェイルオーバープロセスを開始します。
プールに負荷分散の削減を設定すると、そのプールは負荷分散の削減設定とロードバランサーのステアリングポリシーに従って、他のプールにトラフィックを転送し始めます。
内部メトリクスを使用して、障害閾値に達するリスクのあるエンドポイントを特定します。
リスクのあるエンドポイントを特定したら、そのエンドポイントのプールから少量のデフォルトトラフィックを削減します。このトラフィックは、既存のセッションアフィニティセッションに関連付けられていません。
ダッシュボードまたはAPIを介して負荷分散の削減を設定します。
ダッシュボードを介して特定のプールの負荷分散の削減を有効にするには:
- トラフィック > 負荷分散に移動します。
- プールの管理をクリックします。
- プールを選択し、編集をクリックします。
- 負荷分散の削減を設定のドロップダウンをクリックします。
- デフォルトトラフィックのために、ポリシーと**削減 %**を選択します:
ポリシーオプション
デフォルトトラフィックを削減する際には、2つのポリシーオプションがあります:
- ランダム: *削減 %*で指定されたリクエストの割合をランダムに削減します。トラフィックをより正確に分配しますが、同じIPからのリクエストが異なるエンドポイントに到達する可能性があります。
- IPハッシュ: *削減 %*で指定されたIPアドレスハッシュ空間の割合を削減します。同じIPからのリクエストが同じエンドポイントに到達することを保証しますが、リクエストの割合が大幅に高くなるか低くなる可能性があります。
ポリシーの選択に関する詳細は削減ポリシーを参照してください。
削減 %
**削減 %**を選択する際は、小さな割合から始めて徐々に増やします。特にIPハッシュ削減ポリシーを選択した場合、予想以上に多くのトラフィックを削減する可能性があります。
APIを介して特定のプールの負荷分散の削減を有効にするには、プールのload_sheddingオブジェクトの値を更新します。
リクエストの例
curl --request PATCH \"https://api.cloudflare.com/client/v4/accounts/{account_id}/load_balancers/pools/{pool_id}" \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data-binary '{ "load_shedding": { "default_percent": 20, "default_policy": "random", "session_percent": 0, "session_policy": "hash" }}'ポリシーの選択に関する詳細は削減ポリシーを参照してください。
デフォルトトラフィックの削減を開始したら、負荷分散分析の概要メトリクスを確認して効果を評価します。これらの数値と内部メトリクスに基づいて、プールから追加のトラフィックを転送する必要があるかどうかを判断します。
プールへのトラフィックが増加している場合、追加のトラフィックを削減する必要があるかもしれません。プールは総トラフィックの割合を削減するため、総トラフィックの増加はプールに到達するトラフィックも増加させます。
追加のプールトラフィックを削減する必要がある場合:
- ステップ 2で説明されている手順に従います。
- ダッシュボードで、デフォルトトラフィックおよび/またはセッションアフィニティトラフィックの**削減 %**を増やします。
- APIの場合、
default_percentおよび/またはsession_percentの値を増やします。
セッションアフィニティトラフィックを削減すると既存のセッションが中断され、顧客体験が低下する可能性があるため、プールが不健康になる危険が差し迫っている場合や、プールに既存のセッションに関連するトラフィックの割合が高い場合にのみこのオプションを有効にしてください。詳細については削減ポリシーを参照してください。
エンドポイントがもはやリスクにさらされていない場合、プールから負荷分散の削減を削除します。
ダッシュボードで負荷分散の削減を削除するには、ダッシュボードを介して負荷分散の削減を設定と同じ手順を実行しますが、デフォルトトラフィックとセッションアフィニティトラフィックの両方の**削減 %**を0に設定します。
APIを介して負荷分散の削減を削除するには、APIを介して負荷分散の削減を設定と同じ手順を実行しますが、load_sheddingオブジェクトをnullに設定します。
デフォルトトラフィックについては、削減ポリシーの選択肢が2つあります。
ランダムポリシー:
- *削減 %*で指定されたリクエストの割合をランダムに削減します。
- リクエストレベルで削減するため、トラフィックをより正確に分配します。
- 同じIPからのリクエストが異なるエンドポイントに到達する可能性があり、DNS専用ロードバランサーに対してキャッシュミス、一貫性のないレイテンシ、またはセッションの中断を引き起こす可能性があります。
IPハッシュポリシー:
- *削減 %*で指定されたIPアドレスハッシュ空間の割合を削減します。
- 同じIPからのリクエストが同じエンドポイントに到達することを保証し、キャッシュヒットを増加させ、一貫したレイテンシを提供し、セッションを保持します。
- ハッシュ化は完全に均等なIP分布を保証しないため、リクエストを過剰または不足して削減する可能性があります。
生のリクエストのより正確な分配を望む場合はランダムポリシーを選択し、異なるエンドポイント間で単一のIPがフラッピングするのを防ぎたい場合はIPハッシュポリシーを選択します。
セッションアフィニティトラフィックについては、これらのリクエストが既存のセッションに関連しているため、IPハッシュポリシーのみを使用できます。既存のセッションを中断することに問題がない場合にのみ*削減 %*を増やしてください。
ロードバランサー内のすべてのプールで負荷分散の削減が有効になっている場合、一部のトラフィックはフォールバックプールに送られます。フォールバックプールにトラフィックが到達しないようにするには、ロードバランサー内の少なくとも1つのプールで負荷分散の削減が無効になっていることを確認してください。
プールで負荷分散の削減を有効にすると、すべてのロードバランサーで同じ割合のトラフィックが削減されます。異なるロードバランサーに対して異なる割合のトラフィックを削減する必要がある場合は、そのエンドポイントを複数のプールに配置してください。