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

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

詳細はこちら
nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

ロードバランサー

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

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

Q&A

2回答

749閲覧

負荷分散(ロードバランシング)を行うサーバもwebサーバとして使用できないのでしょうか?

apeirogon0813

総合スコア117

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

ロードバランサー

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

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

0グッド

0クリップ

投稿2019/11/15 00:51

編集2019/11/15 01:29

負荷分散について勉強中なのですが,負荷分散を行うのは誰かということで,

  • DNSサーバに設定
  • Linux Virtual Server (LVS)
  • nginx/pound
  • ルーター

などがあることを知りました.
ここで,nginxやLVSの場合,
以下のように負荷分散を行うだけでなく,自身のサーバもwebサーバとして処理を行うサーバに含むことは可能なのでしょうか?

やりたいこと
ご教示願います.

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

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

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

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

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

yoorwm

2019/11/15 01:05

何をおっしゃっているのかが意味不明なのですが、とりあえず、添付された図と、今回のあなたの質問の間にどんな関係があるのでしょうか? 「負荷分散(ロードバランシング)を行うサーバもwebサーバとして使用できないのでしょうか?」という要求を、図で説明出来ていますか?
apeirogon0813

2019/11/15 01:31 編集

サイトからの図は基本的なロードバランサーです. 私がやりたいのはロードバランサー自体も負荷分散されるサーバに含めることです.
guest

回答2

0

出来ます、クラウドのように簡単にサーバー増強が出来ない環境で将来的にスケールアウトを考えているのならギリギリ分からなくもないと言えなくもない瀬戸際のようなやっぱり分からないな・・・
負荷分散目的でリクエストを受けたnginxが一部のリクエストをそのまま処理するだけならありですが、負荷分散目的のLVSを立ててるサーバー上でWEBサーバー起動してそっちにリクエストを流すとなると無駄ですね

追記

LVSはL4でnginxはL7という事と、LVSは本当に本格的にロードバランサーとして使えるけどnginxは結局ただのプロキシーです。細かい機能の違いは検索してください。
静的コンテンツが多いならLB代わりにnginx入れて静的コンテンツだけnginxで返してそれ以外はそのまま別のWEBサーバーに流せば良いんじゃないか?と思います。nginxは導入の手間もかからず簡単ですからね。
修正依頼コメントに書かれているLB自体も負荷分散したいという事は、既にLVSを導入してパケットを他のサーバーに横流ししているのに耐えきれないって事ですか?ネットワークがしょぼくなければ
問題無いと思うのですが
nginxをLB代わりにしてるなら耐えきれない場合は仕方ないのでL4スイッチ追加するしかないですね

リクエスト→LVS>nginx(2台以上)>WEBサーバー(複数台)

雑に構成書くと上記の通りにして、必要に応じてlvsより後ろを増強してくんでいいんじゃないでしょうか?

投稿2019/11/15 01:26

編集2019/11/15 02:26
hentaiman

総合スコア6426

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

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

apeirogon0813

2019/11/15 01:38

ありがとうございます.まさにアクセスの集中によるクラウドのリソース不足によるスケールアウトを想定しています.nginxとLVSの違いがよくわからないのですが,LVSだと負荷分散のサーバとWEBサーバ2つを保つため,非効率であるということでしょうか? ご教示願います.
hentaiman

2019/11/15 02:27

追記しときました LVSは機能検索してもらった方が早い
hentaiman

2019/11/15 02:34

追記したけど、それよりもクラウドならクラウド側でLBサービス提供してませんか? LBも用意されているなら、LBを契約して負荷分散したいんですけどどんな構成にすると良いですか?と質問投げた方が環境にあった回答くれそう
apeirogon0813

2019/11/15 03:54 編集

ありがとうございます.とても参考になりました. すみません,あともう一つだけ質問させてください. >LB自体も負荷分散したいという事は、既にLVSを導入してパケットを他のサーバーに横流ししているのに>耐えきれないって事ですか? こう思ったのは,ノードの数を抑制したかったのと,LBのリソースも出来るだけ使いたいと思ったからです.パケットを横流しにするだけなら,リソースがもったいないと思いました. 通常,ロードバランサーはサーバとは独立に構築するべきなのでしょうか?
hentaiman

2019/11/15 10:59

通常LBとWEB(AP)サーバーは別で建てるものですが、クラウドであればクラウドが用意しているLBを導入するのが普通です
guest

0

ここで,nginxやLVSの場合,

以下のように負荷分散を行うだけでなく,自身のサーバもwebサーバとして処理を行うサーバに含むことは可能なのでしょうか?

可能ですが、自前で捌く分についての負荷は分散されません

投稿2019/11/15 01:01

maisumakun

総合スコア145970

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問