Vercel ์๊ธ ์ ๊ฐ: FastAPI ์ ์ ํ์ผ์ด Function์ ๊ฑด๋๋ด๋ค
Vercel์ด FastAPI์ app.frontend()์ StaticFiles ์์ฒญ์ CDN์์ ์ง์ ์ฒ๋ฆฌํ๊ธฐ ์์ํ์ต๋๋ค. Function ํธ์ถยท์ปดํจํ ์ฌ์ฉ๋์ ์ค์ง๋ง CDN ์์ฒญ๊ณผ ์ ์ก๋์ ๋จ์ต๋๋ค. ์ ์ฉ ์กฐ๊ฑด, ๋ณด์ ์์ธ, ์ค์ Vercel ์๊ธ ์ ๊ฐ ๋ฒ์๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
๊ฒ์์ผ

2026๋ 9์ 10์ผ, Vercel์ FastAPI ์ฑ์ Vercel ์๊ธ ๊ตฌ์กฐ์์ ํ ํญ๋ชฉ์ ๋ฐ๊ฟจ์ต๋๋ค. ์ด์ ์ ์ฉ ๋์ ํ๋ฐํธ์๋ ๋ฐ ์ ์ ํ์ผ ์์ฒญ์ Vercel CDN์์ ๋ฐฉ๋ฌธ์์๊ฒ ๊ณง๋ฐ๋ก ์ ๋ฌ๋๋ฏ๋ก Function ํธ์ถ๊ณผ ์ปดํจํ ์ฌ์ฉ๋์ด ๋ฐ์ํ์ง ์์ต๋๋ค. ๋ค๋ง CDN ์์ฒญ๊ณผ ์ ์ก๋์ ๊ทธ๋๋ก ๋จ์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฒ ๋ณ๊ฒฝ์ ์ ์ ํ์ผ ์ ์ก์ ๋ฌด๋ฃ๋ก ๋ง๋๋ ๊ฒ์ด ์๋๋ผ Function ์ฌ์ฉ๋์ ์ค์ด๋ ์กฐ์น์ ๋๋ค.
Vercel FastAPI ๋ฐฐํฌ ํ ์์ฒญ์ด Function์ ๊ฑด๋๋๋๋ค
์ ์ ํ์ผ์ HTML ํ์ผ, ์คํ์ผ์ํธ, JavaScript ๋ฒ๋ค, ํฐํธ, ์ด๋ฏธ์ง์ฒ๋ผ ์๋ฒ๊ฐ ์์ ์์ด ๋ณด๋ผ ์ ์๋ ํ์ผ์ ๋๋ค. Vercel Function์ ๋์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์คํ๋๋ FastAPI ํ๋ก์ธ์ค์ ๋๋ค. CDN์ ๋ฐฉ๋ฌธ์ ๊ฐ๊น์ด์์ ์ฝํ ์ธ ๋ฅผ ์ ๋ฌํ๋ ๊ณ์ธต์ ๋๋ค.
๋ณ๊ฒฝ ์ ์๋ FastAPI๋ฅผ ํตํด ๋ง์ดํธํ ํ์ผ๋ Function ๊ฒฝ๋ก๋ฅผ ๊ฑฐ์น ์ ์์์ต๋๋ค. ์์ฒญ์ด Vercel ๋คํธ์ํฌ์ ๋์ฐฉํ๋ฉด FastAPI Function์ ํธ์ถํ๊ณ , Python์ด ํ์ผ์ ๋ฐํํ๋ ๋ฐฉ์์ด์์ต๋๋ค.
์ด์ Vercel์ ๋น๋ ๊ณผ์ ์์ app.frontend()์ FastAPI์ StaticFiles ๋ค์ ์๋ ์ ์ฉ ๋์ ํ์ผ์ ์ฐพ์๋
๋๋ค. ํด๋น ํ์ผ์ CDN์ผ๋ก ์ฌ๋ฆฌ๊ณ , ์ผ์นํ๋ ์์ฒญ์ Function์ ํธ์ถํ์ง ์๊ณ ์ฒ๋ฆฌํฉ๋๋ค.
์์ฒญ ๊ฒฝ๋ก๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฐ๋๋๋ค.
visitor โ CDN โ FastAPI Function โ file โ visitor
์์
visitor โ CDN file โ visitor
๋ก ์งง์์ง๋๋ค.
๋์ API๊น์ง ์ ์ ์ผ๋ก ๋ฐ๋๋ ๊ฒ์ ์๋๋๋ค. ์กฐ๊ฑด์ ๋ง๋ ํ์ผ๋ง ์ด๋ํฉ๋๋ค. ํ๋ก์ ํธ ์์ค์ public/ ๋๋ ํฐ๋ฆฌ์ ๋ ํ์ผ์ ์ด๋ฏธ CDN์์ ์ ๊ณต๋๊ณ ์์์ผ๋ฏ๋ก, ๋ชจ๋ ๊ณต๊ฐ ์์
์ ๊ทธ๊ณณ์ ๋ ์ฑ์ด๋ผ๋ฉด ์ด๋ฒ ๋ฆด๋ฆฌ์ค๋ก ์๋กญ๊ฒ ์ ๊ฐ๋๋ ์ฌ์ฉ๋์ ์์ต๋๋ค.
ํ๋ก๋ชจ์
๋ ๋๋ ํฐ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก Function ๋ฒ๋ค ์์ ๋จ์ต๋๋ค. tool.vercel.fastapi.static.exclude = true๋ฅผ ์ค์ ํ๋ฉด ์ค๋ณต ์ฌ๋ณธ์ ์ ๊ฑฐํ ์ ์์ง๋ง, ์ด๋ ๋ณ๋์ ๋ฒ๋ค ๊ตฌ์ฑ ๋ฌธ์ ์
๋๋ค. CDN ์์ฒญ ๊ฒฝ๋ก๋ฅผ ํ์ฑํํ๊ธฐ ์ํด ๋ฐ๋์ ํ์ํ ์ค์ ์ ์๋๋๋ค.

Vercel ์๊ธ์์ ๋น ์ง๋ ๊ฒ์ ์ปดํจํ ์ด์ง ์ ์ก์ด ์๋๋๋ค
Vercel์ ์์ฒญ์ ์ฌ๋ฌ ๊ณ์ธต์ผ๋ก ๋๋ ์ธก์ ํฉ๋๋ค. Function Invocations๋ ์ฝ๋์ ๋๋ฌํ ์์ฒญ ์๋ฅผ ์ ๋๋ค. Active CPU์ Provisioned Memory๋ ํด๋น ํธ์ถ์ ์ฌ์ฉ๋ ์ฐ์ฐ ์์ ๊ณผ ๋ฐํ์ ๋ฆฌ์์ค๋ฅผ ์ธก์ ํฉ๋๋ค. Fast Origin Transfer๋ CDN๊ณผ Function ์ฌ์ด์์ ์ค๊ฐ ํธ๋ํฝ์ ์ธก์ ํฉ๋๋ค.
์ธ๋ถ ์ ์ก ๊ณ์ธต์ ์ธก์ ํญ๋ชฉ์ ๋ค๋ฆ ๋๋ค. ๋์๋ณด๋์์ Edge Requests๋ก ํ์๋๋ CDN Requests๋ ์ ์ ์์ ๊ณผ Function ํธ๋ํฝ์ ๋ชจ๋ ์ ์ฉ๋ฉ๋๋ค. Fast Data Transfer๋ CDN์์ ๋ฐฉ๋ฌธ์์๊ฒ ์ ์ก๋ ๋ฐ์ดํธ๋ฅผ ์ธก์ ํฉ๋๋ค.
๋ฐฐํฌ ์ ์๋ Function์ ๋๋ฌํ์ง๋ง ๋ฐฐํฌ ํ์๋ ํ๋ก๋ชจ์ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋, ๊ทธ ๋ฐ์ ์กฐ๊ฑด์ด ๋์ผํ ์์ ์์ฒญ ๋ฐฑ๋ง ๊ฑด์ ๊ธฐ์ค์ผ๋ก ์ฅ๋ถ๋ฅผ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ณต๊ฐ๋ Pro ์๊ธ์ Function ํธ์ถ ๋ฐฑ๋ง ๊ฑด๋น $0.60์ ๋๋ค. ๋ฐ๋ผ์ ์ด์ ์๋ Function์ ๋๋ฌํ๋ ํ์ผ ์์ฒญ ๋ฐฑ๋ง ๊ฑด์ด ๋น ์ง๋ฉด ์๊ฐ ํฌ๋ ๋ง ์ ์ฉ ์ ์ด Function ํธ์ถ ์ฌ์ฉ๋ฃ์์ $0.60์ด ์ค์ด๋ญ๋๋ค. ์ฌ๊ธฐ์ ํด๋น ์์ฒญ์ด ์ค์ ๋ก ์๋นํ Active CPU, Provisioned Memory, Fast Origin Transfer๋ ํจ๊ป ์ค์ด๋ญ๋๋ค.
๋๋จธ์ง ์ ๊ฐ์ก์ Usage ๋ฐ์ดํฐ๋ก ๊ณ์ฐํด์ผ ํฉ๋๋ค. Python์ ๊ฑฐ์ ๊ฑฐ์น์ง ์์ ํ์ผ ์๋ต์ด๋ผ๋ฉด ์ค์ด๋๋ CPU๋ ์ ์ต๋๋ค. ์๋ต ํ์ผ์ด ํฌ๋ค๋ฉด ์ค์ด๋๋ origin transfer๋ ๋ ๋ง์ ์ ์์ต๋๋ค. ์ด๋ฒ ๋ฆด๋ฆฌ์ค๊ฐ ์ ๊ณตํ๋ ๊ฒ์ ์๋ก์ด ์์ฒญ ๊ฒฝ๋ก์ด์ง, ๋ชจ๋ ์ฑ์ ํต์ฉ๋๋ ์ ๊ฐ๋ฅ ์ด ์๋๋๋ค.
์ฅ๋ถ ๋ฐ๋ํธ์๋ CDN ์ฌ์ฉ๋์ด ๊ทธ๋๋ก ๋จ์ต๋๋ค. Vercel์ ํ์ฌ CDN ์๊ธ ํ์ด์ง์ ๋ฐ๋ฅด๋ฉด ์จ๋๋งจ๋ ์ฒญ๊ตฌ๋ฅผ ์ฌ์ฉํ๋ Pro์์๋ ์ต์ด ์ฒ๋ง ๊ฑด์ Edge Requests์ ์ต์ด 1 TB์ Fast Data Transfer๊ฐ ํฌํจ๋๊ณ , ์ดํ์๋ ์ง์ญ๋ณ ์ฌ์ฉ ์๊ธ์ด ๋ถ์ต๋๋ค. Flat Rate CDN์ ์ฐ๋ ํ์ ๋์ ํด๋น ํ๋์ ์์ฒญ ๋ฐ ์ ์ก ์ฉ๋์ ์๋นํฉ๋๋ค. ์ด ๋ณ๋ ์์ฐ ๊ฒฐ์ ์ Flat Rate CDN ํด์ค์์ ๋ค๋ฃน๋๋ค.
Hobby์์๋ ํ๊ธ ์ฒญ๊ตฌ์ก๋ณด๋ค ์ฌ์ ์ฌ์ฉ๋์ด ๋์ด๋๋ ํจ๊ณผ๊ฐ ํด ์ ์์ต๋๋ค. Hobby์๋ Function ํธ์ถ ๋ฐฑ๋ง ๊ฑด, Active CPU ๋ค ์๊ฐ, Provisioned Memory 360 GB-hours๊ฐ ํฌํจ๋ฉ๋๋ค. Function์ ๋ ์ด์ ๋๋ฌํ์ง ์๋ ๊ณต๊ฐ ํ์ผ ํธ๋ํฝ์ ์ด ํ๋๋ฅผ ์๋ชจํ์ง ์์ง๋ง, ํด๋น๋๋ CDN ์ ์ก ์ฌ์ฉ๋์ ๊ณ์ ์ง๊ณ๋ฉ๋๋ค.
FastAPI StaticFiles์ ํ๋ฐํธ์๋์ ์ ์ฉ ์ฌ๋ถ๋ ๋ผ์ฐํธ์ ๋ณด์ ๊ท์น์ด ๊ฒฐ์ ํฉ๋๋ค
Vercel์ StaticFiles์ ๋ํด FastAPI์ ์ ์ธ ์์๋ฅผ ์ ์งํฉ๋๋ค. ์ ์ ๋ง์ดํธ๋ณด๋ค ๋จผ์ ์ ์ธํ ๋ผ์ฐํธ๊ฐ ๊ฐ์ ๊ฒฝ๋ก์์ ์ฐ์ ํ๋ฉฐ Function์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ๋ง์ดํธ ๋ค์ ์ ์ธํ ๋ผ์ฐํธ๋ CDN ํ์ผ๋ณด๋ค ์ฐ์ ํ์ง ๋ชปํฉ๋๋ค.
app.frontend()๋ ์กฐ๊ธ ๋ค๋ฆ
๋๋ค. API ๋ผ์ฐํธ๋ ์ ์ธ ์์์ ๊ด๊ณ์์ด ํญ์ ํ๋ฐํธ์๋ ํ์ผ๋ณด๋ค ์ฐ์ ํฉ๋๋ค. ๋๋ถ์ /์ ๋ง์ดํธํ ํ๋ฐํธ์๋๊ฐ ์ค์ API ์๋ํฌ์ธํธ๋ฅผ ๊ฐ๋ก์ฑ์ง ์์ต๋๋ค.
๋ณด์ ์๊ฑด๋ ๊ธฐ๋ณธ ๋์์ ๋ฐ๊ฟ๋๋ค. CDN ํ์ผ์ Python์ ์ง์
ํ์ง ์์ผ๋ฏ๋ก FastAPI ๋ฏธ๋ค์จ์ด์ Depends() ๊ฒ์ฌ๊ฐ ์คํ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ Vercel์ ๋ค์ ๊ฒฝ๋ก๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก Function์ ๋จ๊ฒจ ๋ก๋๋ค.
- ์ฑ์ ์ต์์ ๋ฏธ๋ค์จ์ด๊ฐ ์์ผ๋ฉด ๋ชจ๋ ์ ์ ๋ง์ดํธ์ ํ๋ฐํธ์๋.
- ํ์ ์ฑ์ ๋ฏธ๋ค์จ์ด๊ฐ ์์ผ๋ฉด ํด๋น ํ์ ์ฑ์ ์ ์ ๋ง์ดํธ.
- FastAPI ์์กด์ฑ์ผ๋ก ๋ณดํธ๋๋ ํ๋ฐํธ์๋.
cdn = false๋ ๋ฐ๋์ ์ ํ์
๋๋ค. ํ๋ก๋ชจ์
์ ๋นํ์ฑํํ๊ณ ์ผ์นํ๋ ๋ชจ๋ ์์ฒญ์ Function์ ๋จ๊น๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋๊ฐ ๊ฐ ์์ฒญ์ ๋ฐ๋์ ๊ฒ์ฌํด์ผ ํ๋ค๋ฉด ํ๋นํ ์ ํ์
๋๋ค.
์์ง๋ง ์์๋ ์์ธ๋ ์์ต๋๋ค. StaticFiles ๋ง์ดํธ์ ์ฌ๋์ ์๋ ๋ฃจํธ ์์ฒญ์ FastAPI๊ฐ ๋์ ์ฌ๋์๊ฐ ๋ถ์ ํ์์ผ๋ก ๋ฆฌ๋๋ ์
ํ ์ ์๋๋ก ๊ณ์ Function์ ๋๋ฌํฉ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ด ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ณตํด์ ์์ฒญํ๋ค๋ฉด Function ์ฌ์ฉ๋์ด ์ ํํ 0์ด ๋๋ฆฌ๋ผ๊ณ ๊ธฐ๋ํด์๋ ์ ๋ฉ๋๋ค.
์ค๋ฌด์์ ๋ฌ๋ผ์ง๋ ์ง์
FastAPI ์ ์ฅ์ ํ๋๋ก SaaS๋ฅผ ์ด์ํ๋ ๊ฐ์ธ ์ฐฝ์ ์
app.frontend()๋ก ๋ฒ๋ค๋ ์น ์ฑ์ ์ ๊ณตํ๋ ์ฐฝ์
์๋ API๋ฅผ ๋์ ์ผ๋ก ์ ์งํ๋ฉด์ ๊ณต๊ฐ HTML, CSS, JavaScript ํธ๋ํฝ์ Function ๊ฒฝ๋ก ๋ฐ์ผ๋ก ์ฎ๊ธธ ์ ์์ต๋๋ค. ํจ๊ณผ๋ ์ปดํจํ
๊ธฐ์ค์ ์ด ๋ ๋ช
ํํด์ง๋ค๋ ์ ์
๋๋ค. ์ ํ ํธ๋ํฝ์ด ๋์ด๋ ๋ธ๋ผ์ฐ์ ์ ์์
์์ฒญ ํ๋ํ๋๊ฐ ๋ฐฑ์๋ ์์
์ฒ๋ผ ์กํ์ง ์์ต๋๋ค.
๊ณต๊ฐ ํ์ผ๊ณผ ๊ณ ๊ฐ ์ ์ฉ ํ์ผ์ ๋ค๋ฃจ๋ ์์ด์ ์ ์์ง๋์ด
์์ด์ ์ ์์ง๋์ด๋ ๊ณต๊ฐ ์ ธ์ CDN์ ๋๊ณ , ๋ฏผ๊ฐํ ๋ผ์ฐํธ๋ ์ ์ ๋ง์ดํธ๋ณด๋ค ๋จผ์ ์ ์ธํ ์ ์์ต๋๋ค. ์ด๋ ํจ๊ณผ๋ Function ์ฌ์ฉ๋ ์ ๊ฐ์ ๊ทธ์น์ง ์์ต๋๋ค. ์ด๋ค ๊ณ ๊ฐ ํ์ผ์ Python์์ ์ ๊ทผ ์ฌ๋ถ๋ฅผ ํ๋จํด์ผ ํ๊ณ ์ด๋ค ํ์ผ์ ๊ทธ๋ ์ง ์์์ง ๋ผ์ฐํธ ๋งต์ ๋ช ํํ ๋๋ฌ๋ฉ๋๋ค.
์ฌ๋ฌดํ๊ณผ ํ์ ํ๋ ๋ฐฑ์๋ ๋ฆฌ๋
๋ฐฑ์๋ ๋ฆฌ๋๋ ์ฌ๋ฌดํ์ ๋ ๊ฐ์ง ์์ธก์น๋ฅผ ๋ฐ๋ก ์ ์ํ ์ ์์ต๋๋ค. Function ํญ๋ชฉ์๋ ๋์ FastAPI ํธ๋ํฝ์, CDN ํญ๋ชฉ์๋ ๋ฐฉ๋ฌธ์ ๋์ ์ ์ฒด ํธ๋ํฝ์ ๋ฐ์ํ๋ ๋ฐฉ์์ ๋๋ค. ๋๋ถ์ Function Invocations ๊ฐ์๋ฅผ Edge Requests๋ ์ ์ก๋์ ๋์ผํ ๊ฐ์๋ก ์๋ชป ํด์ํ์ง ์๊ฒ ๋ฉ๋๋ค.
์ ์ญ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ๋ ํ
์ต์์ ๋ก๊น , ํ ๋ํธ ํ์ธ, ์ธ์ฆ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ๋ ํ์ด๋ผ๋ฉด ์ ์ ๋ง์ดํธ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก Function์ ๋จ์ ๊ฒ์ผ๋ก ์์ํด์ผ ํฉ๋๋ค. ์ด๋ ํ์ํ ํ๋จ์ ๋ช ํํ ๊ณต๊ฐ๋ ์์ ์์ญ์ด ํด๋น ๋ฏธ๋ค์จ์ด๋ฅผ ์ฐํํด๋ ๋๋์ง ์ฌ๋ถ์ ๋๋ค. ๋ต์ด โ์๋์โ๋ผ๋ฉด ์ด๋ฒ ๋ณ๊ฒฝ์์ ์์ ํ๊ฒ ์์ฐ์ ๋ฐ์ํ ์ ๊ฐ์ก์ ์์ต๋๋ค.
๋ฐฐํฌ ํ๋๋ฅผ ์ ๊ฒํ๋ ๋ฐฉ๋ฒ
ํ์ฅ์๊ฐ ๋ถ์ ํ์ผ์ ๋ชจ๋ ๊ณต๊ฐ ํ์ผ์ผ ๊ฒ์ด๋ผ๋ ๊ฐ์ ์ด ์๋๋ผ, ์ค์ ๋ผ์ฐํธ ๋ชฉ๋ก์์ ์์ํด์ผ ํฉ๋๋ค.
๊ณต๊ฐ ๊ฒฝ๋ก์ ๋ณดํธ ๊ฒฝ๋ก ๊ตฌ๋ถํ๊ธฐ
๋ชจ๋
app.frontend()๋๋ ํฐ๋ฆฌ์StaticFiles๋ง์ดํธ๋ฅผ ๋์ดํฉ๋๋ค. ์ด๋ ๋ฐฉ๋ฌธ์์๊ฒ๋ ๋ฐํํด๋ ๋๋ ํ์ผ์ ํ์ํฉ๋๋ค. ์ฌ์ฉ์, ํ ๋ํธ, ์ญํ , ์ฟ ํค ๋๋ ์์ฒญ ์์ ์ ๋ฏธ๋ค์จ์ด ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์๋ต์ด ๋ฌ๋ผ์ง๋ ํ์ผ์ ๋ฐ๋ก ํ์ํฉ๋๋ค.์ ์ธ ์์ ํ์ธํ๊ธฐ
Function ๋ผ์ฐํธ๊ฐ ์ฐ์ ํด์ผ ํ๋ค๋ฉด
StaticFiles๋ง์ดํธ๋ณด๋ค ์์ ๋ก๋๋ค. ๋ค์์ Vercel ๋ฌธ์์ ๋์จ ํจํด์ ๋๋ค.Pythonfrom fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() # Declared before the mount, so this route wins over any CDN file at this path. @app.get("/static/protected.json") def protected(): return {"access": "denied"} app.mount("/static", StaticFiles(directory="static"))๋ณดํธ ๊ฒฝ๋ก๋ฅผ Function์ ๋จ๊ธฐ๊ธฐ
์ค์ ์ ๋ฐ๊พธ๊ธฐ ์ ์ ์ต์์ ๋ฏธ๋ค์จ์ด, ํ์ ์ฑ ๋ฏธ๋ค์จ์ด, ํ๋ฐํธ์๋ ์์กด์ฑ์ ํ์ธํฉ๋๋ค. ์ํฅ๋ฐ๋ ๋ชจ๋ ํ์ผ์ด ์ค์ ๊ณต๊ฐ ํ์ผ์ด ์๋๋ผ๋ฉด ์ฐจํธ ์์น๋ฅผ ๋ฎ์ถ๊ธฐ ์ํด
cdn = true๋ฅผ ์ค์ ํด์๋ ์ ๋ฉ๋๋ค. ์ผ์นํ๋ ๋ชจ๋ ํธ๋ํฝ์ด FastAPI๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ค๋ฉดcdn = false๋ฅผ ์ฌ์ฉํฉ๋๋ค.๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ์ค์ผ์ง ๊ฒฐ์ ํ๊ธฐ
์คํ ์ค์ธ ์ฑ์ด ํ๋ก๋ชจ์ ๋ ํ์ผ์ ์ฝ์ง ์๋๋ค๋ฉด ๋ฌธ์ํ๋ ์ค์ ์ผ๋ก ํด๋น ์์ค ๋๋ ํฐ๋ฆฌ๋ฅผ Function ๋ฒ๋ค์์ ์ ์ธํ ์ ์์ต๋๋ค.
TOML[tool.vercel.fastapi.static] exclude = true๋ฐํ์ ์ฝ๋์์ ํด๋น ํ์ผ์ด ๊ณ์ ํ์ํ๋ค๋ฉด ๊ธฐ๋ณธ๊ฐ์ ์ ์งํฉ๋๋ค.
๋ฐฐํฌ ํ ํธ๋ํฝ ๋ถ๋ฆฌ ๊ฒ์ฆํ๊ธฐ
vc deploy๋ฅผ ์คํํฉ๋๋ค. ๊ณต๊ฐ ํ์ผ ํ๋, ๋ณดํธ ํ์ผ ํ๋, API ๋ผ์ฐํธ ํ๋์ ๊ฐ๊ฐ ์์ฒญ์ ๋ณด๋ ๋๋ค. ๋ณดํธ๋ ์๋ต์ด ์ฌ์ ํ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋์ง ํ์ธํ ๋ค์, Usage์์ ํ๋ก์ ํธ์ Function Invocations, Active CPU, Provisioned Memory, Fast Origin Transfer, Edge Requests, Fast Data Transfer๋ฅผ ๋น๊ตํฉ๋๋ค. ๊ณต๊ฐ ํ์ผ ํ๋ณธ์ Function ๊ฒฝ๋ก์์๋ ๋น ์ง๋ CDN ํฉ๊ณ์์๋ ์ฌ๋ผ์ง์ง ์์์ผ ํฉ๋๋ค.
์ ๊ฐ์ก์ ๊ณผ์ฅํ์ง ์์ผ๋ ค๋ฉด
Pro์ ์ง์ ํธ์ถ ์๊ธ์ ๋ฐฑ๋ง ๊ฑด๋น $0.60์ ๋ถ๊ณผํฉ๋๋ค. ์์ ์ฑ์ด๋ผ๋ฉด ์ค์ ์ ๊ฐ์ก์ด ๋ช ์ผํธ์ ๊ทธ์น๊ฑฐ๋ ์๊ฐ ์ฌ์ฉ ํฌ๋ ๋ง ์์ ํก์๋ ์ ์์ต๋๋ค. ๋ ํฐ ์ด์ ์ Function ์ฌ์ฉ๋์์ ์์ ์์ฒญ์ด๋ผ๋ ์ก์์ ๊ฑท์ด๋ด๊ณ ์ค์ API ์์ ์ ์ธ ์ปดํจํ ์ฌ์ ๋ฅผ ๋ณด์กดํ๋ ๋ฐ ์์ ์ ์์ต๋๋ค.
๊ณต๊ฐ ์์
ํธ๋ํฝ์ด ๋ง๊ฑฐ๋, ๊ธฐ์กด Function ๊ฒฝ๋ก์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ ํ๋ ์๊ฐ์ด ์ถฉ๋ถํ ๊ธธ์๊ฑฐ๋, ์๋ต์ด ์๋ฏธ ์๋ Fast Origin Transfer๋ฅผ ๋ง๋ค์๋ค๋ฉด ์ ๊ฐํญ์ด ์ปค์ง๋๋ค. ๋ฐ๋๋ก ํ์ผ์ด ์ด๋ฏธ public/์ ์์๊ฑฐ๋, ํธ๋ํฝ์ด ์ ๊ฑฐ๋, ๋ณด์ ๊ท์น ๋๋ฌธ์ ํด๋น ๊ฒฝ๋ก๋ฅผ Function์ ๋จ๊ธฐ๋ ๊ฒ์ด ๋ง๋ค๋ฉด ํจ๊ณผ๋ ์์ต๋๋ค.
์ด๋ฒ ๋ณ๊ฒฝ์ด ์์ ์ต์ ํ๋ฅผ ๋์ฒดํ๋ ๊ฒ๋ ์๋๋๋ค. ๊ฐ์ ๋์ฉ๋ JavaScript ๋ฒ๋ค, ์ด๋ฏธ์ง, ํฐํธ๋ ์ฌ์ ํ CDN์ ๊ฑฐ์ณ ๋ฐฉ๋ฌธ์์๊ฒ ์ ๋ฌ๋์ด์ผ ํฉ๋๋ค. Fast Data Transfer๋ฅผ ์ค์ด๋ ค๋ฉด ํ์ผ ์์ฒด์ ํฌ๊ธฐ๋ฅผ ์ค์ฌ์ผ ํฉ๋๋ค.
์์์ผ์ ํ ์ผ
app.frontend() ๋๋ StaticFiles๊ฐ ๊ณต๊ฐ ํ์ผ์ ์ ๊ณตํ๊ณ ํด๋น ์์ฒญ์ด Function ์ฌ์ฉ๋์ ์กํ๋ค๋ฉด ์ด๋ฒ ์ฃผ์ ์กฐ์นํฉ๋๋ค. ํ์ผ์ด ๋ณดํธ๋์ด ์๋๋ฐ ์ ๊ทผ ๊ท์น์ ์์ง ๋ถ๋ฆฌํ์ง ์์๋ค๋ฉด ๊ธฐ๋ค๋ฆฝ๋๋ค. ๊ด๋ จ ํ์ผ์ด ์ด๋ฏธ public/์ด๋ ๋ค๋ฅธ CDN ๊ธฐ๋ฐ ๊ฒฝ๋ก์์ ์ ๊ณต๋๋ค๋ฉด ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
์์์ผ์๋ ๊ณต๊ฐ ์์ ๊ฒฝ๋ก์ ๋ณดํธ ์์ ๊ฒฝ๋ก๋ฅผ ๊ตฌ๋ถํด ๋ชฉ๋ก์ ๋ง๋ค๊ณ , ๋ฐ๋์ ์คํ๋์ด์ผ ํ๋ ๋ชจ๋ ๋ผ์ฐํธ์ ๋ณดํธ ์ฅ์น๋ฅผ ์ ์งํ ๋ค, ๊ฐ ๋ถ๋ฅ์์ ์์ฒญ ํ๋์ฉ ๋ณด๋ด ๋ฐฐํฌ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ฆํฉ๋๋ค. Function ์ฌ์ฉ๋์์ ์ค์ ๋ก ์ค์ด๋ ์์น๋ง ์์ฐ์ ๋ฐ์ํฉ๋๋ค. CDN ์์ฒญ๊ณผ ์ ์ก๋์ ์ฅ๋ถ์ ๊ทธ๋๋ก ๋จ๊ฒจ ๋ก๋๋ค.
์ด์ ๋น์ฉ์ ์ํฅ์ ์ฃผ๋ ํ๋ซํผ ๋ณ๊ฒฝ์ ๋ ์ฝ๊ฒ ํ์ด ์ด ๊ธ๋ก ๋ฐ์๋ณด๊ณ ์ถ๋ค๋ฉด ๋ด์ค๋ ํฐ๋ฅผ ๊ตฌ๋ ํ์ธ์.
- ๊ฒ์์ผ
- ์นดํ ๊ณ ๋ฆฌ
- Explained
- ์ธ์ด







