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

๐Ÿ›  Infrastructure/--- AWS9

Github Action ๊ณผ Elastic Beanstalk ๋กœ ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ - Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” 3๊ฐœ์˜ ๊ธ€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์˜ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š” 1ํŽธ Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ 2ํŽธ Elastic Beanstalk ์ƒ์„ฑํ•˜๊ธฐ 3ํŽธ Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์˜ ์‹ค์Šต ์ฝ”๋“œ ๋ฐ github repository ์ง€๋‚œ ์‹œ๊ฐ„... ์ง€๋‚œ ์‹œ๊ฐ„ ์šฐ๋ฆฌ๋Š” Spring Boot ๋ฅผ ์ด์šฉํ•ด์„œ Application ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ–ˆ๊ณ  Elastic Beanstalk ๋ฅผ ์ƒ์„ฑ ํ–ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Github Actions ๋ฅผ ์ด์šฉํ•˜์—ฌ Master branch ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐฐํฌ ์ž๋™ํ™”์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. Github Actions ์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํžˆ Github Actions ๋Š” ๊นƒํ—ˆ๋ธŒ์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” workflow ์ž.. 2022. 1. 23.
Github Action ๊ณผ Elastic Beanstalk ๋กœ ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ - EB ์ƒ์„ฑํ•˜๊ธฐ ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” 3๊ฐœ์˜ ๊ธ€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์˜ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š” 1ํŽธ Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ 2ํŽธ Elastic Beanstalk ์ƒ์„ฑํ•˜๊ธฐ 3ํŽธ Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์˜ ์‹ค์Šต ์ฝ”๋“œ ๋ฐ github repository ์ง€๋‚œ ์‹œ๊ฐ„... ์ง€๋‚œ ์‹œ๊ฐ„ ์šฐ๋ฆฌ๋Š” Spring Boot ๋ฅผ ์ด์šฉํ•ด์„œ Application ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ–ˆ๊ณ  github ์— push ํ•˜๋Š” ์ž‘์—…๊นŒ์ง€ ๋งˆ์ณค๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Elastic Beanstalk ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ  ์‹ค์ œ๋กœ ์ƒ์„ฑ์„ ํ•ด๋ณด๋„๋ก ํ•˜์ž. Elastic Beanstalk ์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํžˆ Elastic Beanstalk ์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ •์˜ํ•ด๋ณด์ž. Elastic Beanstalk ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” .. 2022. 1. 23.
Github Action ๊ณผ Elastic Beanstalk ๋กœ ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ - Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” 3๊ฐœ์˜ ๊ธ€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์˜ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š” 1ํŽธ Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ 2ํŽธ Elastic Beanstalk ์ƒ์„ฑํ•˜๊ธฐ 3ํŽธ Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์˜ ์‹ค์Šต ์ฝ”๋“œ ๋ฐ github repository ๋™๊ธฐ ์ตœ๊ทผ ์‚ฌ๋‚ด์—์„œ ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ์„œ๋ฒ„๋ฅผ EB ์™€ Github Action ์„ ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌ ์ž๋™ํ™” ๊ตฌ์„ฑ์„ ํ•˜๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒผ์—ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ํ•ด๋ดค๋˜ CI/CD, ๋ฐฐํฌ ์ž๋™ํ™”๋Š” ๋‹ค์Œ 2๊ฐœ์ด๋‹ค. Travis CI + CodeDeploy EC2 + Jenkins ์ฒ˜์Œ ์ž๋™ํ™”์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•  ๋•Œ Elastic Beanstalk ์— ๋Œ€ํ•œ ํ›„๊ธฐ๋Š” ๊ฑฐ์˜ ๋ชป๋ณด๋‹ค ์‹ถ์ด ํ–ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” EB ์™€ Github Action ์— ๋Œ€ํ•œ ์„ฑ๊ณต ์ผ€์ด์Šค๊ฐ€ ๋งŽ์•„.. 2022. 1. 23.
[AWS CodeDeploy] EC2์— Travis ๊ฐ€ ์ ‘๊ทผํ•  IAM ์ •์ฑ… ์ถ”๊ฐ€ํ•˜๊ณ  CodeDeploy Agent ์„ค์น˜ ๋ฐ ์„ค์ • ์ด์ œ ๋“œ๋””์–ด EC2์— ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  IAM ์ •์ฑ…์„ ์ ์šฉ์‹œํ‚ฌ ๋‹จ๊ณ„์ด๋‹ค. ์ˆœ์„œ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. EC2 ์—ญํ•  ์ถ”๊ฐ€. EC2 ์ธ์Šคํ„ด์Šค ์ ‘์† Travis์˜ IAM ๋กœ๊ทธ์ธ AWS CodeDeploy Agent ์‹คํ–‰ ์šฐ์„  EC2 ํƒญ์œผ๋กœ ๊ฐ€์„œ EC2 ์—ญํ•  ์ถ”๊ฐ€ EC2์— ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ์กด์— ๋งŒ๋“ค์—ˆ๋˜ IAM์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์—ญํ•  ์ˆ˜์ • ํด๋ฆญํ•˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  EC2 ์ „์šฉ IAM์„ ์ถ”๊ฐ€์‹œํ‚ค์ž ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋†“์€ ์—ญํ•  ์ถ”๊ฐ€ ํ›„ ์ €์žฅํ•œ๋‹ค. C2 ์ธ์Šคํ„ด์Šค ์ ‘์† ๊ทธ๋ฆฌ๊ณ  ssh ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ„ฐ๋ฏธ๋„์—์„œ EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•ด๋ณด์ž. Travis์˜ IAM ๋กœ๊ทธ์ธ Travis๊ฐ€ ์ ‘๊ทผํ•  CodeDeploy์™€ S3 ์ •์ฑ…์„ ๊ฐ–๊ณ  ์žˆ๋Š” IAM ๊ณ„์ •์„ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ์ˆ˜ํ–‰ํ•ด์•ผ๋˜๋Š”๋ฐ, ์šฐ์„  AWSCLI๋ฅผ ์ถ”๊ฐ€์‹œ์ผœ๋ณด์ž. Ubuntu sudo apt-get.. 2020. 12. 6.