๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

AWS

(5)
AWS / ์„œ๋น„์Šค๋“ค ์ •๋ฆฌํ•˜๊ธฐ ์ผ๋‹จ ์ง€๊ธˆ ์‹ค์Šต์—์„œ ์‚ฌ์šฉํ•œ๊ฒŒ S3, CloudFront, IAM๋น„์šฉ ์ธก๋ฉด์—์„œ ๊ฑฑ์ •์ด ๋งŽ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋น„์Šค๋“ค์„ ์ •๋ฆฌํ•˜๋„๋กํ•œ๋‹ค... 1. S3๋ฒ„ํ‚ท๋“ค์— ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๊ทธ ํ›„ ๋ฒ„ํ‚ท์„ ์‚ญ์ œํ•œ๋‹ค 2. CloudFront๋จผ์ € ๋น„ํ™œ์„ฑํ™”๋ฅผ ํ•œ ํ›„, ๋น„ํ™œ์„ฑํ™”๊ฐ€ ๋˜๊ธฐ๊นŒ์ง€ ์ข€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ (๋‚˜๋Š” ์ข€ ์˜ค๋ž˜๊ฑธ๋ ธ๋‹ค... 5๋ถ„์ด์ƒ์€ ์žˆ์–ด์•ผ๋ ๋“ฏ) ์‚ญ์ œ ๋ฒ„ํŠผ์ด ํŒŒ๋ž€์ƒ‰ ํ…Œ๋‘๋ฆฌ๋กœ ํ™œ์„ฑํ™”๋˜๋ฉด ์‚ญ์ œํ•œ๋‹ค! 3. IAM๋น„ํ™œ์„ฑํ™”๋‚˜ ๋”ฐ๋กœ ๋” ์ œ๊ฑฐํ•ด์ค„๊ฑด ์—†๊ณ  ๋ณด์•ˆ์„ ์œ„ํ•ด ์•ˆ์“ฐ๋ฉด ๋ฐ”๋กœ๋ฐ”๋กœ ์‚ญ์ œํ•ด์ฃผ๊ธฐ *๋น„์šฉ ํ™•์ธํ•˜๊ธฐ์ƒ๋‹จ๋ฐ” ์šฐ์ธก์˜ ๋‚ด ์ด๋ฆ„ ํด๋ฆญ - ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์˜ ์ฒญ๊ตฌ์„œ ํด๋ฆญ ํ˜น์€ ์šฐ์ธก ํ•˜๋‹จ์—์žˆ๋Š” '์ฒญ๊ตฌ์„œ ๋ณด๊ธฐ'ํด๋ฆญ
AWS / CI/CD CI/CDContinuous Integration, Continuous Developmentํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ, ๋ฐฐํฌ์˜ ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธ / ์ถ”๊ฐ€ ์ž‘์„ฑ ํ›„ ์ปค๋ฐ‹, ๋ธŒ๋žœ์น˜์— Merge, ๋ฐฐํฌ, s3 ์ฝ”๋“œ ๋ณ€๊ฒฝ, ๋ฌดํšจํ™” ๋“ฑ...์˜ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณผ์ •์„ ์ž๋™ํ™”์‹œํ‚จ๋‹ค. => ์ฝ”๋“œ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ! CI/CD ๊ตฌ์ถ• ํˆด ์ข…๋ฅ˜Github ActionsJenkinsCircle CITravis CI Jenkins ์ž์ฒด๋Š” ๋งŽ์ด ์“ฐ์ด์ง€๋งŒ, ๋ณ„๋„ ์„œ๋ฒ„์— ๊ตฌ์ถ•์„ ํ•ด์•ผํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.๋ฐ˜๋ฉด Github Actions๋Š” ๋ณ„๋„์˜ ์„œ๋ฒ„ ๊ตฌ์ถ• ์—†์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋น„์šฉ์ ์ธ ์ธก๋ฉด์œผ๋กœ๋‚˜ ์„œ๋ฒ„ ์…‹ํŒ…์ด ํ•„์š”์—†๋‹ค Github Actions๊นƒํ—ˆ๋ธŒ์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” CI/CD ํˆด๋กœ, ๋นŒ๋“œ-ํ…Œ์ŠคํŠธ-๋ฐฐํฌ ๋กœ์ง..
AWS / ๋„๋ฉ”์ธ, HTTPS ์„ค์ • ๋„๋ฉ”์ธ(Domain)ํŠน์ • ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ์˜ ์—ญํ•  DNS(Domain Name System)๋ฌธ์ž๋ฅผ IP ์ฃผ์†Œ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์‹œ์Šคํ…œIP์ฃผ์†Œ๋Š” ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด ๋ณต์žกํ•จ=> ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„(์˜ˆ: www.amazon.com )์„ ๋จธ์‹ ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” IP ์ฃผ์†Œ(์˜ˆ: 192.0.2.44)๋กœ ๋ณ€ํ™˜ => ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด๋„ ์›ํ•˜๋Š” ์›น์‚ฌ์ดํŠธ ์ด๋™์ด ๊ฐ€๋Šฅ Route53 ๋„๋ฉ”์ธ์„ ๋ฐœ๊ธ‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” AWS์˜ DNS ์„œ๋น„์Šค (์œ ๋ฃŒ)๊ทธ ์™ธ์—๋„ ๊ฐ€๋น„์•„, ํ›„์ด์ฆˆ ๋“ฑ์—์„œ๋„ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค ์‹ค์Šต Route53์€ ์œ ๋ฃŒ๋ผ์„œ ๋‚ด๋„๋ฉ”์ธํ•œ๊ตญ ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•ด๋ณผ ๊ฒƒ์ด๋‹ค.๋กœ๊ทธ์ธ์„ ํ•ด์•ผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ํšŒ์›๊ฐ€์ž…์€ ํ•ด์•ผํ•œ๋‹ค .. 1) ๋„๋ฉ”์ธ ์ƒ์„ฑ๋กœ๊ทธ์ธ๊นŒ์ง€ ํ–ˆ์œผ๋ฉด ์ด์ œ ๋‚ด๊ฐ€ ๋“ฑ๋กํ•˜๊ณ  ..
AWS / S3, Cloudfront๋ฅผ ํ™œ์šฉํ•ด ๋ฐฐํฌํ•˜๊ธฐ 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์˜ ์ •์ , ๋™์  ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ์›นํŽ˜์ด์ง€..
AWS / ๊ธฐ์ดˆ ๋ฐฐํฌํŠน์ • IP๋‚˜ ๋„๋ฉ”์ธ ๊ฐ™์€ ๊ณ ์œ ์˜ ์ฃผ์†Œ๋ฅผ ๋ถ€์—ฌ๋ฐ›์•„ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ๋„ ๊ทธ ์ฃผ์†Œ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Œ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์ด ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ AWSAmazon Web Services, ์•„๋งˆ์กด์˜ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค S3AWS์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ ์„œ๋น„์ŠคํŒŒ์ผ ์ €์žฅ ๋ฐ ๋‹ค์šด๋กœ๋“œ : ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ, icloud์™€ ๊ฐ™์€ ์„œ๋น„์Šค์™€ ๋น„์Šทํ•จ์›น ํ˜ธ์ŠคํŒ… ๊ธฐ๋Šฅ : s3๋ฅผ ํ†ตํ•ด์„œ ์›นํŽ˜์ด์ง€๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Œ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ html, css, js ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋“ฑ์„ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— s3์„ ์ด์šฉ ๋ฒ„ํ‚ทs3์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ๋ฒ„ํ‚ท์— ์ €์žฅ๋จs3์—์„œ๋„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ ⇒ ๊ทธ์ค‘ ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ๋ฅผ ๋ฒ„ํ‚ท์ด๋ผ๊ณ  ํ•จ* ๊ฐ์ฒด : s3์˜ ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์„ ์˜๋ฏธ ์‹ค์ŠตS3์—์„œ ๋ฒ„ํ‚ท ์…‹ํŒ… ๋ฐ ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œํ•˜๋Š” ๊ฐ„..