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

728x90

๊ฐœ๋ฐœ๊ณต๋ถ€/AWS ๐Ÿ›ฐ๏ธ

(3)
AWS S3๋ฅผ ํ™œ์šฉํ•ด ํ”„๋กœ์ ํŠธ ๊ตฌํ˜„ : ์ƒํ’ˆ & ํ”„๋กœํ•„ ์„œ๋น„์Šค ์ด๋ฏธ์ง€ ์Šคํ† ๋ฆฌ์ง€๋กœ ํ™œ์šฉํ•˜๊ธฐ ๋„์ž… ์ทจ์ง€ ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€๋กœ ์‚ฌ์šฉํ•  ์„œ๋น„์Šค๋ฅผ ์ฐพ๋˜ ๋„์ค‘, ์ด๋ฏธ์ง€ ์Šคํ† ๋ฆฌ์ง€๋กœ ๋งŽ์ด ํ™œ์šฉํ•œ๋‹ค๋Š” AWS S3 ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์„ ๊ทผ๊ฑฐ๋กœ ๋„์ž…ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค ์žฅ์  ํ™•์žฅ์„ฑ: S3๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฑฐ์˜ ๋ฌด์ œํ•œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•˜๋‹ค. ๋ณด์•ˆ: S3๋Š” ์„œ๋ฒ„ ์ธก ์•”ํ˜ธํ™”, ACL(์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก) ๋ฐ ๋ฒ„ํ‚ท ์ •์ฑ…์„ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๋‹ค. ์‚ฌ์šฉ ์šฉ์ด์„ฑ: S3๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ  ๋‹ค๋ฅธ AWS ์„œ๋น„์Šค์™€ ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉ๋˜๋ฏ€๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ ํ•ฉํ•˜๋‹ค. ๊ตฌํ˜„ ๊ธฐ๊ฐ„ 02. 28 ~ 03. 03 ์‹คํ–‰ ํ™˜๊ฒฝ - Spring boot 3.02 - Java 17 - Gradle..
๊ฐ•์˜ ์ •๋ฆฌ : AWS ์‹ค๋ฌด ๊ธฐ์ดˆ (1) ์ถœ์ฒ˜ : ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ ๊ธฐ์กด์˜ ์›น ์„œ๋น„์Šค : ์šด์šฉ๋˜๊ณ  ์žˆ๋Š” IDC ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค ๋ฐฐํฌ AWS๊ฐ€ ์ด๋ฅผ ๋Œ€์ฒด๊ฐ€๋Šฅํ•˜๋‹ค ~ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ์™€ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ, IP ์—ฐ๊ฒฐ, ๋„๋ฉ”์ธ๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ์กด์˜ ๊ณผ์ •์„ ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ์„œ๋ฒ„์˜ ์šด์šฉ์ด ํƒ„๋ ฅ์ ์ด๋‹ค AWS์˜ IDC๋Š” ์„ธ๊ณ„ ๊ฐ ์ง€์—ญ์— ๋ถ„ํฌํ•˜๊ณ  ์žˆ๊ณ , ๊ฐ ์„ผํ„ฐ๊ฐ€ ๋ถ„ํฌํ•œ ๋‚˜๋ผ๋ฅผ ๋ฆฌ์ „, ๊ทธ ์ค‘์—์„œ๋„ ์„ผํ„ฐ๊ฐ€ ์œ„์น˜ํ•œ ์ง€์—ญ์„ ์กด์ด๋ผ๊ณ  ํ•œ๋‹ค. ์„œ๋น„์Šคํ•˜๋Š” ์ง€์—ญ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์กด์˜ IDC ์„ผํ„ฐ๋ฅผ ์ด์šฉํ•ด์•ผ ์†๋„๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋‚˜์˜จ๋‹ค. S3 ์ €์žฅ์†Œ ํ™œ์šฉํ•˜๊ธฐ 1) ๋ฒ„ํ‚ท ๋ฒ„ํ‚ท์€ S3์—์„œ ํŒŒ์ผ(๊ฐ์ฒด)์„ ์ €์žฅํ•˜๋Š” ํด๋” * ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ ์•ก์„ธ์Šค ์ฐจ๋‹จ ์„ค์ • : ๋ฒ„ํ‚ท์— ์ €์žฅํ•œ ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ - ํผ๋ธ”๋ฆญ ์—‘์„ธ์Šค : ๋ฒ„ํ‚ท์ด ์ƒ์„ฑ๋˜๋ฉด ๊ณ ์œ ํ•œ URL์ด ๋ถ€์—ฌ๋˜๊ณ , ์ด URL์„ ..
CI/ CD + Github Actions & AWS EC2 ์ถœ์ฒ˜ : ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ 1) CI(Continuous Integration) : ์ง€์†์  ํ†ตํ•ฉ ~ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ™์ด ๊ฐœ๋ฐœํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ถˆ์ผ์น˜ ์ตœ์†Œํ™” -> CI๋ฅผ ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฐ˜์˜ ์‹œ ์ž๋™์œผ๋กœ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋˜์–ด ์ž˜๋ชป๋œ ์ฝ”๋“œ๊ฐ€ ๊ณต์œ ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ ์ฝ”๋“œ์˜ ์‹ ๋ขฐ์„ฑ ์ฆ์ง„ 2) CD(Continuous Deployment) : ์ง€์†์  ๋ฐฐํฌ ~ ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์ž๋™์œผ๋กœ ๋ฐฐํฌ -> CD๋ฅผ ๊ตฌ์„ฑํ•ด๋‘๋ฉด ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐฐํฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํŒŒ์ดํ”„ ๋ผ์ธ์„ ๊ณต์œ ํ•˜์—ฌ ๋ฒˆ๊ฑฐ๋กœ์›€์„ ์—†์•จ ์ˆ˜ ์žˆ๋‹ค ๋ฐฐํฌ ํ”Œ๋กœ์šฐ์˜ ๋™๊ธฐํ™” Github Actions : ๊นƒํ—™์—์„œ ์ œ๊ณตํ•˜๋Š” CI/CD ํˆด +JAVA CI with Gradle : gradle.yml ์ˆ˜์ •ํ•˜๊ธฐ on : ์›Œํฌํ”Œ๋กœ์šฐ ์ˆ˜ํ–‰ํ•  ..

728x90