🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

1回答

2395閲覧

リバースプロキシとロードバランサーに関して

yuina711

総合スコア9

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2021/03/10 03:54

###はじめに
私はプログラミング初学者であり、現在サーバー関連の知識を学んでいる段階です。
自分で可能な限り調べた上で質問しておりますが、意味不明な質問をしている場合はお許しください、、。

##質問内容
リバースプロキシとロードバランサーの役割などについて質問がございます。

1.2つの役割や導入するメリットについての理解が正しいか
2.リバースプロキシとロードバランサーの使い方について

上記の2点をお聞きしたいと思っていおります。よろしくお願い致します。


初めに、2つの役割、導入するメリットに関する私の理解が正しいかご意見をいただきたく存じます。

リバースプロキシとは
webブラウザとwebサーバー間に存在する中継の役割を担うサーバー

導入するメリット
1.セキュリティー面の向上が期待できる
->直接webサーバーにアクセスせず、一旦リバースプロシキを介することで、IPアドレスを使い不正アクセスのリスクを減らすことができる

2.表示の高速化が期待できる
->キャッシュを使うことにより高画質な写真等が複数あるサイトであっても、2回目以降のアクセスの際、比較的高速に表示することができる。

3.複数のwebサーバーを立ち上げることができる
->リバースプロキシは処理を振り分けることができるので、複数のwebサーバーを用意することができ各webサーバーの負荷を分散できる

・ロードバランサーとは
直接各webサーバーにかかる負荷を、平等に振り分ける為の装置
リバースプロキシと同じくwebブラウザとwebサーバー間に存在する

導入するメリット
1.各webサーバーの負荷を軽減できる
->webブラウザからロードバランサーにきたリクエストを、複数ある実際のサーバーへ直接自動的に振り分けして、負荷を分散することができる

2.webサーバーがダウンしても継続してアクセスできる
->システム上、ダウンしているwebサーバーにはリクエストを送らない為、複数存在するwebサーバーの中で、そのうちの1台が故障しても他のサーバーに自動切替して、利用者は継続してアクセスすることができる。


上記のように理解している中で、気になることが2点ございます。

1.実際の現場で、リバースプロキシやロードバランサーを使う場合、2つを組み合わせてwebサーバーの負担軽減やセキュリティ面の向上を図ることが多いのでしょうか?

私のイメージとしましては、まずロードバランサーを使うことで、ダウンしているwebサーバーや高負荷状態のwebサーバーを除外して複数のwebサーバーにリクエストを送信できるようにして、次にセキュリティや処理速度を向上させる為に、リバースプロキシをロードバランサーとwebサーバー間に導入して、ロードバランサーが直接webサーバーにリクエスト送信することを避けるようにする方法がベストプラクティスなのかなと思っております。下の画像のように考えています。

私の考えのイメージ図

2.ロードバランサーやリバースプロキシ内でエラーや故障が発生した場合、どのように対処するのでしょうか?予め複数用意して並行処理のようなことをさせるのでしょうか、、、。

何卒ご意見くださいますようお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1.実際の現場で、リバースプロキシやロードバランサーを使う場合、2つを組み合わせてwebサーバーの負担軽減やセキュリティ面の向上を図ることが多いのでしょうか?

負荷分散を目的としロードバランサを導入するサイトを多く見かけますが、加えてリバースプロキシをセキュリティ向上目的として導入するサイトはあまり見たことがありません。

2.ロードバランサーやリバースプロキシ内でエラーや故障が発生した場合、どのように対処するのでしょうか?予め複数用意して並行処理のようなことをさせるのでしょうか、、、。

冗長化を図るのであればロードバランサもリバースプロキシも複数台構成とすべきです。
ロードバランサは冗長化方式については導入するアプライアンスにもよりますが、Active-Active、Active-Standbyの方式が可能です。

投稿2021/03/10 04:30

over

総合スコア4315

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuina711

2021/03/10 06:03

ご回答ありがとうございます。 回答内容に関しまして、1つ伺いたいことがございます。 もしよろしければお答えいただきたく存じます。 2つを組み合わせて使うというよりは、要件に合わせてロードバランサかリバースプロキシを選び、主に負荷分散を目的として導入する、という解釈で間違いないでしょうか?
over

2021/03/10 06:42

> 2つを組み合わせて使うというよりは、要件に合わせてロードバランサかリバースプロキシを選び、主に負荷分散を目的として導入する、という解釈で間違いないでしょうか? 負荷分散を目的とするのであればロードバランサです。 私の知る限りではセキュリティ向上を目的としたリバースプロキシ導入は見かけたことがないです。 ロードバランサ、リバースプロキシ双方が負荷分散を目的とする解釈は正しくないと感じます。
yuina711

2021/03/10 07:57 編集

ご返信頂きありがとうございます。 over様のご指摘を受け、再度ロードバランサとリバースプロキシの主な用途について見直してみました。 見直した結果としましては、 ロードバランサはover様が仰るとおり負荷分散の為に使用する。 リバースプロキシに関しましては、webサーバーの代わりとして存在しており、キャッシュ機能等を使うことにより本来のwebサーバーの負荷軽減を可能にしたり、複数のWebサーバーを用意することで負荷分散を実現することもできる。 リバースプロキシでは、あくまでも機能の1つとして負荷分散も可能であるということであり、本来の姿はwebサーバーの代わりとして存在しているのかなと思いました。 再度質問に答えてくださり誠にありがとうございました。 もう少し回答を待ち、他の回答がなければベストアンサーとさせていただきます。
over

2021/03/10 08:19

すいません。少し勘違いしていました。 リバースプロキシも負荷分散としては機能するので以下は間違いです。訂正します。 > ロードバランサ、リバースプロキシ双方が負荷分散を目的とする解釈は正しくないと感じます。 ご質問者様の理解で正しいと思います。
yuina711

2021/03/10 10:48

いえいえ、質問に答えてくださり誠にありがとうございました。 また機会がありましたらよろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問