いまさら聞けない「リバースプロキシ」と「ロードバランサー」の違いは?:リクエストを分散させる2つの機能【前編】
Webアプリケーションの運用において、リバースプロキシとロードバランサーはどちらも重要な技術だ。両者はどのような機能があるのか。基礎から理解しよう。
クライアント(リクエストを送る側のシステムやデバイス)とサーバ間の通信を仲介する仕組みに「リバースプロキシ」と「ロードバランサー」がある。両者には重複している機能があるが、アプリケーションの要件やユースケースに応じて使い分けることが望ましい。リバースプロキシとロードバランサーにはどのような機能や特徴があるのか、基礎から解説する。
「リバースプロキシ」の役割とメリットは?
リバースプロキシは、クライアントからのリクエストを受け取り、処理するアプリケーションをホストしているバックエンドサーバ(Webアプリケーションの裏側で動作するサーバ)に転送する。
リバースプロキシは通常、独自のIPアドレスを持ち、クライアントはリバースプロキシのIPアドレスしか分からない。その先のバックエンドサーバのIPアドレスは隠蔽されており、クライアントは、リバースプロキシがクライアントとアプリケーションの間で仲介者として機能していることを知らない。こうした特性から、リバースプロキシはクライアントに設定やリクエスト方法の変更を要求することなく、バックエンドサーバへのリクエストを管理できるという利点がある。
リバースプロキシは、リクエストをアプリケーションに渡す前に、以下のようなアクションを実行できる。
- リクエストの検査
- リクエストの内容を分析し、目的と内容が特定のアプリケーションに適しているかどうかを判断する。
- リクエストの加工
- リクエストの内容をアプリケーションの受け入れ基準やフォーマット基準に準拠するように調整する。
- 脅威のブロック
- リクエストの悪意を判断し、セキュリティポリシーに応じてブロックなどの対処をする。
ロードバランサーとは
ロードバランサーは負荷分散装置とも呼ばれ、リクエストを複数のインスタンスやサーバに分散させる。主な目的はアプリケーションへのトラフィック(ネットワークを流れるデータ)を動的に分散させ、以下の方法でアプリケーションのパフォーマンスを向上させることだ。
- リソースの効率的な利用
- リクエストを均等に分散することで、サーバ群全体のリソースを効率的に利用し、特定のサーバへの負荷集中を防ぐことができる。
- ダウンタイム(停止時間)の防止
- あるインスタンスやサーバがダウンした場合、自動的に他のインスタンスやサーバへリクエストを転送し、ダウンタイムを防止する。
- 「ブルーグリーンデプロイメント」の補助
- システムのリリースを、2つの本番環境を使って安全に素早く実施する「ブルーグリーンデプロイメント」構成において、ロードバランサーがトラフィックを2つの本番環境間で切り替えることで、ダウンタイムなしにアプリケーションを両環境にリリースできる。
リバースプロキシと同様に、ロードバランサーの存在も、通常はクライアントから見えない。クライアントからは直接アプリケーションにリクエストを送信しているように見える。
次回はリバースプロキシとロードバランサーの特徴や違いを比較して解説する。
TechTarget発 先取りITトレンド
米国Informa TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.