無料プロキシと有料プロキシをめぐる問いの誠実なバージョンは、抽象的な品質の話ではない。どの失敗を受け入れられるか、という話だ。無料プロキシは文字通り無料であり、公開ページに対する少数のリクエストであれば動くこともある。有料プロキシは費用がかかる代わりに、収集がビジネス上重要になった時点で高くつくある種の問題を取り除いてくれる。
無料プロキシリストの実態
無料プロキシリストは、例外を除けばインターネット全体のスキャンの産物である。スキャナーがアドレス空間を走査し、一般的なプロキシポートで応答するホストを見つけ、リクエストを転送するかどうかを確認し、転送するものを公開する。そうしたホストは3つのグループに分かれる。
一部は設定ミスによるものだ。サーバー、ルーター、アプライアンスがプロキシポートを開いたまま導入され、所有者はそれに気づいていない。誰かが気づいて閉じるまで動き続けるが、それは明日かもしれない。
一部は、公共の善意で運営される意図的なオープンリレーだ。これが最良のケースであり、最も稀でもある。
そして一部は、他人のトラフィックの間に位置することを目的として運営されている。これは安く手に入り、保持する価値のあるポジションだ。運営者はそこを通過するすべてを見ることができるからだ。
この3つのどれも、あなたに対する義務も、容量の保証も、明日のジョブが実行される時にまだそこに存在している理由も持たない。

セキュリティの問題を正確に述べる
よくある警告は「無料プロキシはデータを盗む」というものだ。これは曖昧すぎて簡単に一蹴されてしまうので、正確なバージョンを示す。
プロキシの運営者は、あなたが送るすべてのリクエストの宛先を見ることができる。平文のHTTPの場合、運営者は双方向の内容を完全に見ることができ、改変することもできる。HTTPSの場合、トランスポートはエンドツーエンドで暗号化されており、運営者が見えるのはホスト名とトラフィックのパターンだけで、内容は見えない。これがプロキシ利用をそもそも許容可能にしている保護だ。
問題が起きるのはその先だ。内容を見たい運営者は自分の証明書を提示し、クライアントがそれを受け入れることを期待する。正しく設定されたクライアントはそれを拒否し、リクエストは失敗する。実際に起きがちなのは、無料プロキシ経由で接続できないスクレイパーをデバッグしている誰かが証明書検証を無効化してしまい、リクエストは動くようになるが、重要だった唯一の保護が失われるということだ。この時点でプロキシはスクリプトが送るあらゆる認証情報を含め、すべてを読み取れるようになる。
したがって、規則は限定的だが明確に述べる価値がある。認証済みトラフィック、認証情報、個人データ、あるいは商業的に機密性のある情報は、運営者の名前を特定できないプロキシを通じて送ってはならない。公開ページを読むことと、アカウントにログインすることは、まったく異なるリスクの分類に属する。
大量利用時に最初に壊れるもの
セキュリティは劇的な反論だ。信頼性は実験を終わらせるものだ。
無料リストは数時間で劣化する。掲載された時点で多くのエントリはすでに死んでおり、応答するもののうちの多くも、対象サイトにすでに知られている。何千もの他人が同じアドレスを通じてトラフィックを送っているからだ。あなたが得ているのは新鮮なIPではなく、あなたが作ったのではない公開された評判と履歴を持つアドレスだ。
スループットは管理されていない。リスト上のすべてのホストは、そのリストを見つけた全員に使われているため、レイテンシはリクエストごとに桁違いに変動し、接続はレスポンスの途中で切断される。タイムアウトはエラー状態であることをやめ、通常のケースとなる。つまり、リトライロジックとパーサーの両方をノイズを前提に書かなければならない。
まともなジオターゲティングは存在しない。エントリには国のラベルが付いているが、そのラベルはしばしば間違っており、都市、ASN、キャリアの制御はまったく存在しない。ローカルユーザーが見るのと同じようにページを見ることが目的のワークロードでは、推測は戦略にならない。
セッション制御も存在しない。カーソルによるページネーション、保存された位置情報の選択、複数ページにわたるフローなど、複数のステップにわたって同じアドレスを必要とする処理は不可能だ。同じアドレスを2回要求する方法がないからだ。
そして可視性もない。ジョブが期待するレコードの半分しか生成しなかった場合、確認できるものが何もない。成功率も、エラーの内訳も、リクエストごとのログもない。対象サイトが変わったのか、パーサーが壊れたのか、プロキシが単に失敗したのか、推測するしかない。
支払うことで実際に変わること
有料ネットワークは、リストにはないものを提供する。出所が分かっているアドレス、単一のアドレスがワークロード全体を担わずに済む十分な規模のプール、願望ではなく正確な地理的制御、リクエストごとに選択できるセッションの挙動、そして誰かが責任を負う成功率だ。
レジデンシャルプロキシは実際の消費者向け回線を経由するため、成熟したボット対策を持つ消費者向けサイトに対して機能する。ISPプロキシは同じ信頼性プロファイルを静的アドレスで提供し、これはステートフルなフローに必要なものだ。データセンタープロキシはリクエストあたり最も安価であり続けており、防御策を持たない対象には正しい選択肢だ。これらの選択はルーティングの判断であり、有料アクセスがあって初めて、単なる希望ではなく実際の判断として成立する。
調達元は購入するものの一部であり、確認する価値がある。レジデンシャルネットワークは、トラフィックを運ぶデバイスを持つピアから構築されており、そのピアがそれに同意したうえで承知していたかどうかは、プロバイダー間で本当に異なる点だ。倫理的な観点からも、プールが長期的にどれほど安定しているかという観点からも重要だ。契約前にどのベンダーにも問うべき正当な質問である。
無料が正しい答えになる場合
無料プロキシは詐欺ではなく、支払うことが無意味なケースもある。
あるページが別の国で異なって表示されるかを一度だけ確認する場合。プランを契約する前にプロキシ設定の仕組みを学ぶ場合。失敗しても何も失わず、リトライも無料な、公開された機密性のないページを読む場合。二度と実行されない使い捨ての実験。
共通するのは、リクエストが成功するかどうかに何も依存していないという点だ。何かが依存し始めた瞬間、それがレポートであれ、価格フィードであれ、監視ジョブであれ、締め切りのある何かであれ、計算は逆転する。
計算
支払う理由は通常、品質を根拠に語られる。だがコストで語ったほうがより説得力がある。
控えめなジョブを考えてみよう。1日数千の公開ページだ。無料インフラでは、ほとんどのリクエストが失敗するかチャレンジページを返すため、クローラーはリトライし、そのリトライも失敗する。エンジニアは1週間かけて、設計上信頼できないアドレスプールに対処するためのローテーション、ヘルスチェック、リトライロジックを構築し、その後もリストが変動するたびに毎月それを維持する作業に時間を費やす。その1週間は、小規模なプロキシプランの数年分の価値を上回る。
同じジョブの有料版は帯域幅ベースの課金になる。テキストページに対して$1.00/GBのレジデンシャルトラフィックを使い、画像とフォントをブロックすれば、そうしたジョブは月額一桁ドルに収まる。エンジニアリングの時間はインフラを回避するためではなく、パーサーと分析に費やされる。
これが議論のすべてだ。無料プロキシは無料ではなく、コストを請求書からエンジニアリングのカレンダーに移し、さらに何の見返りもないリスク分類を追加しているにすぎない。
有料プロバイダーの選び方
決断が下された後、有用な評価基準は見た目ではなく運用上のものだ。プールのサイズと対応国数は目立つ数字だが、最も情報量が少ない。重要なのは、収集期間中に成功率が維持されるか、ジオターゲティングが要求した都市やASNに正確に解決されるか、ローテーティングとスティッキーの両方のセッションが1つのアカウントで利用可能か、同時接続数に上限があるか、そして利用状況が月末ではなくリアルタイムで可視化されているか、といった点だ。
ここではベンダーの主張よりも独立した測定の方が信頼できる。だからこそ、私たち自身のネットワークの数値は、記事の中で主張するのではなく、手法を添えてベンチマークページに掲載している。Shifterのレジデンシャルネットワークは、195以上の国にわたる2億500万以上のIPをカバーし、都市レベルおよびASNレベルのターゲティング、ローテーティングおよびスティッキーセッション、無制限の同時接続に対応しており、価格はIPあたりの課金なしのGB単位となっている。
まとめ
無料プロキシは好奇心には適しているが、それ以外の用途には適していない。設計上信頼性が低く、誰が運営しているのか不透明であり、認証情報が絡んだ瞬間に危険になる。
有料プロキシが優れているのは、費用がかかるからではない。プールに責任を持つ人がいて、地理情報が正確で、セッションが期待通りに動作し、失敗が可視化されているからだ。人やレポートが依存する収集ジョブにとって、それは贅沢ではない。最低限の仕様である。
次に読む: スクレイピングでブロックされないようにする方法。