解説
IP rotationとは、送信リクエストが発信元として見せるパブリックIPアドレスを変更する技術であり、通常はローテーティングプロキシプールを経由してルーティングすることで実現します。目的は、トラフィックを多数の異なるIPに分散させ、接続先サイトのIPごとのレート制限が全体のトラフィック量ではなくその一部にのみ適用されるようにすることです。
Rotationは3つの周期のいずれかで動作します。リクエストごと(すべてのHTTPリクエストに新しいIPが割り当てられる)、時間ベース(IPをN分間保持してからローテーション)、またはセッションベース(クライアントが特定のセッションを維持している間IPを保持し、その後解放)。各戦略はIPの多様性とセッションの継続性の間でトレードオフが生じます。
IP rotationは、大規模なウェブスクレイピング、広告検証、価格モニタリング、競合インテリジェンスのパイプラインほぼすべての基盤となる技術です。rotationがなければ、中程度のスクレイピング量でも、現代のほとんどのウェブサイトでIPは数分以内に使用不能になります。
仕組み
クライアントはローテーションプロキシゲートウェイに接続します。送信するリクエストごとに、ゲートウェイは設定したジオフィルターとローテーションポリシーに基づいてプールから出口 IP を選択し、その IP 経由でリクエストを転送します。送信先サイトは選択された IP からのリクエストとして認識し、正常に応答します。ゲートウェイはレスポンスを返し、次のリクエストでは別の IP を選択します。
プロバイダーは通常、プロキシのユーザー名を通じてローテーションポリシーを公開します(例:米国でのスティッキーセッションの場合は `customer-USER-country-us-session-12345`、デフォルトのリクエストごとのローテーションの場合は単に `customer-USER`)。セッション ID を使用することで、エンドポイントを変更せずにオンデマンドでスティッキー性を選択できます。