ํ์
๊ณผ ๋ณํํ๋ฉฐ, 9๋
๊ฐ์ 8๋ง๋ช
๊ฐ์ ๊ฒฝํ์ผ๋ก, ์ผ๋ฐ์ ์ธ IT ๊ฐ์๋ณด๋ค๋ ์ต๋ํ ์๊ฐ์ ์
์ฅ์ ๊ณ ๋ฏผํด์ ๋ง๋ ํน๋ณํ ๊ฐ์์
๋๋ค. ๋ค์ํ ์๋ฃ, ๋ค์ํ ์์ ๋ก ๊ด๋ จ ๊ธฐ์ ์ ๋ชจ๋ฅธ ์ํ๋ถํฐ ์์ํด์, ๊ด๋ จ ๊ธฐ์ ์ ๋ด ์ด๋ ฅ์์ ๊ธฐ์ฌํ ์ ์์ ์ ๋๋ก ํต์ฌ์ ์ธ ๊ธฐ์ ์ ๊ฒฌ๊ณ ํ๊ฒ ์ตํ๋ ๊ฐ์์
๋๋ค
๋ณธ ๊ฐ์๋ ์ง๊ธ๊น์ง ๋ง์ ๋ถ๋ค๊ป์ ์ตํ๊ณ , ์ข์ ์๊ฒฌ์ ์ฃผ๊ณ ๊ณ์ ๊ฒ์ฆ๋ ๊ฐ์์
๋๋ค.
ํน์๋ผ๋ ์ด์๊ฐ ์์ผ๋ฉด, ์ง๊ธ์ฒ๋ผ ์ดํ์๋ ์์๋ก ์
๋ฐ์ดํธ๋ ์ ์์ต๋๋ค.
์น์๋น์ค/์ฑ์๋น์ค๋ฅผ ์ํด ๊ผญ ํ์ํ ๊ธฐ์ ์คํ, ์๋ฒ ๊ธฐ์ ๊ณผ ๋์ปค๋ฅผ ์ด๋ป๊ฒ ๋ด ๊ธฐ์ ๋ก ๋ง๋ค๊น์?
- ๋์ปค๋ก ์ค์ ์๋น์ค๋ฅผ ์๋ฒ์ ์ฌ๋ฆฌ๋ ค๋ฉด, ๋ฆฌ๋
์ค, ์น์๋ฒ, https ์ ๋ํด์๋ ํ์ฉํ ์ ์์ ์ ๋๋ก ์ ๋ฆฌํด์ผ ํฉ๋๋ค
- ์๊ทผํ ๋ง์ ๋ค์ํ ๋์ปค ์ต์
๊ณผ ๋ฌธ๋ฒ, ๋ณต์กํ ์๋น์ค๋ฅผ ๋ง๋ค ์ ์์ ์ ๋๋ก ์น ์ ๋ฆฌํด์ผ ํฉ๋๋ค
- ๋์ปค๋ฅผ ๋๋ฌ์ผ ๋ค์ํ ๋ฐฐ๊ฒฝ์ง์๋ ์ ๋ฆฌํด์, ๊ฒฐ๊ตญ ์ต์ ์๋ฒ ๊ธฐ์ ์ ํํํ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ์์์ผ ํฉ๋๋ค
๊น๋ํ๊ฒ ๋์ปค๋ฅผ ๋ด ๊ธฐ์ ์คํ์ผ๋ก ๋ง๋ค ์ ์๋๋ก ํด์ฃผ๋ฉด ์ข์ํ
๋ฐ...
์ค๋์ ๊ฐ์ฌ๊ฐ ๋ต๋ตํ๋ ๋ถ๋ถ์
๋๋ค ์ฑ
์ ๋ด๋, ๊ฐ์๋ฅผ ๋ด๋, ๋ญ๊ฐ ๊น๋ํ๊ฒ ์ ๋ฆฌ๋์ง ์์ต๋๋ค. ๋ด๊ฐ ์๊ฐํ๋ ์๋น์ค๋ฅผ ๋์ปค๋ก ๋ง๋ค๋ ค๋, ์ค์ ๋ก๋ ์ ์๋ฉ๋๋ค. ๋ธ๋ก๊ทธ์ ์๋ ๋์ปค ์ค์ ๊ณผ ์คํฌ๋ฆฝํธ๋ฅผ ํ
์คํธํด๋ด๋ ์ ์๋ฉ๋๋ค. ๋์ปค์ ์ฐ๊ฒฐ๋ ๋ค์ํ ์๋ฒ๊ธฐ์ ๋ ์ ๋ฆฌ๊ฐ ์๋๋ ๊ฒฐ๊ตญ ์๋ฌด๊ฒ๋ ํ ์ ์์์ต๋๋ค. ํ์
์์ ๋ง์ด ์ฐ๋ ์ต์
, ์ค์ ๊ผญ ์ดํด๊ฐ ํ์ํ ์ต์
, ๊ทธ๋ฆฌ๊ณ ๋์ปค์ ์ฐ๊ฒฐ๋ ์๋ฒ๊ธฐ์ ๊น์ง ์ฝ๊ฒ ์ดํดํ๊ณ , ์ค์ ํ์ฉ๊ฐ๋ฅํ๋๋ก ๋ค์ํ ์์ ๋ก ํ๋ํ๋ ํ
์คํธํฉ๋๋ค
ํํํ๊ณ ์ค์ง์ ์ธ ๋์ปค์ ์๋ฒ ๊ธฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ์ํด ๋ง๋ค์์ต๋๋ค.
์์์ด ๋ง์ ๋ฌธ๋ฒ๊ณผ ๊ธฐ๋ฅ๋ค, ์ด๋ป๊ฒ ์ค์ ๋ด ๊ฒ์ผ๋ก ๋ง๋ค๊น์?
ํ์
์ ๊ฒฝํ๊ณผ ์ ์ ๋ฆฌํ ์๋ฃ์ ์์ ๋ก, ๊ฐ์ฌ๋ ์ฒ์ ์ตํ๋ ๊ฒ์ฒ๋ผ!
์ด๊ฐ๋จํ ๊ธฐ๋ฅ๊ณผ ์ต์
๋ถํฐ, ๋ณต์กํ ๊ธฐ๋ฅ, ๊ด๋ จ๋ ๊ธฐ์ ๊น์ง! ํ๋์ฉ ์ ๋ณตํด๊ฐ๋๋ค!
- ๊ผญ ํ์ํ ๋์ปค image/container, Dockerfile, docker-compose ์ ์ธ์ธํ ์ต์
๊ณผ ๋ฌธ๋ฒ์ ์์ ์ ํจ๊ป ์ค์ ํ
์คํธํด๋ณด๋ฉฐ ์งง์ ์๊ฐ์ ์ ๋ฆฌํ๊ณ ์ดํดํฉ๋๋ค
- ๋์ปค๋ก ์ค์ ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๊ผญ ํ์ํ ๊ด๋ จ ๊ธฐ์ ์ ๊ฐ์ ๋ด์์ ๋ชจ๋ ์ค๋ช
ํ๊ณ ์ค์ ๋ก ํ์ฉํฉ๋๋ค
โ ๋ฆฌ๋
์ค ์ฌ์ฉ๋ฒ
โ ํด๋ผ์ฐ๋(AWS) ๊ฐ์
๋ถํฐ EC2 ์๋ฒ ๊ตฌ์ถ/ํ์ฉ
โ Reverse Proxy ๋ฅผ ์ํ nginx ์น์๋ฒ ์ค์
โ ๋์ปค ๊ธฐ๋ฐ ๋ฐฐํฌ
โ HTTPS ์ธ์ฆ์ ๋ฐ๊ธ ๋ฐ ์๋ฒ ์ค์ - ๋์ปค์ ์๋ฒ ๊ด๋ จ ๊ธฐ์ ์ ์ ๋ฐ์ ์ธ ์ดํด๋ฅผ ์ํ ๋ฐฐ๊ฒฝ์ง์๊น์ง ์ค๋ช
ํฉ๋๋ค (์ฌ์ง์ด ๋ฆฌ๋
์ค ์ฌ์ฉ๋ฒ๋ ํฌํจ!)
- ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ์ง 7๊ฐ์ ๋์ปค๋ฅผ ๋ง๋ค๊ณ , docker compose ๋ก ๋ง๋ค๊ณ ์ค์ EC2 ์๋ฒ์ ๋์๋ณด๊ธฐ
- ์ค์ ์์ฉ ์ด์๋ ๊ฐ๋ฅํ ๋ณต์กํ ๋์ปค๋ฅผ ํ์ฉํ ์๋น์ค๋ ๋ง๋ค์ด๋ด
๋๋ค
โ ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ์ง 7๊ฐ์ ๋์ปค๋ฅผ docker compose ๋ก ๋ง๋ค๊ณ ์ค์ EC2 ์๋ฒ์ ํ๋ฒ์ ๋์๋ณด๊ธฐ
๊ฐ์ฌ๊ฐ ๋ค๋ฅด๋ฉด, IT๊ฐ์๋ ๋ค๋ฅผ ์ ์์ต๋๋ค!๊ผผ๊ผผํ๊ณ , ํฉ๋ฆฌ์ ์ธ ๋ถ์ด๋ผ๋ฉด ๊ฐ๋ฅํฉ๋๋ค!
๋์ปค๋ฅผ ํ์ฉํ๋ ค๋ฉด ๋ณต์กํ ์์ ๋ฅผ ํ๋ํ๋ ๊ตฌํํด๋ด์ผ ํฉ๋๋ค!
๋ณธ ๊ฐ์ ๋ง์ง๋ง์๋ 7๊ฐ์ ๋์ปค๋ก ์ด๋ฃจ์ด์ง ์น์๋น์ค๋ฅผ ๊ตฌํํ๋ฉฐ, ์ด์ธ์ ๊ฐ ์ต์
๋ง๋ค ๋ค์ํ ์์ ๋ฅผ ๊ตฌํํฉ๋๋ค
- Reverse Proxy, MySQL(๋ฐ์ดํฐ๋ฒ ์ด์ค), ๋๋ง์ ์น์๋น์ค(ํ๋ก ํธ์๋ ์๋ฒ), ์๋ํ๋ ์ค ๋ธ๋ก๊ทธ ์๋น์ค, ๋๋ง์ ๋ฐฑ์๋ ์๋ฒ1 (flask + gunicorn, fastapi + uvicorn ๋ฑ), ๋๋ง์ ๋ฐฑ์๋ ์๋ฒ2 (PHP-FPM), HTTPS ์ง์ ๋ฐ ์ฃผ๊ธฐ์ ์ธ์ฆํค ์๋ ์
๋ฐ์ดํธ๋ฑ

ํ์คํ์ด ๋๋ ค๋ฉด, ๋ฐฑ์๋์ ํ๋ฐํธ์๋๋ง ์ตํ๋ฉด ๋์ง ์์๊น?
์น์ด๋ ์ฑ์ด๋ ์ต๊ทผ ์๋น์ค๋ ์๋ฒ๊ฐ ํ์ํ๋ฉฐ, ์๋ฒ์์ ๋ชจ๋ ์๋น์ค๋ ๋์ปค ๊ธฐ์ ์ ํตํด ์๋น์ค ํฉ๋๋ค. ๋์ปค๋ ์ต์ ์๋ฒ ๊ธฐ์ ์ ํต์ฌ์ด๊ณ , ํ์
์์๋ ํ์์
๋๋ค. ๋ฌด์๋ณด๋ค ๊ฐ๋ฐ์๋ผ๋ฉด ๊ผญ ๋ด ๊ฒ์ผ๋ก ๋ง๋ค์ด์ผ ํ๋ ์ต์ IT ๊ธฐ์ ์
๋๋ค.
์ ์ฒด ๊ฐ์ฅ ๋น ๋ฅธ ์ต์ ํ์คํ ๋ก๋๋งต์ ์ ํฌ๋ธ ์์์ผ๋ก ์์ฝํ์ฌ ๋ง๋ค์์ต๋๋ค. ํด๋น ์์์ ์ฐธ๊ณ ํ์๋ฉด, ๋ณธ ๊ธฐ์ ์ ๋์ด์, ํผ์์๋ ์งง์ ์๊ฐ์ ์น/์ฑ ๊ฐ๋ฐ์ ํ ์ ์๋ ๋ก๋๋งต๋ ์ดํดํ์ค ์ ์์ต๋๋ค.
์ค๋ ฅ ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด?
๊ธฐ๋ณธ๊ธฐ๊ฐ ํต์ฌ์
๋๋ค! ๋์ปค๋ ์ต์ ์๋ฒ ๊ธฐ์ ์ ๊ธฐ๋ณธ์
๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค, ๋ฌด์ค๋จ/์๋๋ฐฐํฌ๋ฑ์ ๋ชจ๋ ๋์ปค ๊ธฐ์ ์ ํํํ ์์ ํ, ํ๋์ฉ ์ถ๊ฐํด๋๊ฐ๋ฉด ๋ฉ๋๋ค.
๋์ปค๋ฅผ ๊ฑด๋๋ฐ๊ฑฐ๋, ๋์ถฉ๋ง ์๊ณ ๋ ๊ด๋ จ ๊ธฐ์ ์ ์ ๋๋ก ์ตํ๊ณ ํ์ฉํ ์ ์์ต๋๋ค
๋ฐฉ๋ํ ์ต์
๊ณผ ๋ฌธ๋ฒ ์์ธํ ์์ฝ ์๋ฃ์ ๊ฐ์๋ก ์ ๋ฆฌํ์ธ์!
์ฑ
์ ๋๋ฌด ์์ธํ๊ณ , ์ฐพ๊ธฐ๋ ์ด๋ ค์์. ์๊ฐ๋ ๋ง์ด ๊ฑธ๋ฆฌ์ฃ . ๋ธ๋ก๊ทธ๋ ๋๋ฌด ์ฐ๋ฐ์ ์ธ ์ ๋ณด๋ก ๊ฒ์๋ง์ผ๋ก๋ ์ ๋ฆฌํ๊ธฐ ํ๋ค์ฃ . ์ฐ์ ์์๋ฅผ ์ ํด์ ์ตํ์ผํ ํ
๋ฐ, ์ด๋๊น์ง ์ฐ์ ํ์ํ์ง, ์ด๋๊น์ง ์ตํ์ผ ๋์ปค๋ฅผ ์๊ณ ํ์ฉํ ์ ์์์ง ๋ชจ๋ฅด๊ฒ ์ฃ
์์ธํ ์์ฝ ์๋ฃ์ ๋ค์ํ ์์ ๋ฅผ ์ฝ๊ฒ ์ค๋ช
ํ๋ ๊ฐ์์ ํจ๊ป ์ดํดํ๋ฉด,
์ดํ์๋ ์ธ์ ๋ '์! ์ ๊ธฐ๋ฅ ๊ธฐ์ต๋๋๋ฐ ์ด๋ป๊ฒ ์ฐ๋๋ผ?' ๋ผ๋ ์๊ฐ์ด ๋ค๊ณ , ๊ทธ ๋ ์ธ์ ๋ ์๋ฃ์ ์์ ๋ฅผ ๋ณด๋ฉด ๋ฐ๋ก ํ์ฉํ ์ ์์ต๋๋ค
๋ฑ ํด๋น ๋ฌธ๋ฒ์ ์ดํดํ๊ณ ํ์ฉํ ์ ์๋๋ก
๊ฐ๊ฒฐํ๋ฉด์๋, ๊ผผ๊ผผํ ์์ฑ๋ ์๋ฃ์,
๋ฑ ํด๋น ๋ฌธ๋ฒ์ ํ์ฉํ ์ ์๋ ๊ฐ๊ฒฐํ ์์
๊ทธ๋ฆฌ๊ณ , ๋ค์ํ ์์ ํ๋ก์ ํธ ํ์ผ๋ค

โข ๊ฐ ๊ธฐ๋ฅ๋ณ ์ํ์ฝ๋์ ๋ค์ํ ๋์ปค ํ๋ก์ ํธ ์์ ๋ฅผ ํ์ผ๋ก ์ ๊ณตํด๋๋ฆฌ๋ฉฐ, ๋ฆฌ๋
์ค ์ฌ์ฉ๋ฒ๋ PDF ํ์ผ๋ก ์ ๊ณตํด๋๋ฆฝ๋๋ค.
โข ๋์ปค ๊ด๋ จ ๊ฐ์ ์์ธ ์๋ฃ๋ ์จ๋ผ์ธ์์ ์ด๋ถ (ebook) ์ฒ๋ผ ์ธ์ ๋ ํ์ธํ์ค ์ ์๋๋ก ์ ๊ณตํด๋๋ฆฝ๋๋ค. (๋จ, ๋์ปค ์์ธ ์๋ฃ๋ ์ ์๊ถ ์ด์๋ก ๋ณต์ฌ ๋ฐ ๋ค์ด๋ก๋๋ ์ ํํ์์ต๋๋ค)
์
๋ฌธ์๋ ํ ์ ์์๊น์?
๋ณธ ๊ฐ์๋ ์ญ์ ์
๋ฌธ์๋ ๋ค์ผ์ค ์ ์๋๋ก, ์์ธํ ์ฐจ๊ทผ์ฐจ๊ทผ ์ค๋ช
๋๋ฆฌ๋ ๊ฐ์์
๋๋ค. ์ ๊ฐ์๋ฅผ ๋ค์ผ์ ๋ถ๋ค์ ์ด ๋ถ๋ถ์ ์ ์ดํดํ์ค ๊ฒ์
๋๋ค. ํ์ง๋ง ๋ณธ ๊ฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ์ ์ ์ธ ๋์ด๋๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฃผ๋์ด ๊ฐ๋ฐ์ ๋จ๊ณ์ ์์ผ์ ๋ถ๋ค์ด๋, ๋์ปค ๊ธฐ์ ์ ์ฒ์ ์ ๋ฆฌํ๊ณ ์ ํ๋ ๊ฐ๋ฐ์๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค.
๋ง์ฝ, ์
๋ฌธ์๋ผ๋ฉด ๋ณธ ์์ธํ์ด์ง ์๋์ ๊ธฐ์ฌ๋ ํ์คํ ์๋ฆฌ์ฆ์์ ์ต์ํ 1 ~ 4(ํ์คํ Part1) ๊น์ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ฆ์ผ์ ํ์, ์๊ฐํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ํนํ ๊ฐ ๊ฐ์๋ฅผ ๊ผผ๊ผผํ๊ฒ ์๊ฐํ๋ฉฐ, ๊ฐ์๋ง์ ์ฝ๋๋ฅผ ๋ง๋ค๊ณ , ๊ฐ๋ณ ์ด์๋ฅผ ์ค์ค๋ก ํด๊ฒฐํ๋ ค๊ณ ๋
ธ๋ ฅํ๋ค๋ณด๋ฉด, ์ฃผ๋์ด ๊ฐ๋ฐ์๋ก ์ถฉ๋ถํ ์ญ๋์ด ์์ด์ค ๊ฒ์
๋๋ค
์ฒด๊ณ์ ์ผ๋ก ์ตํ ์ ์์๊น์?
์
๋ฌธ์์์ ์์ํด์, ํ์คํ์ด ๋๊ธฐ๊น์ง ์ ๊ณผ์ ์ ์กฐ๊ธ์ฉ ๋์ด๋๋ฅผ ๋์ฌ๊ฐ๋ฉฐ, ์์ธํ๊ณ , ์ฒด๊ณ์ ์ผ๋ก ์ตํ ์ ์๋๋ก ๊ฐ์๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค. ํด๋น ๋ฌธ๋ฒ๊ณผ ์ง์ ์ดํด๋ฅผ ๋๊ธฐ ์ํด, ๊ฐ๊ฒฐํ ์ฝ๋์ ์ถฉ๋ถํ ์ค๋ช
์ ํ๋, ์ดํด๊ฐ ํ์ํ ๋ถ๋ถ์ ๊ทธ๋๊ทธ๋ ์ปดํจํฐ ๊ณตํ๊น์ง ์ค๋ช
๋๋ ค์, ์ข์ ๊ฐ๋ฐ์๊ฐ ๋ ์ ์๋ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ฆ์ผ์ค ์ ์์ต๋๋ค.

๋ณธ ๊ฐ์๋ ์ ์ฒด ํ์คํ ๊ฐ์ ์๋ฆฌ์ฆ Part3๋ก, ๋ณธ ๊ฐ์ ์์์๋ ๋ค์๊ณผ ๊ฐ์ ์น/์ฑ์๋น์ค ๊ฐ๋ฐ์ ์ํดํ์ํ ์๋ฒ ๊ธฐ์ ์ ๋ค๋ฃน๋๋ค. Part1, Part2 ์ ํจ๊ป ๋ณธ ๊ฐ์๋ฅผ ๋ค์ผ์ ๋ค๋ฉด, ๊ฐ์์ ๊ฐ๋จํ ์น์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ , ์ฌ์ง์ด ์ธํฐ๋ท์์ ์คํํด์, ์์ ๋ง์ ์๋น์ค๋ฅผ ํ์ค ์๋ ์์ต๋๋ค.
'์! ์ง์ง ๋ค๋ฅด๊ตฌ๋!' ๋ผ๊ณ ๋๋ ์ ์๋๋ก ๊ณ ๋ฏผ๊ณ ๋ฏผํด์ ๋ง๋๋ IT๊ฐ์ ์๋ฆฌ์ฆ์
๋๋ค
ํฉ๋ฆฌ์ ์ด๊ณ ์๋ก ๋ฐฐ๋ คํ๊ณ ์ข์ ์ธ์ฐ์ ๋งบ์ ์ ์๋ ๋ถ๋ค๋ง
์๊ฐ ๋ถํ๋๋ฆฝ๋๋ค!