web-dev-qa-db-ja.com

単一のIPアドレスの背後にあるIIS Webファーム内の複数のWebサーバー

4つのWebサーバー(Windows Server 2008 R2)と1つのパブリックIPアドレスがあります。

それらはすべてWebファームの一部である必要があります(したがって、サイトの要求はすべてのサーバーに分散されます)。

2つの質問:

1)それは可能ですか、どのように、または4つのパブリックIPアドレスが必要ですか?

2)サーバーの1つだけで別のホストヘッダーを使用して別のサイトをホストし、それでも1つのパブリックIPアドレスのみを使用できますか?

4
eltorro2

別の言葉のセット(そしてより企業的な答え私見):ロードバランサー...

市場には、フリーソースとオープンソース、そしてクローズドソースがあります。 HA Proxy/jetNEXUSを参照してください。いくつかのmodsproxy-lbでApacheを使用して、これを行うこともできます。

NLBに対する私の主張は、負荷を分散するためにスイッチファブリックに依存するダーティハックであるということです。それは無料でWindowsサーバーにバンドルされていますが。 Apacheも費用がかからず、はるかに多くの機能とパフォーマンスを追加できます。

2
Jonathan

1ワード:クラスタリング。

Microsoft "Network Load Balancing" サービスを見てください。

1
TheCompWiz

選択したオペレーティングシステムに最も「ネイティブ」な2つの最良のオプションは、次のとおりです。

NLBはIP層で機能し、ARRはHTTP層で機能します。上でリンクしたドキュメントを読んで、それに従うのが簡単ではないことがわかった場合は、以前にこれらのことを扱ったことのある人に相談する必要があります。負荷分散のインストール自体はそれほど複雑ではありませんが、問題が発生したり、トラブルシューティングが直感に反したりする可能性のある小さなことが無数にあります。

2)サーバーの1つだけで別のホストヘッダーを使用して別のサイトをホストし、それでも1つのパブリックIPアドレスのみを使用できますか?

いいえ。着信HTTPリクエストを4つのサーバーすべてにブロードキャストし、1つのサーバーのみを応答するように構成することで、何かをフランケンシュタインにすることができます。しかし、それは混乱であり、これがどのように行われるかについてのすべての慣習に反します。複数のIPアドレスを取得して各Webサイトに1つのIPアドレスを割り当てるか、4つのサーバーすべてに応答してHTTP 1.1の名前ベースの 仮想ホスティング を使用します。

1
Jesper M

あなたの質問への回答:

1)フリーロードバランサーを使用します。 CitrixNetscalerには無料のVMアプライアンスがあります(制限はありますが、おそらくそれはあなたのために働くでしょう)

2)はい、同じIPアドレスでホストヘッダーとホストを使用できます。

#1の場合、本当に必要な場合は、DNSラウンドロビンを使用できます。貧乏人の負荷分散。シンプルだが簡単。ただし、同じ負荷を保証することはできません。 TTL(存続時間))を5分に設定します。これより低い場合、トラフィック上の理由からすべてのDNS ISPキャッシングがそれを尊重するわけではありません。このようにして、サーバーが故障した場合にIPを削除できます。 DNSから、5分後にそのサーバーへのアクセスを停止する必要があります。停止の長さを短縮します。

私はNLBなどが嫌いです-真のLB(F5またはNetscaler)が手頃な価格ではない場合-提案されているように最初に無料のものを試すか、無料の負荷をかける作業をしながら、今日できるだけ早く稼働する必要がある場合はDNSを試してくださいバランサー。たぶん、そこにVMアプライアンスがあります。

0
user53783