Proximity Steering
Proximity Steering とは
オリジンサーバのPoolにその緯度・経度の情報をメタデータとして追加することで、送信元IPの緯度・経度と比較し、近いところに誘導するというものです。
https://developers.cloudflare.com/load-balancing/understand-basics/traffic-steering/steering-policies/proximity-steering/
テスト結果
Load Balancing は DNS onlyで実験
https://developers.cloudflare.com/load-balancing/understand-basics/proxy-modes/#gray-clouded-dns-only-load-balancing
セットアップ
トラフィックのステアリング方式にProximity Steeringを選択し、オリジンの緯度経度を入力
Load balancing 対象のホストにDNSリクエストを発行、どのオリジンのIPが帰ってくるかを調査(Maxmindを利用し、各国のIPをランダムに選択、そのIPをEDNS0 Client Subnetに入れて、DNSリクエストを発行)
結果
Maxmindの国IPの精度もあるかと思いますが、おおよそ近いオリジンに誘導されています
オリジン:東京・ロンドン・サンパウロ
https://leafletjs.com/ でプロット
Load Balancing Analytics 画面でも分布を把握することが可能です。
https://developers.cloudflare.com/load-balancing/reference/load-balancing-analytics/
補足
Pool選択メソッドとしては
Off:フェイルオーバーのプライオリティ順(例 Active-Standby)
Dynamic: ヘルスチェックでモニタしたレイテンシ
Geo: リクエストを受信したCloudfalreのデータセンター(地域・国)
Proximity: オリジンPoolの緯度経度
Random: ランダム(例 Active-Active)
があります。
https://developers.cloudflare.com/load-balancing/understand-basics/traffic-steering/steering-policies/
Pool内でのオリジン選択はこちら(Random、Hash)
https://developers.cloudflare.com/load-balancing/understand-basics/traffic-steering/origin-level-steering/
Workersでやる一例
https://blog.cloudflare.com/update-response-headers-on-cloudflare-workers/