質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.37%
Webサーバー

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

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

2回答

188閲覧

web-ap-db 3層構造のネットワーク図に関して

co1or

総合スコア0

Webサーバー

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

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2024/10/26 12:59

編集2024/10/27 16:48

実現したいこと

よくシステム構成としてwebサーバ-apサーバ-DBサーバの3層構造について、クライアントからwebサーバへのリクエストとwebサーバからapサーバへの通信をロードバランサーを経由して通信する構成について知りたいです。
。    クライアント
。       l
。   ロードバランサー1
。     l 。。。。 l
。   web1。。。web2
。        l
。   ロードバランサー2
。     l。。。。。l
。   web1。。。。web2
。       l
。     DBサーバ  

発生している問題・分からないこと

以下構成は技術的に可能なのでしょうか。

。     クライアント
。        l
。    ロードバランサー
。        l
。 ーーーーーーーーーーーーーーーー
。 l。。。l。。。l。。。l。。。l
。web1。web2。ap1。ap2。DB

ひとつのロードバランサーでクライアント→webの負荷分散、web→apの負荷分散は可能でしょうか。
また、全て同じネットワーク帯できちんとweb→ap→dbの通信はされるのでしょうか。


。       クライアント
。          l
。   ーーーーーーーーーーーーー
。   l。。。。。。。l。。。。。。l
。  LB1。。。。。。LB2。。。。DB
。 l。。。l。。。。l。。。。l
。web1。web2。。ap1。。ap2

①と同じ型になるかと思いますが、3層構造の場合、
直列に繋ぐ以外にネットワーク帯を分け、ルーターにルーティングを施すなどでwebからの通信はap、apからの通信はdbと指定する必要があり、同ネットワーク帯でそれぞれの通信をロードバランサー(LB)でことは可能なのでしょうか。

構成上、技術的に不可能なのでしょうか。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

web,ap,dbの3層構造として例と挙げられているのは直列繋ぎ(アドレス帯は異なる?)でサーバが並列に構成されている例が一旦見当たらなかったので技術的に無理なのかと思っていますが、なぜ無理なのかが不明のためご教授いただければと思います。

追加確認項目
web-ap-db と一本の線で繋がっていますが、webサーバがdbサーバと疎通をとるのにapサーバを経由しないといけないということでしょうか。

補足

特になし

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

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

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

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

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

guest

回答2

0

webアプリの3層構造というのはあくまでも概念的なモノなので、物理構成に
しても論理構成にしても、ネットワークの組み方は(ほとんど)自由です。
(結果としてweb->ap->DBの通信ができれば良いです。)

ただし一般的には、インターネット側から直接殴られる位置にapサーバや
DBサーバを置くことは無いので、質問にある構成(意味が不明瞭ですが
VLANとか無いと仮定すると)のような見た目になることはほぼ確実にありません。
特にDBサーバは大切に奥の方に隠しておくモノです。

webとapの両方を1台のロードバランサで兼用する構成は、私は見たことが
ありませんが、ロードバランサの仕様によってはできるかもしれません。
(仕様的にできたとしても、あんまりやらないと思いますけど。)

(1-1) 先のLBの仕様とか絵で書き切れていない情報を補完してあげれば
「技術的に可能」だと思います。(でもたぶん誰もやらないと思います。)
(1-2) 「全て同じネットワーク帯~通信」はロードバランサの仕様に
よりますが、特に不可能な理由は思いつきません。
(それぞれ自分の通信先のIPアドレスを知っていればいいだけなので。)

(2-1) 構成図だけ見ると、web->apとか、ap->DBの経路がLBを(逆方向に)
くぐっているので、LBの仕様によってはできるかもしれませんが、
一般的にはこういった絵は描かないと思います。

「並列」っぽく見える構成図を書くことは「無理」ではありません。
繰り返しますが、3層構造は概念的なモノなので、構成図として「並列」に
見えても、通信経路としては必ず「直列」になっています。
世の中の構成図が「直列」で描いてあるのは、あえて誤解を招くような
「並列」の絵を描きたくないとか、実際の構成も「直列」にすることが
ほとんどなので、そうなっていると思われます。

(追加確認項目)
webサーバはDBサーバと通信しません。
「DBサーバと疎通」とか「apサーバを経由」という表現は「通信経路として
素通り」をイメージしているように聞こえますが、実際にはwebサーバの
リクエストを受けてapサーバでアプリケーションが動いて、
そのアプリケーションの中でDBサーバにアクセスしています。
「素通り」することはありません。

蛇足ですが、(1)と(2)を「同じ型」と認識しているあたりから、
ネットワーク関係の基礎的な知識がかなり足りていないと思いますので、
遠回りでも一般的な話を身につけてから再度検討し直した方が良いかと
思われます。
(たぶん違うと思いますが、業務でインフラを担当されているという話で
あれば、外注さんに丸投げしてください。)

投稿2024/10/29 04:51

poto568

総合スコア297

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

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

0

F5社 BIG IP 2600 1台構成において、Webの負荷分散、かつAPの負荷分散を実現しました。
BIG IPではVLANが実装されているので、L3スイッチを構成してVLAN毎の負荷分散を行い実現しました。

おそらく、機能的には3式(Web、AP、DB)の負荷分散も可能かと思われますが、物理ポート数、3式の負荷を計算して機器を選定する必要があるかと思います。

物理アプライアンス/仮想アプライアンス、必要ポート数、機器に対する負荷等を検討して、導入予定のベンダに問い合わせしてみては如何でしょうか。

投稿2024/10/28 05:05

over

総合スコア4313

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問