Full_Stack developer

AWS Elastic Beanstalk์„ ์ด์šฉํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ž๋™ํ™” ๋ณธ๋ฌธ

Devops/AWS

AWS Elastic Beanstalk์„ ์ด์šฉํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ž๋™ํ™”

develkbh 2025. 4. 9. 15:54


๐Ÿ“ฃ AWS Elastic Beanstalk์„ ์ด์šฉํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ž๋™ํ™”

๐Ÿงญ ์™œ AWS Elastic Beanstalk์ด ์ค‘์š”ํ•œ๊ฐ€?
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์€ ์šด์˜ ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AWS Elastic Beanstalk์€ ์„œ๋ฒ„ ๊ด€๋ฆฌ์˜ ๋ณต์žก์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” PaaS(Platform as a Service)์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ณ , AWS๋Š” ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๊ด€๋ฆฌํ•ด ์ค๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ AWS Elastic Beanstalk์„ ์ด์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


โœ… 1. AWS Elastic Beanstalk์˜ ์ฃผ์š” ํŠน์ง•

โ–ถ AWS Elastic Beanstalk์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™ ๋ฐฐํฌํ•˜๊ณ  ์ž๋™ ํ™•์žฅํ•˜๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

  • ์„œ๋ฒ„ ๊ด€๋ฆฌ ํ•„์š” ์—†์Œ: ์ž๋™์œผ๋กœ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ: ์›น ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋“ฑ์„ ๋ชจ๋‘ ์ž๋™์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ์Šค์ผ€์ผ๋ง: ์ž๋™์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ์ธํ”„๋ผ๋ฅผ ์ˆ˜ํ‰ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ง ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฉ 2. Elastic Beanstalk์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์„ค์ •ํ•˜๊ธฐ

โ–ถ ๋ฐฉ๋ฒ•: AWS Elastic Beanstalk์„ ์‚ฌ์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๋ ค๋ฉด ๋จผ์ € ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ณ  ๋ฐฐํฌํ•  ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ค€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1๋‹จ๊ณ„: Elastic Beanstalk ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ

  1. AWS ๊ด€๋ฆฌ ์ฝ˜์†”์—์„œ Elastic Beanstalk ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„๊ณผ ํ™˜๊ฒฝ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”Œ๋žซํผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: Node.js, Python, Java ๋“ฑ).
  4. ํ™˜๊ฒฝ ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: ์›น ์„œ๋ฒ„ ํ™˜๊ฒฝ).

2๋‹จ๊ณ„: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ

  • ๋ฐฐํฌํ•˜๋ ค๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ค€๋น„ํ•˜๊ณ , .zip ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์••์ถ•ํ•˜์—ฌ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • Elastic Beanstalk์€ ์ด๋ฅผ ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ , ์›น ์„œ๋ฒ„์™€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉ์ž ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๐Ÿ’ฌ 3. CI/CD ํŒŒ์ดํ”„๋ผ์ธ์— Elastic Beanstalk ํ†ตํ•ฉํ•˜๊ธฐ

โ–ถ ๋ฐฉ๋ฒ•: AWS Elastic Beanstalk์„ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์— ํ†ตํ•ฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, AWS CodePipeline์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Šค ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๋ฐฐํฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ ์˜ˆ์‹œ (AWS CodePipeline)

  1. ์†Œ์Šค ๋‹จ๊ณ„: GitHub ๋˜๋Š” CodeCommit์—์„œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  2. ๋นŒ๋“œ ๋‹จ๊ณ„: AWS CodeBuild๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฐฐํฌ ๋‹จ๊ณ„: AWS Elastic Beanstalk ํ™˜๊ฒฝ์— ๋นŒ๋“œ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

[yaml]

 

version: 0.2
phases:
  build:
    commands:
      - echo Build started on `date`
      - npm install
      - npm run build
artifacts:
  files:
    - '**/*'
    - '!node_modules/**'



โœจ ์‹ค์ „ ์˜ˆ: AWS Elastic Beanstalk๊ณผ CI/CD ์ž๋™ํ™”

  1. GitHub์— ์ฝ”๋“œ ํ‘ธ์‹œ
  2. AWS CodePipeline์—์„œ ์ž๋™์œผ๋กœ ๋ฐฐํฌ ์‹œ์ž‘
  3. Elastic Beanstalk์—์„œ ์ž๋™์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ
  4. ์ž๋™ ํ™•์žฅ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€์— ๋”ฐ๋ผ ์„œ๋ฒ„ ํ™•์žฅ

โœ… ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๊ฐ€ ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ž๋™ํ™”๋œ ํŒŒ์ดํ”„๋ผ์ธ ๋•๋ถ„์— ์ˆ˜๋™ ์ž‘์—…์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.


๐Ÿ” ๋งˆ๋ฌด๋ฆฌ

AWS Elastic Beanstalk์„ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ž๋™ํ™”๊ฐ€ ํ›จ์”ฌ ๊ฐ„๋‹จํ•ด์ง‘๋‹ˆ๋‹ค.
โœ”๏ธ ์„œ๋ฒ„ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š” ์—†์–ด์ง€๊ณ ,
โœ”๏ธ ์Šค์ผ€์ผ๋ง๊ณผ ์ž๋™ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ,
โœ”๏ธ CI/CD ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ํ†ตํ•ฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DevOps์™€ AWS์˜ ํž˜์„ ํ†ตํ•ด ๋” ๋‚˜์€ ์ž๋™ํ™” ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ณ , ๋ฐฐํฌ์˜ ํšจ์œจ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ๋†’์—ฌ๋ณด์„ธ์š”! ๐Ÿ˜Š