LoginSignup
9
5

More than 1 year has passed since last update.

各サーバーは分離すべきなのか? メリット・デメリットまとめ

Last updated at Posted at 2023-01-12

きっかけ

 とある案件に携わった時に、APサーバーとDBサーバーは分けても分けなくても良いですねと話しているのを聞いて、「そうなんだ!?」と驚いたので調べてみようと思い立ちました。ネットで調べて情報をまとめました。

【前提】Web三層構造について

Webサーバ、APサーバ、DBサーバの3層の事。
image.png
(参考サイト:https://www.infraexpert.com/info/server17.html)

WEBサーバーの役割

静的ページのデータやAPサーバーから転送された動的ページのデータをWebクライアントに転送すること。

APサーバーの役割

Webサーバーから送られてきたユーザーからのデータを受け取り、サーバーサイド・プログラムを実行することでそのデータを加工したり、DB(データベース)のデータを検索・加工した後、Webサーバーにレスポンスを返す。

DBサーバーの役割

アプリケーションサーバーからの要求に従って処理を行い、結果をアプリケーションサーバーに返却すること。

サーバーを別立てするメリット

①負荷分散:1つのマシンに負荷がかかり過ぎないようにする
②リスクヘッジ:サーバーが動かなくなるリスクを分散
③セキュリティの高さ

DBサーバには多くの顧客情報が保存されており、万が一この情報が流出してしまうと大問題になります。Web、AP、DBがすべて1台にインストールされたシステムではクライアントから直接DBサーバにアクセスできてしまいますが、Web3層構造ではクライアントとDBサーバの間にWebサーバ、APサーバ、そしてセキュリティ製品を配置できるため、より堅牢になります。

④視認性の高さ

使用するハードウェアリソース(CPU、メモリ、ディスクI/O、ネットワークI/O)の論理的分割ができる。障害ポイント(APソフト的なのか、DBソフト的なのか)が区別しやすくなる。

サーバーを別立てするデメリット

①金銭的コストがかかる

(論理的な)ハード費用に加えて、AP、DBのソフト的な処理も考慮する必要があり、改修費用を見込む必要がある。ライセンスや保守のコスト増加。

②運用コストがかかる
③ネットワークのオーバーヘッドが発生する

まとめ

回収できるお金/サービスの重要性とコストを天秤にかけて判断する必要があるようです。

参考サイト

WebサーバとDBサーバを別立てにする意味 情報セキュリティ
https://edugineer.jp/2018/10/04/post-536/
Web技術の基本 ~Webアプリケーションの構造~
https://qiita.com/mk185/items/e914683410fd4ecaf0af

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5