Vite๋ก ํ๋ก์ ํธ ๋ฐฐํฌ
1. Vite๋ก ํ๋ก์ ํธ ์์ฑ
npm create vite@latest 250527-vite -- --template react
2. ๋น๋ํ๊ธฐ
npm run build
๋น๋ํด ์์ฑ๋ dist ํด๋๋ฅผ ๊ฐ์ฒด๋ก ์ ๋ก๋ํ ๊ฒ์ด๋ค
3. ๋ฒํท ์ ๋ก๋
๊ธฐ์กด ๊ฐ์ฒด๋ ์ญ์ ํ๊ณ dist ํด๋ ๋ด ํ์ผ๋ค์ ๋๋๊ทธํด ์ ๋ก๋ํ๋ค.
์ ๋ก๋ ํ ์์ฑํญ์ ๋งจ ์๋ ์น์ฌ์ดํธ ์๋ํฌ์ธํธ๋ก ๋ค์ด๊ฐ๋ณด๋ฉด ๋ฐ๋ ํ์ผ๋ค๋ก ์ ๋ฐฐํฌ๋์ด์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค!
Next ํ๋ก์ ํธ ๋ฐฐํฌ
1. ํ๋ก์ ํธ ์์ฑ
npx create-next-app@latest
์ดํ ๋์ค๋ prompt๋ ๋ญ ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ๊ณ ์ ํ๋๊ฒ ์๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ๊ธฐ๋ณธ์ค์ ๋๋ก ์ฒดํฌํ๊ณ ๋์ด๊ฐ๋ค
2. ๋น๋ํ๊ธฐ
NextJS์ ์ ์ , ๋์ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์นํ์ด์ง๋ฅผ ๋ฐฐํฌํ ์ ์๋ค
1) ์ ์ (static) ๋ฐฉ์
- ํ์ด์ง๊ฐ ๋น๋ ํ์์ ๋ฏธ๋ฆฌ ์์ฑ๋์ด HTML๋ก ๋ฐฐํฌ๋จ
- S3 + CloudFront ๊ฐ์ ์ ์ ํธ์คํ ํ๊ฒฝ์ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค
- + CRA, Vite๋ก ๋ง๋ ํ๋ก์ ํธ๋ ๋ชจ๋ ์ ์ ์ธ ์นํ์ด์ง
2) ๋์ (dynamic) ๋ฐฉ์
- ํ์ด์ง ์์ฒญ ์ ๋์ ์ผ๋ก ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๋ฉด์ html ํ์ผ์ ์์ฑ
- ๋์ ๋ฐฉ๋ฒ์ผ๋ก๋ s3์ผ๋ก ๋ฐฐํฌ๊ฐ ๋ถ๊ฐ๋ฅํจ (vercel, node.js๊ฐ์ ๋ณ๋์ ์๋ฒ ํ๊ฒฝ์ด ํ์)
์ฆ ์ ์ ์ธ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๋ค
next.config.mjs
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'export',
};
export default nextConfig;
๊ทธ๋ฆฌ๊ณ ํฐ๋ฏธ๋์ ๋น๋ ๋ช ๋ น์ด ์ ๋ ฅ
npm run build
์ด์ outํด๋ ๋ด์ ํ์ผ๋ค์ ๋ฒํท์ ์ ๋ก๋ํ๋ฉด ๋๋ค
3. ๋ฒํท ์ ๋ก๋
์์ ๊ฐ์ผ๋ ์๋ต
CloudFront
CDN
- Content Delivery Network์ ์ฝ์ด
- Edge Location(์ ์ธ๊ณ ๊ณณ๊ณณ์ ์ปจํ ์ธ ์ ๋ณต์ฌ๋ณธ์ ์ ์ฅํด๋์ ์ ์๋ ์์ ์ ์ฅ์)๋ฅผ ๊ตฌ์ถํ๋ ์๋น์ค๋ก, ํด๋น ์ปจํ ์ธ ์ ๋ํ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์บ์ฑํด๋ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ์
CloudFront
- ์ปจํ ์ธ ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์กํ๊ฒ ํด์ฃผ๋ ์๋น์ค
- ๊ธฐ๋ณธ ๋ณด์ ๊ธฐ๋ฅ๋ ์ ๊ณตํจ
CloudFront์ ์๋ ๊ณผ์
- s3์๋ ์ปจํ ์ธ ๊ฐ ์ ์ฅ๋์ด์์
- ์ฌ์ฉ์ ์์ฒญ ๋ฐ์
- Edge Location ํ์ธ
- CloudFront๋ ์ฌ์ฉ์์ ๊ฐ์ฅ ๊ฐ๊น์ด Edge Location์ ์์ฒญํด ์ปจํ ์ธ ๋ฅผ ๋ฐ์์ด ⇒ ์๋๊ฐ ๋นจ๋ผ์ง
CloudFront๋ฅผ ์ฌ์ฉํ์์ ๋์ ์ด์
- ์ปจํ ์ธ ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ ์กํ ์ ์์
- ๊ธฐ์กด s3์๋ HTTPS๋ฅผ ์ ์ฉ์ํค๋ ๊ธฐ๋ฅ์ด ์์ ⇒ CloudFront๋ฅผ ์ฌ์ฉํด ๋ณด์์ ๋ ๊ฐํํ ์ ์์
CloudFront๋ฅผ ์ฌ์ฉํ ์ํคํ ์ณ ๊ตฌ์ฑ
[์ฌ์ฉ์] ⇒ [CloudFront] ⇒ [S3]
์ค์ต
cloudFront ์๋น์ค ํ์ด์ง : https://us-east-1.console.aws.amazon.com/cloudfront/v4/home?region=ap-northeast-2#/welcome
1. ๋ฐฐํฌ ์์ฑ
์ ์ฌ์ดํธ๋ก ๋ค์ด๊ฐ์ CloudFront ๋ฐฐํฌ ์์ฑ ๋ฒํผ ํด๋ฆญ
origin domain์์ ์์ฑํ ๋ฒํท ์ ํ ํ '์น ์ฌ์ดํธ ์๋ํฌ์ธํธ ์ฌ์ฉ' ํด๋ฆญ
๋๋จธ์ง๋ ๋ชจ๋ ๊ธฐ๋ณธ์ค์ ...
๊ธฐ๋ณธ ์บ์ ๋์์์ '๋ทฐ์ด ํ๋กํ ์ฝ ์ ์ฑ '์์ Redirect HTTP to HTTPS๋ก ์ฒดํฌ(* HTTP๋ก ์์ฒญํด๋ HTTPS๋ก ๋ฐ๊ฟ ์๋ตํ๋ ์ ์ฑ )
์ค์ต์ด๋๊น ๊ฐ๊ฒฉ ๋ถ๋ฅ๋ฅผ ์์์์์ ์ฌ์ฉ ์ฒดํฌ
๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ณธ๊ฐ ๋ฃจํธ ๊ฐ์ฒด๋ก index.html ์์ฑ ํ ๋ฐฐํฌ ์์ฑ ํด๋ฆญ
๋ฐฐํฌ๊ฐ ์๋ฃ๋๋ฉด ์ด์ ๋๋ฉ์ธ์ ๋ฐ๊ธ๋ฐ๋๋ฐ,
๋ฐฐํฌ๋ ์ฌ์ดํธ๋ฅผ ํ์ธํ๋ ค๋ฉด 2~3๋ถ ์ ๋๋ ๊ฑธ๋ฆฐ๋ค๊ณ ํ๋ค...
์๋ฌดํผ ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ฐฐํฌ ๋๋ฉ์ธ ์ด๋ฆ์ ๋ณต์ฌํด ํ์ด์ง๋ฅผ ์ด์ด๋ณด๋ฉด ์ฐ์ธก ์ด๋ฏธ์ง์ฒ๋ผ ์ ๋ฐฐํฌ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
'AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AWS / ์๋น์ค๋ค ์ ๋ฆฌํ๊ธฐ (0) | 2025.05.29 |
---|---|
AWS / CI/CD (1) | 2025.05.29 |
AWS / ๋๋ฉ์ธ, HTTPS ์ค์ (0) | 2025.05.28 |
AWS / ๊ธฐ์ด (0) | 2025.05.26 |