マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Squid

【OSS情報アーカイブ】Squid

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Squid」とは

概要

Squid(スクイッド)とはハイパフォーマンスプロキシサーバソフトウェアです。

インターネットなどのTCP/IPネットワークにおけるクライアント/サーバ間通信を中継する機能を提供します。「フォワードプロキシサーバ」「リバースプロキシサーバ」「キャッシュサーバ」などの各機能に加え、セキュリティを高める機能も搭載しています。

長い開発期間によって完成度/信頼度が高く、階層化キャッシュなどのWebアクセスを効率化するための機能が充実しています。

経緯

・1996年:初版リリース

Squidは、90年代半ばの初期のコンテンツ配布とキャッシング作業から生まれたプロジェクトの1つです。

1990年代初期に開発された「Harvest Cache Daemon」に基づいており、Harvestプロジェクトが完了した後、コードベースからフォークした2つのうちの1つをベースとして開発が進められてきています。

オフィシャルサイト情報

■オフィシャルサイト

→squid-cache.org

■主要開発元

Squidは、Squidプロジェクトが中心となり開発が進められています。

完全にボランティアによって運営されており、現在および次世代のコンテンツキャッシングおよび配信技術の構築に時間と労力を寄付している少数の個人が中心となっています。

→Squid →Who looks after the Squid project?

■ライセンス情報

Squidのライセンスは「GNU General Public License v2.0」です。

詳細について、こちらを参照ください。
→GitHub →squid-cache/squid →COPYING

■ダウンロード

Squidは「Linux」「FreeBSD」「Windows」などのさまざまなプラットフォームで動作します。

→Squid →Getting Squid

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Nginx」など。

インターネットサービスプロバイダ(ISP)

■帯域幅を節約

Squidを使用すると、インターネットサービスプロバイダ(ISP)はコンテンツキャッシュを通じて帯域幅を節約できます。

■ユーザーエクスペリエンスを向上

コンテンツをキャッシュすると、データをローカルで提供されることが可能となります。

対象のインターネットプロバイダを利用しているユーザーは、頻繁に使用されるコンテンツのダウンロード速度が速くなり、ユーザーエクスペリエンスを向上できます。

プロキシサーバの設定を適切に調整し、TCPフローを最適化することにより、さらに速度を向上できます。

■Webコンテンツの優先順位制御

Squidを使用すると、ISPはコア機器とトランジットリンクのアップグレードに多額の費用を費やす必要がなくなり、コンテンツの増加に対応できます。

また、ISPは、特定のWebコンテンツタイプに優先順位を付けて制御することもできます。

Webサイト

■世界で利用されているコンテンツアクセラレーター

Squidは最も古いコンテンツアクセラレータの1つであり、世界中の数千のWebサイトでサーバの負荷を軽減し、コンテンツ配信を増加させるために使用されています。

よく見られるWebコンテンツはSquidによってキャッシュされ、少ないサーバ負荷でエンドユーザーに提供されています。

■Webアプリケーションスケーリング

多くのケースの場合、既存Webサイトに対して、迅速かつ簡単にSquidアクセラレータを追加でき、すぐにメリットが発生します。

ハードウェア交換やアプリケーションパフォーマンス調整などの多額のコストをかけずに、アプリケーションをスケーリングできます。

コンテンツデリバリープロバイダ

Squidは、ストリーミングビデオを世界中のインターネットユーザーに配信するために、コンテンツ配信アーキテクチャで使用されています。

「コンテンツデリバリープロバイダ」「コンテンツディストリビュータ」「ストリーミングメディア開発者」などは、Squidを使用してコンテンツを世界中に簡単に配信できます。

コンテンツデリバリープロバイダは、Squidサーバを実行するためのPCハードウェアを購入し、インターネット上の戦略的な場所に展開して、膨大な量のデータを安価かつ効率的に提供できます。

増え続けているコンテンツデリバリープロバイダの多くは、Squidを使用してインターネットWebトラフィックを節約し、パフォーマンスを向上させ、世界中の何百万人ものインターネットユーザーにストリーミングコンテンツを提供しています。

企業ネットワーク

企業ネットワークでは、オフィスのファイアウォールデバイスにSquidを組み込むことで、ブロードバンドインターネットアクセスを高速化しています。

「Squid」のプロキシ機能

「プロキシ」とは

「プロキシ」とは内部ネットワークからインターネット接続を行う際に、「高速アクセス」や「安全な通信」などを確保するための中継サーバ「プロキシサーバ」を指します。

プロキシサーバは通信フローの仲介者となり、多くの付加価値機能を実行して、ユーザーエクスペリエンス全体を強化できます。

■フォワードプロキシ

「フォワードプロキシ」とは

単に「プロキシ」と言った場合には「フォワードプロキシ」のことを指します。

フォワードプロキシとは、企業などの内部ネットワークとインターネットの間に設置され、セキュリティを確保するなどの理由から、直接インターネットと接続すべきでない内部コンピュータに代わって、インターネットとの接続を「代理」する機器やソフトウェアのことです。

内部ネットワークのコンピュータが、インターネット上のサーバに接続するために利用されます。インターネット側から見ると、フォワードプロキシはクライアントのようにふるまいます。

「フォワードプロキシ」の主な機能

フォワードプロキシは、以下の機能を提供します。

・キャッシング機能—高速アクセスの実現、ネットワークリソースの節約
・認証機能/承認機能
・ネットワークリソース使用管理機能
・ロギング機能
・コンテンツフィルタリング機能—企業インターネットポリシーの施行 など

公開プロキシ

通常のフォワードプロキシは内部ネットワークのクライアントによる利用を想定していますが、インターネット上に設置され、不特定多数のクライアントが利用できるものも存在します。

このようなフォワードプロキシは「公開プロキシ」と呼ばれます。

■リバースプロキシ

「リバースプロキシ」とは

「リバースプロキシ」は、「フォワードプロキシ」とは逆に、外部からのアクセスを内部ネットワークのサーバに中継する機能を提供します。

「リバースプロキシ」の目的

「リバースプロキシ」は、「セキュリティ確保」「負荷分散」「ゲートウェイ」などの目的で利用されます。

構成例

実際にコンテンツを保持しているWebサーバを「contents.aaa.com」、Squidリバースプロキシサーバを「squid.aaa.com」とします。

Webサーバに対するリクエストが来た場合、「squid.aaa.com」がリクエストを受け取ります。

最初の1回目は「squid.aaa.com」はキャッシュを保持していないため、リクエストを受けたデータを「contents.aaa.com」から取得し、「squid.aaa.com」にキャッシュした後、クライアントにコンテンツを返します。

同一コンテンツに対する2回目移行のリクエストが来た場合、対象コンテンツデータは「squid.aaa.com」がキャッシュしているため、「contents.aaa.com」からコンテンツデータを取得する必要はなく、「squid.aaa.com」がそのままクライアントにコンテンツを返します。

Squidリバースプロキシサーバを設置した結果として、「contents.aaa.com」へのアクセス数を削減でき、ネットワーク負荷やネットワークの帯域を節約できます。

Squidのプロキシ機能

SquidはHTTPプロキシ実装のトップグループに属し、「非常に高い柔軟性」と「カスタマイズ性」により、「フォワードプロキシ」と「リバースプロキシ」の両方のシナリオで展開できます。

1つのSquidサーバを「フォワードプロキシ」と「リバースプロキシ」の両方の機能で稼働させることも可能です。

「Squid」のその他機能

概要

Squidはプロキシ機能の他にも、豊富な機能を搭載しています。

・キャッシュ機能—DNSなどのコンピューターネットワークルックアップキャッシュ
・トラフィック最適化機能—トラフィックシェーピング機能
・トラフィックフィルタリング機能—セキュリティ支援
・アクセス制御機能
・認証機能
・ロギング機能
・コンテンツ配信機能 など

キャッシュ機能

■概要

Squidを使用すると、Webコンテンツキャッシュ機能により後続のリクエストに対してWebページ読み込みを高速化し、Webサーバ負荷を削減できます。

システム管理者は多くの場合、ネットワークの遅延と使用される帯域幅に苦労しますが、Squidはリクエストをローカル処理することでこれらの問題を解決します。ネットワーク帯域幅使用率を減らすことができるため、レスポンス時間が向上し、サイトパフォーマンスも大幅に向上できます。

■使用中のコンテンツのみをコピー

Squidは、世界中からコンテンツを配信するためにも使用できます。

すべてを非効率的にコピーするのではなく、使用中のコンテンツのみをコピーできます。

■キャッシュヒット率

「Squidが約75%のキャッシュヒット率で実行されており、背後のApacheサーバの容量を事実上4倍にしている」というケースも存在しています。

これは、別サイトからのWebリンクを介して特定ページに向けて大量のトラフィックが到着する場合、そのページのキャッシュ効率がほぼ100%になるため、特に有効となります。

■コンテンツルーティング機能

Squidは、ネットワークスループットを最適化するキャッシュサーバ階層を構築するために、さまざまな方法でコンテンツ要求をサーバにルーティングすることも可能です。

Squidの高度なコンテンツルーティング設定により、さまざまなWebサーバを介してリクエストをルーティングおよび負荷分散するコンテンツクラスタを構築できます。

セキュリティ強化機能

■ファイアウォール機能

Squidはファイアウォールとして機能し、内部Webトラフィックをプロキシすることにより、内部ネットワーク上のホストを保護できます。

■ユーザー認証機能

許可されたユーザーのみがインターネットに接続できるように制御できます。

■機密情報フィルタリング

Webリクエストから機密情報をフィルタリングすることでプライバシーを強化できます。

■不適切コンテンツへのアクセス対応

Squidを使用して、ネットワーク上のトラフィックに関する統計を収集することで、職場や学校で不適切なWebサイトにアクセスするのを防ぐことをサポートできます。

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。