9. ๊ธฐ๋ณธ๋ถํฐ ๋ค์ ํ๊ธฐ: ๋ง์์ ๋น์ฐ๊ณ FastAPI ์๋ฒ์ Cloudflare ํฐ๋์ ๋ซ๋ค
๋ค์ด๊ฐ๋ฉฐ: ์๋ฒฝ์ฃผ์๋ฅผ ๋ฒ๋ฆฌ๊ณ ๊ธฐ๋ณธ์ผ๋ก ๋์๊ฐ๋ค
์ง๋ 8ํธ์์ ์ ๋ AI์ '๋ฐ์ด๋ธ ์ฝ๋ฉ'์ ์์กดํ๋ค ์ฝ๋๊ฐ ์ฐ์ผ๋ก ๊ฐ๋ ๋ผ์ํ ๊ฒฝํ์ ํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ง์ ๊ฐ๋ฐ์ ์ ๋ฐฐ๋ค์ด ์กฐ์ธํ๋ '์ฝ๋ ๊ด๋ฆฌ ์์คํ (Git, GitHub)'์ ๋์ ํ๋ ค๊ณ ์ธํฐ๋ท ์ฐฝ์ ์ผฐ์์ฃ .
ํ์ง๋ง ํ์ค์ ์ธ ๋ฒฝ์ ๋ถ๋ชํ์ต๋๋ค. ์ฝ๋ฉ ์์ฒด๋ ๋ฒ ์ฐฌ ๋ง๋น์ ๋ธ๋์น(Branch)๊ฐ ์ด์ฉ๊ณ , ์ปค๋ฐ(Commit)์ด ์ด์ฉ๊ณ ํ๋ ์๋ก์ด ์์คํ ์ ๊ฐ๋ ์ ๋ฐฑ์ง๋ถํฐ ๋ค์ ๊ณต๋ถํ๊ณ ์ธํ ํ๋ ค๋ ๋จธ๋ฆฌ์ ์ฅ๊ฐ ๋ ๊ฒ ๊ฐ์์ต๋๋ค. ์์งํ ๋ง์๋๋ฆฌ๋ฉด, ์ง๊ธ ๋น์ฅ ์ ์๊ฒ๋ ๊ทธ ๊ฑฐ๋ํ ์์คํ ์ ์ํํ ๋งํ ๋ง์์ , ์๊ฐ์ ์ฌ์ ๊ฐ ํฑ์์ด ๋ถ์กฑํ์ต๋๋ค.
"์ด๋ฌ๋ค๊ฐ ์ง์ณ์ ์น์ฌ์ดํธ ๊ฐ๋ฐ ์์ฒด๋ฅผ ํฌ๊ธฐํ๊ฒ ๋ค." ์ ๋ ๊ณผ๊ฐํ ๊ฒฐ๋จ์ ๋ด๋ ธ์ต๋๋ค. ๊ผฌ์ฌ๋ฒ๋ฆฐ ์ฝ๋๋ฅผ ๋ฏธ๋ จ ์์ด ํด์งํต์ ๋์ ธ๋ฒ๋ฆฌ๊ณ , ๋ณต์กํ ๊ด๋ฆฌ ์์คํ ๋์ ์ ์ ์ ๋ฏธ๋ค๋ ์ฑ **'๊ฐ์ฅ ํ์คํ ๊ธฐ๋ณธ ๋ผ๋'**๋ถํฐ ๋ค์ ์ธ์ฐ๊ธฐ๋ก ๋ง์๋จน์์ต๋๋ค.
1. ๋ฆฌ๋ ์ค ์๋ฒ์ FastAPI ๊ธฐ๋ณธ ๋ผ๋ ๊ตฌ์ถํ๊ธฐ
์ฐ๋ถํฌ(Ubuntu) ๋ ธํธ๋ถ ์๋ฒ์ ํ ๋น ํด๋๋ฅผ ๋ค์ ์ด์์ต๋๋ค. ์ด๋ฒ์๋ ์์ฌ์ ๋ถ๋ฆฌ์ง ์๊ณ , ํ์ด์ฌ ๊ธฐ๋ฐ์ ์น ํ๋ ์์ํฌ์ธ FastAPI๊ฐ ์ ๊ณตํ๋ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ์ฝ๋ ๋จ ๋ช ์ค๋ง ์์ฑํ์ต๋๋ค.
ํ๋ฉด์ "Hello World"๋ผ๋ ํ ์คํธ ํ๋๋ง ๋์์ฃผ๋, ์ ๋ง ๋ณผํ์์ ์ ๋๋ก ๋จ์ํ ๋ผ๋์์ต๋๋ค. ํ์ง๋ง ์ธ์ ๊ฐ ์ด๊ณณ์ ์ธ์คํ๊ทธ๋จ ๋ฏธ๋์ด๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๋ค์ ์ ๋ก๋ํ๋ ๊ธฐ๋ฅ์ด๋, ์ ์ ๋ค์ ์ ์๋ฅผ ๋งค๊ธฐ๋ ํ๋ คํ ๋ญํน ๋ณด๋ ๊ฐ์ ๋ณต์กํ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ๋ค์ ์น์ผ๋ ค๋ฉด ์ด ์ฒซ ๋ฒ์งธ ์ฃผ์ถง๋์ด ๋ฌด์๋ณด๋ค ๋จ๋จํด์ผ ํ์ต๋๋ค.
๋ณต์กํ ๋ถ๊ฐ ๊ธฐ๋ฅ ์์ด ์์ํ๊ฒ <code>main.py</code> ํ์ผ ํ๋๋ก ๋์๊ฐ๋ ๊น๋ํ FastAPI ์๋ฒ๋ฅผ ๋ณด๊ณ ์์ผ๋, ๊ทธ๋์ AI์ ์จ๋ฆํ๋ฉฐ ๋ฐ์๋ ์คํธ๋ ์ค๊ฐ ์น ์ป๊ฒจ ๋ด๋ ค๊ฐ๋ ๊ธฐ๋ถ์ด์์ต๋๋ค.
2. Cloudflare ํฐ๋๋ง์ผ๋ก ๋ก์ปฌ ์๋ฒ ์ธ๋ถ๋ก ๊ฐ๋ฐฉํ๊ธฐ

<๋ฌด๋ฃ๋ผ์ ์ข์ Cloudflare์ ๋์๋ณด๋, ์ด์ ์น์ฌ์ดํธ์ ์ฃผ์๋ฅผ ์น๋ฉด ๋์ ์น์ฌ์ดํธ ์ฐ๊ฒฐ๋๋ค.>
๋ผ๋๋ฅผ ์ธ์ ์ผ๋ ์ด์ ์ด ์น์ฌ์ดํธ๋ฅผ ์ ์ธ๊ณ ์ฌ๋๋ค์ด ์ ์ํ ์ ์๋๋ก ์ธํฐ๋ท์ ๊ณต๊ฐํ ์ฐจ๋ก์์ต๋๋ค.
์๋๋๋ก๋ผ๋ฉด ์ฐ๋ฆฌ ์ง ๊ณต์ ๊ธฐ ์ค์ ์ฐฝ์ ๋ค์ด๊ฐ์ ๋ณต์กํ 'ํฌํธํฌ์๋ฉ(Port Forwarding)'์ ์ค์ ํ๊ณ , ๋ฐฉํ๋ฒฝ์ ๋ซ๊ณ , IP ์ฃผ์๋ฅผ ์ฐ๊ฒฐํ๋ ํ๋ํ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํฉ๋๋ค. ๋ณด์์ ์ํํ๊ธฐ๋ ํ๊ณ , ์ด๋ณด์๊ฐ ํ๋ค๊ฐ ๊ณต์ ๊ธฐ๋ฅผ ๋จนํต์ผ๋ก ๋ง๋ค๊ธฐ ๋ฑ ์ข์ ์์ ์ด์ฃ .
์ด๋ ์ ๋ฅผ ๊ตฌ์ํด ์ค ๊ฒ์ด ๋ฐ๋ก **'ํด๋ผ์ฐ๋ํ๋ ์ด ํฐ๋(Cloudflare Tunnels)'**์ ๋๋ค.
ํด๋ผ์ฐ๋ํ๋ ์ด ํฐ๋์ ์ ๋ฐฉ๊ตฌ์์ ์๋ ๋ก์ ๋ ธํธ๋ถ(๋ก์ปฌ ์๋ฒ)๊ณผ ํด๋ผ์ฐ๋ํ๋ ์ด์ ์ ์ธ๊ณ ์๋ฒ๋ฅผ ์์ฃผ ์์ ํ '๋น๋ฐ ํต๋ก(ํฐ๋)'๋ก ์ฐ๊ฒฐํด ์ฃผ๋ ๋ง๋ฒ ๊ฐ์ ์๋น์ค์ ๋๋ค. ๋ณต์กํ ํฌํธํฌ์๋ฉ์ ํ ํ์ ์์ด, ํฐ๋ฏธ๋์ ๋ช ๋ น์ด ๋ช ์ค๋ง ์ ๋ ฅํ๋ ์ ๋๋ฉ์ธ(<code>inspeep.com</code>)์ ์น๊ณ ๋ค์ด์ค๋ ๋ชจ๋ ์ ์์๊ฐ ์์ ํ๊ฒ ์ ๋ ธํธ๋ถ ์๋ฒ๋ก ์ฐ๊ฒฐ๋์์ต๋๋ค. ์ธ์์ ์ด๋ ๊ฒ ์ฝ๊ณ ์์ ํ๊ฒ ๋ด ๋ฐฉ๊ตฌ์ ์๋ฒ๋ฅผ ๊ฐ๋ฐฉํ ์ ์๋ค๋, ์ ์ธ๊ณ๋ฅผ ๋ง๋ณธ ๊ธฐ๋ถ์ด์์ต๋๋ค.
3. ์น๋ช ์ ์ธ ๋ฌธ์ ๋ฐ์: "ํฐ๋ฏธ๋์ ๋๋ฉด ์๋ฒ๋ ์ฃฝ๋๋ค?"
ํฐ๋๋ ๋ซ์๊ฒ ๋ค, ๊ธฐ์ ๋ง์์ผ๋ก ๋ฉ์ธ ๋ฐ์คํฌํฑ์ VS Code ์๊ฒฉ ์ ์(SSH) ์ฐฝ์ ๋ซ๊ณ ์นจ๋์ ๋์ ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ค๋งํธํฐ์ผ๋ก ์ ์น์ฌ์ดํธ์ ์ ์ํด ๋ณด๋ ๋๋ค์ '์ ์ ๋ถ๊ฐ' ์๋ฌ๊ฐ ๋จ๋ ๊ฒ์ด ์๋๊ฒ ์ต๋๊น?
์ด์ ๋ฅผ ์์๋ณด๋ ๋ฆฌ๋ ์ค์ ํน์ฑ ๋๋ฌธ์ด์์ต๋๋ค. ์ ๊ฐ ๋ฐ์คํฌํฑ์์ ์๊ฒฉ ์ ์์ ํตํด ์คํ์ํจ FastAPI ์๋ฒ๋, ์ ๊ฐ ์๊ฒฉ ์ ์(ํฐ๋ฏธ๋) ์ฐฝ์ ๋ซ๋ ์๊ฐ ์คํ ์ค์ด๋ ํ๋ก๊ทธ๋จ๋ ํจ๊ป ์ข ๋ฃ๋์ด ๋ฒ๋ฆฌ๋ ๊ตฌ์กฐ์์ต๋๋ค. 24์๊ฐ ๋ด๋ด ๋์๊ฐ์ผ ํ ์๋ฒ๊ฐ ์ ๊ฐ ์ปดํจํฐ๋ฅผ ๋ ๋๋ง๋ค ๊ฐ์ด ์ ๋ค์ด ๋ฒ๋ฆฐ๋ค๋ฉด ๊ทธ๊ฑด ์๋ฒ๋ก์์ ๊ฐ์น๊ฐ ์๋ ๊ฒ์ด์์ฃ .
4. tmux๋ฅผ ํ์ฉํด 24์๊ฐ ๋ฌด์ค๋จ ์๋ฒ ์ ํ ํ๊ธฐ

<์ค์ ๋์ ์๋ฒ๊ฐ ์คํ๋๊ณ ์ ์งํ๊ณ ์๋ tmux์ฐฝ์ด๋ค. ๊ฐ๋ฐ์ฉ ๋ชจ๋ํฐ์ VS code๋ฅผ ๊บผ๋ ์๋ฒ๋ ์ ์ง๋๋ค.>
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋๋์ด **<code>tmux</code> (Terminal Multiplexer)**๋ผ๋ ๊ฐ๋ ฅํ ๋ฆฌ๋ ์ค ๋๊ตฌ๋ฅผ ๋์ ํ์ต๋๋ค.
<ul><li>tmux์ ์ญํ : ์ฝ๊ฒ ๋งํด ๋ฆฌ๋ ์ค ์๋ฒ ์์ '์ ๋ ๊บผ์ง์ง ์๋ ๊ฐ์์ ๋ชจ๋ํฐ ํ๋ฉด'์ ํ๋ ๋์๋๋ ๊ธฐ๋ฅ์ ๋๋ค.
</li></ul>์ ๋ <code>tmux</code> ๋ช ๋ น์ด๋ฅผ ํตํด ๊ฐ์์ ์ฐฝ์ ํ๋ ๋ง๋ค๊ณ , ๊ทธ ์์์ FastAPI ์๋ฒ๋ฅผ ์คํ์์ผฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฉฐ์ ๊ฐ์ ์ฐฝ์์ ๋น ์ ธ๋์(Detach) ์๊ฒฉ ์ ์์ ์ข ๋ฃํด ๋ณด์์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๋์ฑ๊ณต์ด์์ต๋๋ค! ์ ๋ฐ์คํฌํฑ์ ๋๊ณ VS Code ์ฐฝ์ ๋ซ์๋, ๋ ธํธ๋ถ ์๋ฒ ์์ <code>tmux</code> ๊ฐ์ ํ๋ฉด์์๋ ์น ์๋ฒ๊ฐ 24์๊ฐ ์ฌ์ง ์๊ณ ํฝํฝ ๋์๊ฐ๊ณ ์์์ต๋๋ค.
๋ง์น๋ฉฐ: ์ง์ ํ ์๋ฏธ์ '๋๋ง์ ์๋ฒ' ์์ฑ
๋ณต์กํ ์ฝ๋ ๊ด๋ฆฌ ์์คํ ์ ์ต์ง๋ก ์ฑ์ฌ๋ฃ์ผ๋ ค๋ ์์ฌ์ ๋ฒ๋ฆฌ๊ณ ๊ธฐ๋ณธ์ผ๋ก ๋์์จ ๊ฒ์ ์ ๋ง ์ ์ ํ ์์์ต๋๋ค.
๊น๋ํ FastAPI ๋ผ๋, ์ธ๋ถ์ ์์ ํ๊ฒ ์ฐ๊ฒฐ๋ ํด๋ผ์ฐ๋ํ๋ ์ด ํฐ๋, ๊ทธ๋ฆฌ๊ณ <code>tmux</code>๋ฅผ ํตํ 24์๊ฐ ๋ฌด์ค๋จ ๊ตฌ๋๊น์ง. ์ด์ ์ ๊ตฌํ ๋ ธํธ๋ถ์ ๊ทธ ์ด๋ค ํธ์คํ ๋ถ๋ฝ์ง ์์ ์๋ฒฝํ๊ณ ๋ ๋ฆฝ์ ์ธ '์น ์๋ฒ'์ ํํ๋ฅผ ๊ฐ์ถ๊ฒ ๋์์ต๋๋ค. ๋น๋ก์ ์ฝ๋๋ฅผ ๋ง์๊ป ์งฐ๋ค ์ง์ ๋ค ํ ์ ์๋ ์ง์ง ํผํผํ ๋์ดํฐ๊ฐ ์์ฑ๋ ๊ฒ์ ๋๋ค.
๋ค์ ํฌ์คํ ์์๋ ์ด ํผํผํ ๋ผ๋ ์์, ์ ๊ฐ ๊ตฌ์ํ๋ ์ปค๋ฎค๋ํฐ์ ์ฒซ ๋ฒ์งธ ๊ธฐ๋ฅ๋ค์ ์กฐ์ฌ์ค๋ฝ๊ฒ ํ๋์ฉ ์ฌ๋ ค๋ณด๋ ์ง์ง ์ฝ๋ฉ ์์ ๊ธฐ๋ฅผ ๊ณต์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ณด ๊ฐ๋ฐ์์ ๋งจ๋ ํค๋ฉ์ ๊ณ์๋ฉ๋๋ค!
์ง๋ํธ ๋ณด๋ฌ๊ฐ๊ธฐ: 8. ์๋ก์ด ์์, ์๋์ ์ธ ๊ฐ๋ฐ์ ์์ ๋ก์ (๋ถ์ : AI ๋ฐ์ด๋ธ ์ฝ๋ฉ์ ํจ์ ์ ๋น ์ง๋ค)
๋ค์ํธ ๋ณด๋ฌ๊ฐ๊ธฐ: 10. ๋ฐฉ๊ตฌ์ ์๋ฒ์ ํ๊ณ๋ฅผ ๋๋ค: Render ๋ฐฑ์ ๋ถํฐ ์น์งํ ๊ฒ์ํ ๊ฐ๋ฐ๊น์ง
๐ฌ ๋๊ธ 0๊ฐ