AWS

GreenBeanΒ·2022λ…„ 3μ›” 15일
0
post-thumbnail

AWS Elastic Beanstalk

AWS Elastic Beanstalkλž€?

  • Amazon Web Services(AWS)λŠ” 100개 μ΄μƒμ˜ μ„œλΉ„μŠ€λ‘œ κ΅¬μ„±λ˜μ–΄ 있으며 각 μ„œλΉ„μŠ€λŠ” κΈ°λŠ₯ μ˜μ—­μ„ λ‚˜νƒ€λƒ„
    • λ‹€μ–‘ν•œ μ„œλΉ„μŠ€λŠ” AWS 인프라 관리 λ°©λ²•μ˜ μœ μ—°μ„±μ„ μ œκ³΅ν•˜λŠ” λ°˜λ©΄μ— μ–΄λ–€ μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜κ³  ν•΄λ‹Ή μ„œλΉ„μŠ€λ₯Ό ν”„λ‘œλΉ„μ €λ‹ν•˜λŠ” 방법을 νŒŒμ•…ν•˜λŠ” 것이 κΉŒλ‹€λ‘œμšΈ 수 있음
  • Elastic Beanstalkλ₯Ό μ‚¬μš©ν•˜λ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λŠ” 인프라에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ§€ λͺ»ν•΄λ„ AWS ν΄λΌμš°λ“œμ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹ μ†ν•˜κ²Œ λ°°ν¬ν•˜κ³  관리할 수 있음
    • Elastic Beanstalkλ₯Ό μ‚¬μš©ν•˜λ©΄ 선택 λ˜λŠ” μ œμ–΄μ— λŒ€ν•œ μ œν•œ 없이 관리 λ³΅μž‘μ„±μ„ 쀄일 수 있음
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ—…λ‘œλ“œν•˜κΈ°λ§Œ ν•˜λ©΄ Elastic Beanstalkμ—μ„œ μš©λŸ‰ ν”„λ‘œλΉ„μ €λ‹, λ‘œλ“œ λ°ΈλŸ°μ‹±, μ‘°μ •, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μƒνƒœ λͺ¨λ‹ˆν„°λ§μ— λŒ€ν•œ μ„ΈλΆ€ 정보λ₯Ό μžλ™μœΌλ‘œ 처리
  • Elastic BeanstalkλŠ” Go, Java, .NET, Node.js, PHP, Python 및 Rubyμ—μ„œ 개발된 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 지원
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 배포할 λ•Œ, Elastic Beanstalkκ°€ μ„ νƒλœ 지원 κ°€λŠ₯ ν”Œλž«νΌ 버전을 κ΅¬μΆ•ν•˜κ³  Amazon EC2 λ“±μ˜ AWS λ¦¬μ†ŒμŠ€λ₯Ό ν•˜λ‚˜ 이상 ν”„λ‘œλΉ„μ €λ‹ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰
  • Elastic Beanstalk μ½˜μ†”, AWS Command Line Interface(AWS CLI) λ˜λŠ” eb(Elastic Beanstalkλ₯Ό μœ„ν•΄ νŠΉλ³„νžˆ μ„€κ³„λœ κ³ κΈ‰ CLI)λ₯Ό μ‚¬μš©ν•˜μ—¬ Elastic Beanstalk와 μƒν˜Έ μž‘μš©ν•  수 있음
    • λ˜ν•œ Elastic Beanstalk μ›Ή μΈν„°νŽ˜μ΄μŠ€(μ½˜μ†”)μ—μ„œ 직접 Amazon EC2 μΈμŠ€ν„΄μŠ€μ˜ ν”Œλ¦Ώ 크기 λ³€κ²½ λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λͺ¨λ‹ˆν„°λ§ λ“±κ³Ό 같은 λŒ€λΆ€λΆ„μ˜ 배포 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 있음
  • Elastic Beanstalkλ₯Ό μ‚¬μš©ν•˜λ €λ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μƒμ„±ν•˜κ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ†ŒμŠ€ λ²ˆλ“€μ˜ ν˜•νƒœ(예: Java .war 파일)둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 Elastic Beanstalk에 μ—…λ‘œλ“œν•˜κ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λŒ€ν•œ λͺ‡ 가지 정보λ₯Ό 제곡
    • Elastic Beanstalkκ°€ μžλ™μœΌλ‘œ ν™˜κ²½μ„ μ‹€ν–‰ν•˜κ³  μ½”λ“œ 싀행에 ν•„μš”ν•œ AWS λ¦¬μ†ŒμŠ€λ₯Ό 생성 및 ꡬ성
    • ν™˜κ²½ μ‹€ν–‰ ν›„μ—λŠ” ν™˜κ²½μ„ 직접 κ΄€λ¦¬ν•˜κ³  μƒˆλ‘œμš΄ μ•± 버전을 배포할 수 있음
    • λ‹€μŒ λ‹€μ΄μ–΄κ·Έλž¨μ€ Elastic Beanstalk의 μ›Œν¬ν”Œλ‘œμš°λ₯Ό λ³΄μ—¬μ€Œ

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 생성 및 λ°°ν¬ν•œ ν›„μ—λŠ” μ§€ν‘œ, 이벀트, ν™˜κ²½ μƒνƒœ λ“±μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 정보λ₯Ό Elastic Beanstalk μ½˜μ†”, API λ˜λŠ” ν†΅ν•©λœ AWS CLIλ₯Ό λΉ„λ‘―ν•œ λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 확인할 수 있음

Tip! μΆ”μ²œ 링크
μƒν™œμ½”λ”©: AWS Elastic Beanstalk

μΆ”κ°€ 정리

  • Elastic Beanstalk
    • 도컀 μ»¨ν…Œμ΄λ„ˆλ₯Ό 기반으둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‰½κ²Œ 배포할 수 있고 운영 및 관리λ₯Ό μ§€μ›ν•˜λŠ” AWS μ„œλΉ„μŠ€
    • λ³„λ„μ˜ μ„œλΉ„μŠ€ μ‚¬μš©λ£ŒλŠ” μ—†κ³  μ‚¬μš©ν•œ AWS λ¦¬μ†ŒμŠ€λ§ŒνΌ λΉ„μš©μ΄ 과금됨
    • μ•Œμ•„μ„œ EC2 μΈμŠ€ν„΄μŠ€ μœ ν˜•μ„ λ³€κ²½ν•˜κ³  μ˜€ν†  μŠ€μΌ€μΌλ§μœΌλ‘œ EC2 μΈμŠ€ν„΄μŠ€λ₯Ό 늘리고 ELB λ‘œλ“œ λ°ΈλŸ°μ‹±μ„ 톡해 λΆ€ν•˜λ₯Ό λΆ„μ‚°ν•˜λ©° μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ°°ν¬κΉŒμ§€ μžλ™μœΌλ‘œ ν•΄μ£Όλ©° 개발자의 λ²ˆκ±°λ‘œμ›€μ„ μ€„μ—¬μ€Œ
    • μ „λ¬Έ IT 관리 인λ ₯을 κ³ μ •μ μœΌλ‘œ μš΄μ˜ν•  수 μ—†λŠ” 쑰직 λ˜λŠ” μŠ€νƒ€νŠΈμ—…κ³Ό 같은 μž‘μ€ μ‘°μ§μ—μ„œ 유용
  • ν•œλ§ˆλ””λ‘œ Elastic Beanstalk은 ν”„λ‘œλΉ„μ €λ‹μ˜ 결정체
    • μΈμŠ€ν„΄μŠ€(EC2) 및 OS μ„€μΉ˜
    • μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ†Œν”„νŠΈμ›¨μ–΄ ꡬ성
    • μ˜€ν†  μŠ€μΌ€μΌλ§ ꡬ성
    • λ‘œλ“œ λ°ΈλŸ°μ„œ ꡬ성
    • μ—…λ°μ΄νŠΈ 배포 및 버전 관리
    • λͺ¨λ‹ˆν„°λ§ 관리 μ„€μ •

Tip! ν”„λ‘œλΉ„μ €λ‹μ΄λž€?

  • ν”„λ‘œλΉ„μ €λ‹(provisioning)은 μ‚¬μš©μžμ˜ μš”κ΅¬μ— 맞게 μ‹œμŠ€ν…œ μžμ›μ„ ν• λ‹Ή, 배치, 배포해 λ‘μ—ˆλ‹€κ°€ ν•„μš” μ‹œ μ‹œμŠ€ν…œμ„ μ¦‰μ‹œ μ‚¬μš©ν•  수 μžˆλŠ” μƒνƒœλ‘œ 미리 μ€€λΉ„ν•΄ λ‘λŠ” 것을 말함

Elastic Beanstalk κ°œλ…

μ• ν”Œλ¦¬μΌ€μ΄μ…˜

  • Elastic Beanstalk μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ ν™˜κ²½, 버전 및 ν™˜κ²½ ꡬ성을 ν¬ν•¨ν•œ Elastic Beanstalk ꡬ성 μš”μ†Œμ˜ 논리적 μ»¬λ ‰μ…˜
    • Elastic Beanstalkμ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ κ°œλ…μ μœΌλ‘œ 폴더와 μœ μ‚¬

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전

  • Elastic Beanstalkμ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전은 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 배포 κ°€λŠ₯ν•œ μ½”λ“œμ˜ λ ˆμ΄λΈ” μ§€μ •λœ νŠΉμ • λ°˜λ³΅μ„ λ‚˜νƒ€λƒ„
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전은 Java WAR 파일 λ“±μ˜ 배포 κ°€λŠ₯ν•œ μ½”λ“œκ°€ ν¬ν•¨λœ Amazon Simple Storage Service(Amazon S3) 객체λ₯Ό 가리킴
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 일뢀
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—λŠ” λ§Žμ€ 버전이 μžˆμ„ 수 있고, 각 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전은 κ³ μœ ν•¨
    • μ‹€ν–‰ 쀑인 ν™˜κ²½μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 이미 μ—…λ‘œλ“œν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 λ°°ν¬ν•˜κ±°λ‚˜ μƒˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 μ—…λ‘œλ“œν•˜κ³  μ¦‰μ‹œ 배포할 수 있음
    • μ—¬λŸ¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 μ—…λ‘œλ“œν•˜μ—¬ ν•œ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전과 λ‹€λ₯Έ 버전 κ°„μ˜ 차이λ₯Ό ν…ŒμŠ€νŠΈν•  수 있음

ν™˜κ²½

  • ν™˜κ²½μ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 μ‹€ν–‰ 쀑인 AWS λ¦¬μ†ŒμŠ€ λͺ¨μŒ
    • 각 ν™˜κ²½μ€ ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ²„μ „λ§Œ μ‹€ν–‰ν•˜μ§€λ§Œ μ—¬λŸ¬ ν™˜κ²½μ—μ„œ λ™μΌν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전 λ˜λŠ” μ„œλ‘œ λ‹€λ₯Έ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 λ™μ‹œμ— μ‹€ν–‰ν•  수 있음
    • ν™˜κ²½μ„ μƒμ„±ν•˜λ©΄ Elastic Beanstalkμ—μ„œ μ‚¬μš©μžκ°€ μ§€μ •ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 μ‹€ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ λ¦¬μ†ŒμŠ€λ₯Ό ν”„λ‘œλΉ„μ €λ‹ν•¨

ν™˜κ²½ ν‹°μ–΄

  • Elastic Beanstalk ν™˜κ²½μ„ μ‹œμž‘ν•  λ•Œ λ¨Όμ € ν™˜κ²½ ν‹°μ–΄λ₯Ό 선택
    • ν™˜κ²½ ν‹°μ–΄λŠ” ν™˜κ²½μ—μ„œ μ‹€ν–‰ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μœ ν˜•μ„ μ§€μ •ν•˜κ³  Elastic Beanstalkμ—μ„œ μ΄λŸ¬ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ§€μ›ν•˜κΈ° μœ„ν•΄ ν”„λ‘œλΉ„μ €λ‹ν•˜λŠ” λ¦¬μ†ŒμŠ€λ₯Ό κ²°μ •
    • HTTP μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ›Ή μ„œλ²„ ν™˜κ²½ ν‹°μ–΄μ—μ„œ 싀행됨
    • Amazon Simple Queue Service(Amazon SQS) λŒ€κΈ°μ—΄μ—μ„œ μž‘μ—…μ„ κ°€μ Έμ˜€λŠ” λ°±μ—”λ“œ ν™˜κ²½μ€ μž‘μ—…μž ν™˜κ²½ ν‹°μ–΄μ—μ„œ 싀행됨

ν™˜κ²½ ꡬ성

  • ν™˜κ²½ ꡬ성은 ν™˜κ²½ 및 μ—°κ΄€λœ λ¦¬μ†ŒμŠ€μ˜ μž‘λ™ 방법을 μ •μ˜ν•˜λŠ” νŒŒλΌλ―Έν„° 및 μ„€μ •μ˜ λͺ¨μŒμ„ 식별
    • ν™˜κ²½μ˜ ꡬ성 섀정을 μ—…λ°μ΄νŠΈν•˜λ©΄ Elastic Beanstalkκ°€ μžλ™μœΌλ‘œ κΈ°μ‘΄ λ¦¬μ†ŒμŠ€μ— λ³€κ²½ 사항을 μ μš©ν•˜κ±°λ‚˜, μ‚­μ œν•˜κ³  μƒˆ λ¦¬μ†ŒμŠ€λ₯Ό 배포(λ³€κ²½ μœ ν˜•μ— 따라 닀름)함

μ €μž₯된 ꡬ성

  • μ €μž₯된 ꡬ성은 κ³ μœ ν•œ ν™˜κ²½ ꡬ성을 μƒμ„±ν•˜κΈ° μœ„ν•œ μ‹œμž‘μ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλŠ” ν…œν”Œλ¦Ώ
    • Elastic Beanstalk μ½˜μ†”, EB CLI, AWS CLI λ˜λŠ” APIλ₯Ό μ‚¬μš©ν•˜μ—¬ μ €μž₯된 ꡬ성을 생성 및 μˆ˜μ •ν•˜κ³  ν™˜κ²½μ— μ μš©ν•  수 있음
    • API 및 AWS CLIλŠ” μ €μž₯된 ꡬ성을 ꡬ성 ν…œν”Œλ¦ΏμœΌλ‘œ μ°Έμ‘°

ν”Œλž«νΌ

  • ν”Œλž«νΌμ€ 운영 체제(OS), ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ λŸ°νƒ€μž„, μ›Ή μ„œλ²„, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ 및 Elastic Beanstalk ꡬ성 μš”μ†Œμ˜ μ‘°ν•©
    • μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ„€κ³„ν•˜κ³  ν”Œλž«νΌμ— 맞게 νƒ€κ²ŸνŒ…
    • Elastic BeanstalkλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ꡬ좕할 수 μžˆλŠ” ν”Œλž«νΌμ„ λ‹€μ–‘ν•˜κ²Œ 지원

Tip! 참고 링크
AWS: Elastic Beanstalk κ°œλ…

μΆ”κ°€ 정리

  • Elastic Beanstalk은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ˜μ—­κ³Ό ν™˜κ²½μœΌλ‘œ ꡬ성
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€κ³  ν•˜μœ„μ— ν™˜κ²½μ„ ꡬ성할 수 있음
    • ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 2개 μ΄μƒμ˜ ν™˜κ²½μ„ ꡬ성할 수 있음
  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜
    • μΈμŠ€ν„΄μŠ€μ˜ 논리적인 집합
    • ν•˜μœ„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ²„μ „μ˜ 관리이며, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μž¬λ°°ν¬μ™€ 이전 λ²„μ „μœΌλ‘œ 볡원 κ°€λŠ₯
    • μœˆλ„μš° 폴더 κ°œλ…κ³Ό μœ μ‚¬
  • ν™˜κ²½
    • EC μΈμŠ€ν„΄μŠ€, λ‘œλ“œ λ°ΈλŸ°μ„œ, μ˜€ν† μŠ€μΌ€μΌλ§ κ·Έλ£Ή, λ³΄μ•ˆ 그룹의 집합체
  • Elastic Beanstalk의 νŠΉμ§•
    • λΉ λ₯΄κ³  κ°„νŽΈν•œ μ‹œμž‘
      • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œλ₯Ό μ—…λ‘œλ“œν•˜κΈ°λ§Œ ν•˜λ©΄ μžλ™μœΌλ‘œ ν”„λ‘œλΉ„μ €λ‹, μ˜€ν†  μŠ€μΌ€μΌλ§, λ‘œλ“œ λ°ΈλŸ°μ‹±, λͺ¨λ‹ˆν„°λ§κ³Ό κ΄€λ ¨λœ 인프라가 μžλ™μœΌλ‘œ 생성
    • 개발자의 생산성
      • μ„œλΉ„μŠ€ 인프라에 λŒ€ν•œ 관리와 패치 뢀뢄을 λΉˆμŠ€ν†‘μ—μ„œ μžλ™μœΌλ‘œ κ΄€λ¦¬ν•˜κΈ° λ•Œλ¬Έμ— κ°œλ°œμžλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ— 집쀑할 수 있음
    • μ μ ˆν•œ 규λͺ¨ μœ μ§€
      • λΉˆμŠ€ν†‘μ€ λͺ¨λ‹ˆν„°λ§μ„ 톡해 μžλ™μœΌλ‘œ λ‘œλ“œ λ°ΈλŸ°μ‹±, μ˜€ν†  μŠ€μΌ€μΌλ§ν•˜μ—¬ 항상 μ μ ˆν•œ 규λͺ¨μ— λŒ€ν•΄ μžλ™μœΌλ‘œ λŒ€μ‘ν•  수 μžˆλŠ” μœ μ—°μ„±μ„ 보μž₯
    • μ™„λ²½ν•œ λ¦¬μ†ŒμŠ€ μ œμ–΄
      • λΉˆμŠ€ν†‘μ—μ„œ λ¦¬μ†ŒμŠ€ 변경은 μ•„μ£Ό κ°„λ‹¨νžˆ μ²˜λ¦¬ν•  수 있기 λŒ€λ¬Έμ— ν•„μš”μ— 따라 μ›ν•˜λŠ” λ¦¬μ†ŒμŠ€λ₯Ό μ‰½κ²Œ 관리할 수 있음
profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 λŒ“κΈ€