今回はプロキシについて説明したいと思います。プロキシはインフラ技術としては欠かせない技術の一つで負荷分散に多大な貢献をしています。
Windows のプロキシ設定
インフラで言うプロキシ(サーバ)
プロキシ自体は代理で何かを中継する時に使われることが多い用語ですが、IT 業界では主に「プロキシサーバ」を意味し、Web 経由で使われることが多いようです。
そして「プロキシサーバ」はエンドユーザに合わせてフォワードプロキシとリバースプロキシに分かれます。Web プロキシサーバの場合、それは利用者と Web サーバの間に立って中継をするのが仕事です。
プロキシサーバは中継をしている間に色々なことができます。例えば利用者と Web サーバとの間の HTTP 通信が分かる為閲覧に適さないコンテンツにフィルタを掛けたり(見せない)、同じサーバへの通信と分かっているのであれば、その HTTP 応答内容をキャッシュして実際には中継せずにそのまま返すことも可能です。
最近のプロキシサーバはこのキャッシュの為に利用していることが多いのですが、エンドユーザの Web サーバへ接続するまでの経路が削減できることや Web サーバへのアクセス減が実現し、結果的にエンドユーザにとってアクセス性能の大幅な改善が図れます。
フォワードプロキシ
プロキシサーバにはフォワードプロキシとリバースプロキシがあると説明しましたが、まず組織内ネットワークでよく利用されるフォワードプロキシについて話しを進めてみます。
組織内ネットワークにおいてエンドユーザは同じ URL へアクセスする機会が多いわけですが、この場合、毎回エンドユーザが Web サーバへアクセスすると Web サーバ上への負荷が増え、アクセス性能が遅くなってきます。
この性能を改善する為に組織内ネットワークではネットワーク内にプロキシサーバを置いて、エンドユーザはそこを中継してもらうように促します。このプロキシサーバ上ではキャッシュが行われているため、同じ URL の場合は同じ内容をそのまま返すことが可能です。
また、これも既述しましたが、組織内にとって無益なサイトへのアクセスは好ましく有りません。この URL へエンドユーザが接続しようとした場合にこのアクセスを拒絶することも可能です。