NestJS ๋ฐฑ์—”๋“œ์™€ EC2 ์ธ์Šคํ„ด์Šค๋กœ ๊ฐœ์ธ ์‚ฌ์ดํŠธ์— RDS ์—ฐ๊ฒฐํ•˜๊ธฐ
ยท
Project/crohasang_page
์ง€๋‚œ ์ฃผ, ๋‚˜๋Š” ๊ฐœ์ธ ์‚ฌ์ดํŠธ์— ๊ฒŒ์‹œ๊ธ€์„ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด MySQL RDS๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Next.js์—์„œ ๋ผ์šฐํŒ…์„ ์„ค์ •ํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ Vercel์€ ๊ณ ์ • IP๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•„ RDS์˜ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์„ ์„ค์ •ํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ , ๊ฒฐ๊ตญ ํ˜„์žฌ ๊ตฌ์กฐ๋กœ๋Š” RDS์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. (์ด์ „ ์ž‘์„ฑ ๊ธ€: https://quickchabun.tistory.com/191 ) ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด Vercel๋กœ ๋ฐฐํฌํ•˜๋ฉด์„œ RDS์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์„๊นŒ?Vercel์˜ Static IP ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•ด์„œ ๊ณ ์ • IP๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. (๊ตฌ๋งค ํ•„์š”)AWS Lambda๋ฅผ VPC ๋‚ด๋ถ€ DB ํ”„๋ก์‹œ๋กœ ๋‘๊ณ  HTTP๋กœ ํ˜ธ์ถœํ•œ๋‹ค.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ AWS RDS์—์„œ ๊ณ ์ • IP ์—†์ด ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•œ๋‹ค.์–ด๋–ค ๋ฐฉ๋ฒ•์„ ์“ธ..
Next.js + MySQL์„ ํ™œ์šฉํ•ด์„œ ๊ฐœ์ธ ์›น ์‚ฌ์ดํŠธ์— ๊ธ€ ํฌ์ŠคํŒ…ํ•˜๊ธฐ
ยท
Project/crohasang_page
1. ๊ฐœ์ธ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋‹ค์‹œ ๋””์ž์ธํ•ด๋ณด์ž๊ธฐ์กด ์›น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋ฉด ๋งจ ์ฒ˜์Œ์— ๋‚ด ์‚ฌ์ง„๊ณผ ์ž๊ธฐ์†Œ๊ฐœ๊ฐ€ ๋œฌ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ์™€ ๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ๋…ธ๋ž˜๋“ค์„ ์†Œ๊ฐœํ•˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ๋‹ค. ์‚ฌ์ดํŠธ๋ฅผ ๋‘˜๋Ÿฌ๋ณด๋‹ค๊ฐ€, ๋ฌธ๋“ ์ „๋ถ€ ๊ฐˆ์•„์—Ž์–ด์•ผ๊ฒ ๋‹ค๋Š” ๋‹ค์ง์„ ํ–ˆ๋‹ค. ์ผ๋‹จ ๋ฌด์—‡๋ณด๋‹ค ์ฒ˜์Œ์— ๋“ค์–ด๊ฐ€์ž๋งˆ์ž ๋‚ด ์‚ฌ์ง„์ด ๋œจ๋Š”๊ฒŒ ์ข€ ๋ถ€๋‹ด์Šค๋Ÿฌ์› ๊ณ , ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ฆฐ ๊ธ€์„ ๊ฐœ์ธ ์‚ฌ์ดํŠธ์—๋„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋“ค์„ HTML์— ํ•˜๋“œ์ฝ”๋”ฉํ•ด์„œ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•ด์„œ API๋ฅผ ํ†ตํ•ด์„œ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์—ˆ๋‹ค. ๋‚˜๋Š” ๊ฐœ์ธ ์›น ์‚ฌ์ดํŠธ๋ฅผ Next.js๋ฅผ ํ™œ์šฉํ•ด์„œ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์™€ SSG๋ฅผ ํ™œ์šฉํ•˜๊ธด ํ–ˆ์ง€๋งŒ Next.js์˜ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•œ data fetching์€ ํ™œ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฒˆ ๊ธฐํšŒ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ data fet..