์ถ์ฒ: https://www.youtube.com/watch?v=mcnJcjbfjrs
๋ณธ์ธ : AWS ์๋น์ค๋ฅผ ์ฌ์ฉํด์ ์๋ฒ ์ด์ ํด๋ดค๋ค!!
๋ฉด์ ๊ด: ๋ฐ๋ก Web Server๋ฅผ ์ฌ์ฉํ์ จ๋์?
๋ณธ์ธ : ???
์น ๋ธ๋ผ์ฐ์ (ํด๋ผ์ด์ธํธ)๋ก๋ถํฐ HTTP ์์ฒญ์ ๋ฐ์ HTML ๋ฌธ์์ ๊ฐ์ ์ ์ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋จ
- ์์ฒญ ์ธ์ ๊ฐ์ ์๊ด์์ด ๋ฌ๋ผ์ง์ง ์๋ ์ปจํ ์ธ (html, css, image...)
- ์ด๋ ์ฌ์ฉ์ ์์ฒญ์ด๋ ํญ์ ๋์ผํ ์ปจํ ์ธ
- ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ์ ๋ฐ์ ์ ์๋ค.
- ์ ์ ์ปจํ ์ธ ์์ฒญ์ ์ ์ ์ปจํ ์ธ (html, jpeg, css ...)๋ฅผ ์ ๊ณตํ ์ ์๋ค.
- ๋์ ์ปจํ ์ธ ์์ฒญ์ Web Application Server(WAS)๋ก ์ ๋ฌํ์ฌ WAS๊ฐ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ๋ฌ
DB ์กฐํ๋ ๋ค์ํ ๋ก์ง ์ฒ๋ฆฌ๋ฅผ ์๊ตฌํ๋ ๋์ ์ธ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํ๋ก๊ทธ๋จ
- ์์ฒญ ์ธ์์ ๋ฐ๋ผ ๋ฐ๋ ์ ์๋ ์ปจํ ์ธ
- ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ์ ๋ฐ์ ์ ์๋ค. (๋๋ถ๋ถ์ WAS๋ Web Server ๋ด์ฅ)
- ์์ฒญ์ ๋ง๋ ์ ์ ์ปจํ ์ธ (html, jpeg, css ...)๋ฅผ ์ ๊ณตํ ์ ์๋ค.
- DB ์กฐํ๋ ๋ค์ํ ๋ก์ง ์ฒ๋ฆฌ๋ฅผ ํตํด ๋์ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ ์ ์๋ค.
๋ณธ์ธ : AWS ์๋น์ค๋ฅผ ์ฌ์ฉํด์ ์๋ฒ ์ด์ ํด๋ดค๋ค!!
๋ฉด์ ๊ด: ๋ฐ๋ก Web Server๋ฅผ ์ฌ์ฉํ์ จ๋์?
=> WAS ์ ๋จ์ ๋ฐ๋ก Web Server ๋์ง ์์ ์ด์ ๊ฐ ์๋์?
- ์ฑ ์ ๋ถํ ์ ํตํ ์๋ฒ ๋ถํ ๋ฐฉ์ง
->์ ์ ์ปจํ ์ธ ๋ Web Server , ๋์ ์ปจํ ์ธ ๋ WAS๊ฐ ๋ด๋น- ์ฌ๋ฌ ๋์ WAS ๋ก๋๋ฐธ๋ฐ์ฑ
->WAS๊ฐ ์ฒ๋ฆฌํด์ผ ํ๋ ์์ฒญ์ ์ฌ๋ฌ WAS๊ฐ ๋๋์ด์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค์ - ์ฌ๋ฌ๋์ WAS Health check
- ๋ณด์
->๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ํตํด ์ค์ ์๋ฒ๋ฅผ ์ธ๋ถ์ ๋ ธ์ถํ์ง ์์ ์ ์๋ค.
์๋ฒ์ ์ฃผ๊ธฐ์ ์ผ๋ก HTTP ์์ฒญ์ ๋ณด๋ด ์๋ฒ์ ์ํ๋ฅผ ํ์ธ(ex ํน์ url ์์ฒญ์ 200์๋ต์ด ์ค๋์ง?)
Interval : health check๋ฅผ ํตํด ์๋ฒ ์ํ๋ฅผ ํ์ธํ๋ ์์ฒญ์ ๋ ๋ฆฌ๋ ์ฃผ๊ธฐ(default: 5์ด)
Fails: ์๋์ ๊ฒฝ์ฐ 3ํ ์ฐ์ ์คํจํ๋ฉด ์๋ฒ๊ฐ ๋น์ ์์ด๋ผ๊ณ ์ธ์ง(default: 1ํ)
Passes: ์๋ฒ๊ฐ ๋ค์ ๋ณต๊ตฌ๋์ด ์์ฒญ์ด 2๋ฒ ์ฑ๊ณตํ๋ฉด ์๋ฒ๊ฐ ์ ์์ผ๋ก ์ธ์ง(default: 1ํ)
location / {
proxy_pass http://backend;
health_check interval=10 fails=3 passes=2;
๊ฒฐ๋ก ์ ์ผ๋ก WAS๋ง์ผ๋ก๋ ์๋น์ค๋ ๊ฐ๋ฅํ๋ค
์๋น์ค ํ์ฅ์ฑ, ์์ ์ฑ์ ๊ณ ๋ คํ๋ค๋ฉด ์ ๋จ์ Web server๋ฅผ ๋๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค๊ณ ์๊ฐ๋๋ค.