こんにちは、インフラエンジニアのryuです。
今回はプロキシサーバとは何かを初心者のために仕組みを詳しく解説していきます。proxyサーバーとは、PCの替わりにWebサーバーにアクセスするサーバーのことです。プロキシサーバーの仕組みを分かりやすく解説していきます。
目次
プロキシサーバーとは?仕組みを解説!
「プロキシサーバーって何?」
プロキシサーバーとは、PCの替わりにWebサーバーにアクセスしてくれるサーバーのことだよ!
今回の記事では、プロキシサーバーがどのようなサーバーなのか分からない方のために、プロキシサーバーの仕組みを詳しく解説します!
まずプロキシサーバーとは、PCの替わりにWebサーバーにアクセスするサーバーのことです。
プロキシサーバーについて理解するために、今回はこちらのポイントについて、解説していきます!
- プロキシサーバーとはどのようなもの?
- なぜプロキシサーバーが必要?
- プロキシサーバーの構築方法
初心者の方でも分るように、Webサーバーにアクセスする仕組みから解説します!では、早速やっていきましょう!
プロキシサーバーとは代理のサーバー
プロキシサーバーとは、先ほども言った通り、
PCの替わりにWebサーバーにアクセスするサーバーのことです。
何言っているのかサッパリ分からない!
何を言っているのかサッパリ分からない!という人のために、まず、Webサイトへのアクセスの流れを理解しましょう!
普段からGoogleのサイトにアクセスしていますよね?その流れです!
Webサイトへのアクセスの流れ
プロキシサーバーの動作を理解するためには、Webサイトへのアクセスの流れを理解する必要があります。
なぜなら、プロキシサーバーはWebサーバーへのアクセスを代理で実施するサーバーだからです。
まず、普段皆さんがGoogleのサイトを見るとき、ブラウザを立ち上げたら、勝手にGoogleのサイトにアクセスされていますよね?
それは、ブラウザの上の部分でURLを入力して、GoogleのWebサーバーにアクセスしているからです!
この流れをイメージすると以下の画像のようになります。
ここで理解してほしいのは、Webページを見るときはPCからWebサーバーにアクセスをしているということです。
PCの替わりにWebにアクセスするプロキシサーバー
先ほどはプロキシサーバーが無い状態でWebにアクセスした流れを説明しました。
では、プロキシサーバーがあるとどうなるのでしょうか?
プロキシサーバーは、PCの替わりにWebサーバーにアクセスします。
proxy(プロキシ)は、代理人という意味があります。
Webサーバーへのアクセスの流れは↓の図のようになります。
Webサーバーからすると、アクセスしているのは、プロキシサーバーのため、アクセスログには、プロキシサーバーのIPアドレスが表示されます。
この図を見た人は、プロキシサーバーは替わりにアクセスするだけで、何の意味があるの?と思うかもしれません。そこで、プロキシサーバーの役割について詳しく解説します。
なぜプロキシサーバーが必要?
なんでプロキシサーバーが必要なの?PCの代理でアクセスする必要はあるの?
プロキシサーバーを使う主な理由は以下の3つです。
- キャッシュによるWebの高速化
- 有害サイトのブロック
- Webサーバーの負荷分散
なぜプロキシサーバーが必要なのかというと、プロキシサーバーには、以下の役割があるからです。
- キャッシュによるアクセスの高速化
- 有害サイトへのブロック
- Webサーバーへの負荷分散
では、それぞれの内容について詳しく解説します!
分かりやすくイメージしてもらうために、100人くらいの規模の会社を想定します。100人がPCを使用しています。100人がそれぞれ、インターネットでWebサイトを閲覧している状況を想像してください。
役割①.キャッシュによるアクセスの高速化
まず、役割①として、キャッシュによるアクセスの高速化があります。
プロキシサーバーを使用すると、Webサイトへのアクセスが速くなります!
その理由は、一度見たWebページの情報はプロキシサーバーにキャッシュ(保存)しておくからです。何度もWebサーバーにアクセスするような、サイトはプロキシサーバーで情報を保存し、プロキシサーバーがPCにWebページを返すようになります。
プロキシでキャッシュすることにより、同じWebサーバーに何度も問い合わせをする必要が無くなります。Webサーバーに問い合わせる時間も無くなるため、webページの閲覧も高速化することができます。
役割②.有害サイトへのブロック
役割②は有害サイトへのブロックです。プロキシサーバーを使用することにより、URLでフィルタリングすることができます。
社内から様々なWebサーバーへアクセスすると、危険なWebページに誘導される恐れがあり、社内へウィルスを侵入させることになります。
そこで、社内からWebサーバーへのアクセスをプロキシサーバーに集約し、アクセス先をチェックしてからアクセスするようにします。そうすることで、セキュリティを高めることができます。
社内からWebサーバーへのアクセスをプロキシサーバーに集約するということは、1人1人のWebアクセスを監視するということです。おそらく、会社のPCにはプロキシサーバーがあるので、webサーバーへのアクセスは監視されているということをお忘れなく。
役割③.Webサーバーへの負荷分散
その他の役割としてWebサーバーへの負荷分散があります。
ここは、おまけなので、興味ある人は読んでください。
プロキシサーバーをWebサーバーの前に置き負荷を分散させることで、Webサーバーのアクセス集中を防ぐことができます。
プロキシサーバーで負荷分散をさせることは可能ですが、一般的には、ロードバランサーを使用します。プロキシサーバーでもロードバランサーと同じ動作ができるんだーと思っておきましょう。
参考:プロキシサーバーの構築方法
最後にプロキシサーバーの構築方法を紹介します。
プロキシサーバーはLinuxの”squid”(スクウィッド)を使用すると構築できます。
Squid(スクウィッド)はプロキシ (Proxy) サーバ、ウェブキャッシュサーバなどに利用されるフリーソフトウェア。GPLでライセンスされている。 Squidの用途は、重複リクエストに対したキャッシュ応答によるウェブサーバの高速化や、ネットワーク資源を共有する人々が行うWorld Wide WebやDNSなどの様々なネットワーククエリのキャッシュなど、多岐にわたる。元来はUnix系のコンピュータで動作させる目的で設計されている。
(wikipediaより)
squidとは、OSS(オープンソース)の一種で無料で構築することができます。
squidの詳しい構築方法は、下記サイトで紹介しているので、詳しくはこちらをご覧ください!
プロキシサーバーとは?まとめ
今回は、プロキシサーバとは何かを初心者のために仕組みを詳しく解説しました。
今回の記事の内容をおさらいします。
まずプロキシサーバーとは、PCの替わりにWebサーバーにアクセスするサーバーのことです。
プロキシサーバーには、いろいろな役割がありました。
- キャッシュによるアクセスの高速化
- 有害サイトへのブロック
- Webサーバーへの負荷分散
プロキシサーバーを構築するためには、Linuxでsquidをインストールする。
プロキシサーバーの仕組みは社内システムを構築するインフラエンジニアならば、理解しておくべき内容です。Linuxで自分で構築して理解を深めましょう!
以上で記事を終わります。ありがとうございました。