「リバースプロキシ」と「ロードバランサー」の違いは? どう使い分ける?:リクエストを分散させる2つの機能【後編】
Webアプリケーションのパフォーマンス向上には、リバースプロキシまたはロードバランサーが重要な役割を果たす。両者の違いはどこにあるのか。
クライアント(リクエストを送る側のシステムやデバイス)からアプリケーションおよびバックエンドサーバ(Webアプリケーションの裏側で動作するサーバ)へのアクセスを効率化する仕組みおよび製品として、リバースプロキシとロードバランサーがある。両者の役割や機能、違いを解説する
「リバースプロキシ」と「ロードバランサー」の役割の違いとは
併せて読みたいお薦め記事
連載:リクエストを分散させる2つの機能
併せて読みたいお薦め記事
プロキシ技術の進化
役割の違いとパフォーマンス最適化
リバースプロキシはクライアントからのリクエストを処理し、バックエンドサーバを保護し、処理能力とセキュリティを向上させる。そのために以下のような機能を搭載している。
- SSL(Secure Sockets Layer)ターミネーション
- ネットワークセキュリティプロトコルの「SSL」(Secure Sockets Layer)によって暗号化されたトラフィック(ネットワークを流れるデータ)を復号し、バックエンドサーバの負荷を軽減する。
- キャッシング
- 静的なコンテンツ(画像、CSSファイル、JavaScriptファイルなど)をキャッシュし、サーバへのリクエスト数を減らすことで、リクエストの処理時間を短縮する。
- 圧縮
- データを圧縮し、帯域幅を節約することで、データ転送時間を短縮する。
ロードバランサーは受信したトラフィックを複数のバックエンドサーバ間で分散させるために使用する。主な役割は、トラフィックの負荷を均等に分散させ、リクエストの過負荷を防ぐ点にある。過負荷が放置されると、アプリケーションのパフォーマンスが著しく低下する可能性がある。そのために、ロードバランサーは以下の機能を持つ。
- トラフィック分散
- リクエストを複数のサーバに分散させることで、サーバの負荷を均等化し、特定のサーバへの過負荷を防ぐ。
- ヘルスチェック
- サーバの状態を監視し、障害が発生したサーバをトラフィック分散の対象から除外する。
セキュリティ機能の違い
一般的なリバースプロキシは、悪意のあるリクエストをブロックする機能を持つ。IPアドレスなどバックエンドサーバを識別するための情報を隠蔽し、転送中のデータを暗号化することで機密情報の漏えいを防ぐこともできる。
ロードバランサーのセキュリティ機能は比較的限定的だが、大量の繰り返しリクエストを遮断することで、分散型サービス拒否(DDoS)攻撃を軽減できる。
ハードウェアとソフトウェアの展開オプション
リバースプロキシは主にソフトウェアで実装する。それに対して、ロードバランサーは基本的に、ソフトウェアとハードウェアの両方で利用できる。
リバースプロキシとロードバランサーの使い分け
ロードバランサーは複数のバックエンドサーバにリクエストを分散させ、システムの可用性を高めたい場合に特に有効だ。リクエスト処理に細かな制御が求められる場合や、トラフィック量が比較的少ないバックエンドサーバの場合は、リバースプロキシがより適している可能性がある。
近年、リバースプロキシとロードバランサーの機能は進化している。ベンダーは両者の機能を融合させた製品を提供していることがある。選定時には、製品名にとらわれず自社の要件にあった製品かどうかを確認する必要がある。
TechTarget発 先取りITトレンド
米国Informa TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.