プロキシとは?仕組み、種類、用途を解説

プロキシとは?仕組み、種類、用途を解説

ツール、スクリプト、ボットを使い始めると、説明にプロキシへ接続するよう書かれていることがあります。しかし、その理由まではよく分かりません。選ぼうとすると、個別販売とパッケージ販売、価格の違い、知らない用語など、さらに疑問が増えます。購入前に、何のために必要なのか、どう選べばよいのかを知りたいところです。

プロキシとは?

プロキシは、ソフトウェア、スクリプト、ボットがサイトへアクセスする際の仲介役です。ソフトウェアがプロキシへ接続し、プロキシがサイトに接続して、応答を持ち帰ります。

ソフトウェアとサイトの間にあるプロキシ

背後には、インターネットに接続され、双方のデータを中継するソフトウェアが動くコンピューターなどの機器があります。これをプロキシサーバーと呼びます。プロキシはIPアドレスを使ってサイトへアクセスし、サービスを買うと、そのアドレスを使う権利が得られます。

ソフトウェアに別のIPが必要になる理由

インターネット接続には、IPアドレスという住所があります。ボットが直接つなぐと、サイトはそれを見ます。プロキシを使うと、サイトへはプロキシのIPアドレスから接続が届きます。

サイトは、IPで訪問者の国を推定したり、同じアドレスからのリクエスト数を制限したりします。そのため、ソフトウェアが使うIPによって、サイトでの処理が変わる場合があります。

たとえば、1台で複数のボットを動かすと、通常は同じIPからインターネットへ出ます。それぞれに別アドレスが必要なら、プロキシで実現できます。特定の国に関連するアドレスや、作業中のIP変更が必要な場合もあります。こうした要件から、選ぶプロキシが決まります。

購入すると何が得られるか

プロキシを買うと、ソフトウェアが1つ以上のIPを使えるようになります。ボットがサービス経由で接続すれば、サイトは通常の回線のIPではなく、そのアドレスを見ます。アクセスを提供し、稼働を維持する会社をプロキシ事業者と呼びます。

事業者はアドレスとポートを渡します。たとえば192.0.2.40:8080は、アドレス192.0.2.40とポート8080です。ポートは、そのアドレスのどのサービスに接続するかを示す番号で、ここではプロキシを指します。

ユーザー名とパスワードが必要な場合もあります。事業者がアドレスやポートと一緒に提供し、ソフトウェアの設定へ入力します。下図は、各値をどの欄へ入れるかを示します。

購入後に受け取る情報

設定後、ボットはプロキシ経由でサイトに接続できます。同じコンピューターのほかのアプリは、それぞれの接続設定を使い続けます。ボットだけがプロキシを使い、ブラウザーは通常の回線を使う場合もあります。アクセス権を買うだけで切り替わるわけではなく、利用するソフトウェアで設定する必要があります。

どの接続がプロキシを使うか

プロキシ経由の接続の仕組み

設定後の変化を知るには、プロキシあり・なしでサイトへの接続を比べます。ブラウザーもボットも、要求を送って応答を受け取る点は同じです。ブラウザーは人にページを表示し、ボットは指示に従って返されたデータを処理します。どちらでも経路を説明できますが、以下ではブラウザーを使います。

プロキシなしでページを開く

ブラウザーへサイトのアドレスを入力すると、ブラウザーはサイトに接続し、ページを送るよう求めます。これがリクエストです。サイトが応答し、ブラウザーが受信したページを表示します。

サイトは回線のIPを見ます。同じコンピューターのボットがプロキシなしで接続すれば、通常は同じIPを使います。

プロキシなし:リクエストとレスポンス

プロキシを追加する

ブラウザーの設定にプロキシを入力し、もう一度サイトを開きます。ブラウザーはプロキシへ接続し、必要なサイトを伝えます。プロキシがサイトへ接続し、応答を受け取ってブラウザーに渡します。サイトに見えるのは、元の回線ではなくプロキシのIPです。

プロキシあり:サイトに見えるアドレス

ボットも同じです。用意した投稿の公開や新着メッセージの確認など、元の仕事を続けます。プロキシは要求とサイトの応答を運びます。何を実行し、返ったデータをどう扱うかは、引き続きボットが決めます。

1つの接続アドレスで複数IPを使える理由

多くのIPを提供する事業者から、設定には1つのアドレスだけを渡される場合があります。1IPしか使えないとは限りません。そのアドレスが、サービス共通の入口へつながることがあります。

たとえばproxy.example:8080を受け取ります。この接続アドレスは名前で書かれていますが、数値IPで渡すこともできます。ボットにアドレスとポートを設定します。このサービスへの入口がゲートウェイです。

ボットはゲートウェイへ接続し、サービスが、利用者にアクセス権のある別のIPからサイトに接続します。図では、1ゲートウェイの背後にIP AとIP Bという2つの出口候補があります。

ボット1つ、ゲートウェイ1つ、出口候補2つ

IPを維持・変更する方法は後で説明します。

プロキシを使う理由

元のIPをサイトに見せない、特定の国のIPを使う、ボットに作業中ずっと同じIPを使わせる、といった目的があります。

プロキシが代わりにサイトへ接続するため、こうしたことが可能です。サイトは元のIPではなくプロキシIPを見て、そのアドレスで接続元の国を判断します。どのボットにどのIPが割り当てられ、どれだけの間使うかは製品と設定次第です。適切な構成なら、3つを同時に実現できます。

ウェブサイトからデータを収集する

ボットがオンラインストアの価格を追い、数千商品を調べるとします。通常の訪問者は短時間にそれほど多くのページを開きません。すべてが1IPから来ると、自動収集と判断され、アドレスをブロックされることがあります。すると、ボットはデータを取れません。

プロキシを使うと、一部の商品をあるIPで、残りを別のIPで調べるなど、要求を分散できます。IPごとの要求数が減るため、単一アドレスの上限を回避し、収集を続けやすくなります。

1つのボットの要求を複数IPへ分散

別の国の訪問者としてサイトにアクセスする

同じストアでも、国によって商品、価格、配送条件が異なることがあります。自国のIPからのアクセスをブロックするサイトもあります。

必要な国のプロキシなら、サイトには自分のIPではなく現地のIPが見えます。現地向けの商品を確認したり、国別のアクセス制限を回避したりできます。

同じストアでも国別に在庫・取扱商品が異なる

継続作業に安定したアドレスを使う

IP許可リストのパブリックIPだけを認めるサイトがあります。長い処理でも、多数の要求で同じアドレスを使い続ける必要がある場合があります。利用者が引き続きプロキシにアクセスできるなら、固定の割り当てIPを持つプロキシは、利用者自身の回線が変わってもそのアドレスを提供できます。

ソフトウェアが同じIPを使い続ける

この場合は同じIPの維持が有用で、要求ごとの変更は目的に反します。ただし、プログラム自身のログイン状態とデータは別に維持する必要があります。IPを保つだけでサイトのアカウントセッションが保たれるわけではありません。

別々の処理に別々のアドレスを与える

複数のボットや独立した作業には、それぞれ異なるプロキシIPを割り当てられます。サイトへの要求を分け、各作業がどのアドレスを使うか把握しやすくなります。

作業ごとに異なるIP

作業ごとに重要な特性は異なります。地域別の観測には位置、継続作業にはアドレスの安定性、作業の分離にはアドレスの割り当てと共有方式が重要です。以下ではそれぞれを説明し、「住宅用」「プライベート」「ローテーション」を、サービスの異なる特性として理解できるようにします。

プロキシIPの出所

選ぶ際にはデータセンター、ISP、住宅用、モバイルの4種類が出てきます。IPの出所と、ボットがサイトへ出る回線が異なります。

4種類のプロキシ

データセンタープロキシはデータセンターのサーバーで動き、ホスティング会社のIPを使います。サイトにはサーバーネットワークからの接続が見えます。

ISPプロキシもデータセンターのサーバーで動きますが、家庭向けインターネット事業者のIPを使います。機器はサーバーでも、アドレスは一般利用者にサービスを提供するネットワークのものです。

住宅用プロキシは、利用者の家庭回線から要求を送ります。ボットは家庭内の端末を経由し、その回線のIPでサイトへアクセスします。

モバイルプロキシは、スマートフォンやSIMカード入りモデムなどを通じ、モバイルインターネットで要求を送ります。サイトには携帯通信事業者のIPが見えます。

サイトが各種IPを異なる扱いにする場合があるため、この違いが重要です。データセンターからの接続を制限するサイトでは、家庭向け事業者や携帯通信事業者のアドレスが役立つことがあります。

4種類の仕組みと費用を詳しく比べるには、プロキシのネットワーク種類を参照してください。

同じプロキシIPを使えるのは誰か

購入時には、そのIPを自分だけが使うのか、ほかの利用者も同時に受け取るのかを知る必要があります。これが共有プロキシと専用プロキシの違いです。

共有プロキシは、事業者の複数利用者が同じIPを使います。自分のボットと他者のソフトウェアが同じアドレスからサイトへ出ます。他者の要求過多で共有IPがブロックされると、自分のボットもそのIPでアクセスできなくなります。

プライベート、または専用プロキシは、支払った期間中、IPを専有できます。ほかの顧客は使わないため、その活動で自分のアドレスに対するサイトのリクエスト枠が消費されることはありません。

共有IPと専用IP

共有は通常安価です。専用は、同じIPで他者が何をするかに左右されず、自分だけで使いたい場合に有用です。選び方は共有プロキシと専用プロキシを参照してください。

IPを維持・変更する仕組み

数週間・数か月同じIPが必要な作業も、頻繁な変更が必要な作業もあります。そのため、固定IPとローテーションに分けられます。

固定IPプロキシでは、同じIPを数週間、数か月、またはそれ以上使えます。ボットやアカウントに長期間安定したアドレスが必要な場合に向いています。

ローテーションプロキシはソフトウェアの動作中にIPを変えます。新規要求ごとに変える方法や、10、20、30分ごとなど一定間隔で変える方法があります。ボットは動き続け、サイトには異なるIPから要求が届きます。

変更には、サービスが使えるアドレスの集合であるIPアドレスプールを使います。変更の時刻になると、その中からIPを選びます。

同じIPを長く使うか、IPを切り替えるか

ローテーションで同じIPを一時的に保つ方法

ボットがログイン、必要ページの表示、フォーム送信などを、同じIPで連続して行う必要がある場合があります。

スティッキーセッションは、その操作の間、IPを一時的に維持します。たとえば10、20、30分など、使える時間と維持条件は事業者が定めます。

同じIPを10分間維持

これにより、作業の合間にはアドレスを変え、各作業中は同じIPを保てます。設定の詳細は固定IPプロキシ、IPローテーション、スティッキーセッションを参照してください。

プロキシの位置はどう決まるか

サイトは通常、IP範囲と国、地域、都市、ネットワークを関連付けるデータベースで位置を推定します。これがIPアドレスによる位置推定です。アドレスの解釈であり、訪問者の実際の位置を直接測るものではありません。同じIPでもデータベースによって結果が異なり、記録も変わることがあります。

接続には、端末所在地、ゲートウェイの設置場所、通信が接続先へ出る場所、接続先のデータベースがそのIPに関連付ける場所が関係します。これらがすべて同じ必要はありません。近いゲートウェイでも、他国に関連付けられたアドレスを使えます。近さは最初の区間に影響しても、サイトに見える位置を決めるわけではありません。

ゲートウェイと出口IP:異なる国

国、都市、特定のネットワークを選べる事業者もあります。都市ラベルも推定なので、管理画面の表示だけで、すべてのサイトが同じ分類をする保証にはなりません。

選べる国、都市、ネットワークはサービス次第です。複数国のプールでも、国を選べるとは限りません。国を選べても、その国の全都市・全事業者が使えるとは限りません。地域別作業で重要なのは、実際に使うIPを接続先がどこに位置付けるかです。

言語、保存済み設定、アカウント設定、端末の位置情報の許可も、表示内容に影響します。IP位置情報は判断材料の一部です。プロキシの位置情報:国、都市、ネットワークで、それらの信号と地域選択の関係を説明します。

プログラムとプロキシの通信

プロトコルは、双方が通信で使う規則です。プログラムはサイトへのアクセスをどう要求するか知り、プロキシもそれを理解する必要があります。アドレスとポートが接続場所を示し、プロトコルが接続後に何を伝えるかを決めます。

HTTPプロキシでは、HTTPプロキシの規則を使います。通常の未暗号化HTTPでは、プロキシは接続先を含む要求を受けて転送できます。HTTPSでは、HTTPのCONNECTが一般的です。プログラムが接続先へのトンネルを要求し、その中でブラウザーとサイト間の暗号化通信を運びます。

HTTPSプロキシという名前は、文脈が重要です。HTTPSで使われる暗号化プロトコルTLSが、プログラムからプロキシまでの接続自体を保護する意味の場合があります。CONNECT経由でHTTPSサイトに対応する意味で使う商品もあります。これらは別の機能です。ブラウザーとサイトの暗号化、プログラムとプロキシの暗号化は、経路の別の区間を保護します。

SOCKS5は、プログラムが仲介サーバーに接続先との通信を求める、より汎用的な方法です。IPやドメインで接続先を示せます。標準にはTCPとUDP用の仕組みが含まれますが、製品やプログラムは一部しか対応しない場合があります。SOCKS5自体は転送内容を暗号化しません。アプリがその接続上で独自に暗号化できます。

接続先とプロキシのプロトコル名は、同じ必要はありません。ブラウザーはHTTPプロキシのトンネルや適切なSOCKS5を通じてHTTPSサイトへアクセスできます。必要な構成にアプリとプロキシが対応するかが重要です。

HTTP、HTTPS、SOCKS5:同じサイトへの3つの経路

プロトコルは、ネットワークの種類やIP変更を決めません。ISPがSOCKS5で固定IPを使い、住宅用がHTTPでIPを変えることも、逆にISPがHTTPとローテーションを、住宅用がSOCKS5と固定IPを使うことも可能です。種類、プロトコル、ローテーションは別々に組み合わせられます。

HTTP、HTTPS、SOCKSのプロキシプロトコルでは、通信の規則と、それが各アプリケーションでの利用にどう関係するかを説明します。

プロキシのアクセス制御

有料サービスは、使える顧客とその他の利用者を区別する必要があります。認証により、提供された認証情報や送信元IPに基づいて、接続を許可するか確認します。

ユーザー名とパスワードでは、接続時に認証情報を送ります。事業者は顧客を特定し、プラン上限を適用し、場合によっては地域やセッションを選びます。プロキシのパスワードはサービス用であり、その接続先のサイトへログインするパスワードとは別です。

IP許可リストでは、事前に許可されたパブリックな送信元からの接続を受け付けます。プロキシに見える送信元を確認するのであり、通常は家庭・社内のプライベートアドレスとは異なります。パブリックIPが変われば、旧アドレスの認可に一致しなくなる場合があります。複数端末が同じ許可IPを共有するなら、IPだけの規則では端末ごとに区別できません。

プロキシへアクセスする2つの方法

ユーザー名とパスワードで認証するサービス、許可リストのIPから接続を認めるサービスがあります。両方必要なら、ソフトウェアに認証情報を入れ、事業者の管理画面に自分のパブリックIPを登録します。

これはプロキシへのアクセスを守る仕組みです。共有IPを専用にしたり、サイトからアカウントログインを隠したり、それ自体で通信を暗号化したりはしません。設定方法はプロキシの認証方式を参照してください。

IPv4とIPv6プロキシの違い

IPv4プロキシは、192.0.2.40のようなIPv4アドレスからサイトへ接続します。サイトはそのアドレスを見ます。ドットで区切られた4つの数値で表します。

IPv6プロキシは、2001:db8::40のようなIPv6アドレスから接続します。サイトには別形式が見えます。数字とaからfの文字を使い、各組をコロンで区切ります。

選ぶ際は対象サイトの対応が重要です。IPv4だけを受け入れるサイトも、両方を受け入れるサイトもあります。IPv6アドレスから接続するには、サイトもIPv6に対応する必要があります。

IPv4とIPv6:サイトへの接続

したがって、IPv6プロキシがすべてのサイトでIPv4をそのまま代替するわけではありません。選び方と設定はIPv4とIPv6プロキシを参照してください。

高匿名プロキシでもサイトにアクセスできるとは限らない理由

サービス説明やチェッカーには、Elite / High Anonymity(高匿名)と出ることがあります。元のIPを明かしたり、プロキシ利用を示したりするリクエストヘッダーを追加しないという意味です。全体の品質ではなく、1つの性質を表します。

サイトにはプロキシIPが見えます。既知のプロキシDBに載っていたり、評判が悪かったりすれば拒否され得ます。ブラウザー設定やソフトウェアの挙動も判断に影響します。Eliteは検出不能を意味せず、アクセスを保証しません。

プロキシの匿名性レベルでは、この古い分類のEliteなどの名称と、匿名性チェッカーの実際の確認内容を説明します。

プランの容量は作業に十分か

顧客は少ない費用で多くの仕事を望み、事業者はサーバー、IP、回線、保守の費用を払い、原価を回収して利益を得る必要があります。そのため、各プランは価格に応じた容量を定めます。

選ぶ際は、条件をソフトウェアの負荷と比べます。大きなIPパッケージでも、アドレスは十分なのにエラー、遅延、完了前の通信量切れが起き、適さない場合があります。

上限 購入前の確認事項 考えられる影響
許可される同時接続数 ソフトウェアが同時に開く数と、プランが認める数。 枠が埋まると新規接続が拒否されます。作業を始められなかったりエラー終了したりし、再試行で完了までの時間が延びます。
1秒または1分あたりに許可されるリクエスト数 ソフトウェアが送る頻度と、事業者が認める頻度。 超過した要求が拒否・遅延されます。時間内の応答数が減り、再試行でさらに遅くなります。
データ転送速度の上限 必要量を制限時間内に転送できる速度か。 速度上限に達すると取得時間が延びます。共通の速度上限では、並列取得を増やしても上限は増えず、利用可能な速度を分け合います。
購入した通信量の枠 含まれるGBと、ソフトウェアに必要なGB。 使い切ると、追加購入や更新まで止まります。超過課金や自動追加が有効なら、継続できても費用が増えます。

上限が1IP、パッケージ全体、アカウントのどれに適用されるかを確認します。アカウント全体なら、IPを買い足すだけでは増えません。「通信量無制限」も、速度や同時接続数の無制限を意味しません。

上限以外に、応答が始まるまで待つ応答時間も重要です。長い待機は小さな操作も遅くします。時間内に返らないと、許容待ち時間切れを意味するタイムアウトで終了する場合があります。プロキシへのpingだけでは、対象サイトからの応答時間は分かりません。

4つ目の接続をプロキシが拒否

事業者は、接続先ポート、サイト、アプリ、活動を制限する場合があります。プロキシが稼働し認証も成功していても、ポート制限で特定サービスに接続できない場合があります。これらはプロキシ側の規則です。接続先も、独自の規則で要求を拒否・制限できます。

プロキシの利用上限で、ソフトウェアへの影響を説明します。

利用者は何に支払うのか

費用は、IP数、転送量、リクエスト数に応じて決まります。同じ負荷でも、プランによって課金方法が異なります。

IP単位では、たとえば100IPを1か月など、期間と数を指定してアクセス権を買います。顧客へ割り当てるリストで一般的です。支払期間中、新規要求のたびにアドレス自体の料金が増えるわけではありません。通信量が料金に含まれるか、その量に上限があるかはプランで定められます。

GB単位では、プロキシの転送データ量に支払います。短いテキストは少量、画像、動画、大きなファイルは多量を使います。転送が増えるほど、購入枠は早く減ります。

リクエスト単位では、課金対象として数える件数で決まります。1件の定義、エラーや再試行の課金を確認してください。1ページでも、画像やほかの部分に別要求が必要な場合があります。

プロキシの3つの課金単位

購入方法は別の選択です。サブスクリプションは、毎月100IPや50GBなど、一定期間のパッケージを定期更新します。従量購入は、消費通信量に応じて残高から引くなど、利用に応じて支払います。選んだプランの失効・繰り越し規則を確認してください。

比較には、必要アドレス数、転送量、要求数を見積もります。詳しくはプロキシの料金体系を参照してください。

購入前の確認事項

支払い前に、作業に合わない、アドレス交換が必要、購入したアクセスが期限切れといった場合の扱いを調べます。

先にテストできるか。無料・有料の試用、期間、受け取るプロキシを確認します。本購入前に、自分のソフトウェアと必要サイトで動くか調べられます。

返金できるか。返金条件と申請期限を確認します。特に、プロキシは動いても対象サイトやアプリに合わない場合に返金されるか調べてください。

IPを交換できるか。いつ交換できるか、費用はいくらか、どのくらいの頻度で依頼できるかを確認します。動作は正常でも、必要サイトにブロックされたIPは交換できるでしょうか。

更新時はどうなるか。同じIPか別のIPかを、維持が必要なら事前に確認します。自動更新と、支払期限を過ぎた場合の扱いも調べます。

サポートは何を手伝うか。接続不能や必要サイトが開けない場合の連絡先と、解決できない場合の対応を確認します。

購入、利用、更新

個別条件は、選ぶプランのページと利用規約を読んでください。着眼点はプロキシ事業者の利用方針で説明します。

作業に合うプロキシの見極め方

適切なプロキシは目的次第です。数週間同じIPが必要な作業も、頻繁な切り替えが必要な作業もあります。数接続のプログラムも、数千接続を開くプログラムもあるため、ある作業に適したサービスが別の作業にも適するとは限りません。

特性を理解すると、事業者の提供内容、自分に重要な上限、事前に確認すべき点が分かります。自分のソフトウェアと必要なサイトでテストすれば、実際の作業でどれだけ機能するか確認できます。

ナレッジベースに戻る