LoginSignup
3
0

More than 1 year has passed since last update.

AWS構成図を作成し、サーバー周りについて初心者なりにまとめてみました・・・。

Posted at

AWS構成図

今回AWS構成図というものを作ってみました。
ポートフォリオをデプロイしてみたものの、正直何をやってるのか・・・・
「私は今一体何を立ち上げているのか・・・」状態だったので、
基本を勉強しつつ、以下の表が何なのかわかるように、
まとめていきたいと思います。
サーバー周りはとても難しく感じます。:fearful:

スクリーンショット 2021-08-20 17.05.06.png

まずは基礎知識の確認 

サーバーについて

:fist:サーバーって何?

サービスを提供するコンピュータのこと

:fist:WEBアプリケーションで必要になるサーバーは?

WEBサーバー、APサーバー、DBサーバー

:fist:WEBサーバーって何?

WEBクライアントのリクエストを受け取り、静的コンテンツを配信したり、
動的処理が必要なものであれば、APサーバーに処理を依頼し、
動的→静的になったものをWEBクライアントに渡す。

:fist:APサーバーって何?

アプリケーションサーバーのことで、WEBサーバーから送られてきたデータを
プログラムを実行したのちに、WEBサーバーに返す。

:fist:DBサーバーって何?

APサーバーが処理に必要なデータを持っている。
APサーバーのリクエストに対し、該当のデータを渡す。

:bangbang:上記の3つサーバーの連なりが、
「Websプリケーションの三層構造」と言われるやつです。

ここまでは、なんとか理解できました。

サーバーの中身というか成り立ち

下記のような4層構造になっています。

[アプリケーション]
[ミドルウェア]
[ OS     ]
[ハードウェア]

「OS」とは、オペレーティングシステムです!
OSというとよくわかりませんが、オペレーティングシステムというと理解しやすいです。
WindowsかLinuxのどちらかになりますが
Linuxの使用が多いのではないかと思います。

[ミドルウェア]OSとアプリケーションの中間に位置するプログラムを、
ミドルウェアと言います。
WEBサーバーやAPサーバー、DBMSなどがこれにあたります。
WEBサーバー達は以下のように位置するということですね・・・

スクリーンショット 2021-08-20 18.40.06.png

今回選定したミドルウェアは、
WEBサーバーが、nginx(エンジンエックス)で、
APサーバーはPUMA
DBサーバーは、MYSQLです。

うーーん。難しい。

表にそって処理を見ていく...

いよいよ一番上の表です。

まずユーザーがやるのは「HTTPリクエスト」です。
このページ見せて!というリクエストです。

さて、これを受け取るのは誰かというと・・・

WEBサーバーです!

そして今回選定されてるWEBサーバーはNGINXなので、
NGINXに対してリクエストが送信されます。
しかしながら、NGINX静的処理しかできません・・・。

なので動的処理が来た場合に呼ぶのは、

APサーバーです!

NGINX「PUMAさん!動的処理できないのでヘルプお願いします!!!」
→このNGINXの働きをリバースプロキシというそうです。

そしてPUMAはrailsにリクエストの内容を伝え処理をしてもらいます。
(※PUMAとrailsの間には、Rackという通訳みたいな仕組みが存在しているそうです。)

適宜アクセスするのが、

データベースサーバーです!

処理が終わったらrailsはPUMAへ動的→静的にしたコンテンツを
返却します。

さらにPUMAは静的ファイルをNIGNXし、NGINXはレスポンスを返し、
表示されると。

終わりに

正直、理解がまだまだな部分です。
色々と閲覧し、自分が理解できる範囲でまとめてみました。

参考にしたところ

youtubeの動画が開きますのでご注意ください。

3
0
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
3
0