Beanstalk

κ°œμš”

AWS Elastic BeanstalkλŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜/μ›Ή μ„œλΉ„μŠ€λ₯Ό λ°°ν¬ν•˜κ³ , ν™•μž₯ν•˜κ³ , κ΄€λ¦¬ν•˜λŠ”λ° μžˆμ–΄ 쉽고 λΉ λ₯΄κ²Œ ν•  수 μžˆλ„λ‘ λ•λŠ” μ™„μ „ κ΄€λ¦¬ν˜• μ„œλΉ„μŠ€

Java, .NET, PHP, Node.js, Python, Ruby, Go, Dockerλ₯Ό μ‚¬μš©ν•˜μ—¬ Apache, Nginx, Passenger, IIS와 같은 μΉœμˆ™ν•œ μ„œλ²„μ—μ„œ 개발된 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μ„œλΉ„μŠ€λ₯Ό κ°„νŽΈν•˜κ²Œ λ°°ν¬ν•˜κ³  μ‘°μ •ν•  수 μžˆλŠ” μ„œλΉ„μŠ€

κ°œλ°œμžκ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œλ₯Ό μ—…λ‘œλ“œν•˜κΈ°λ§Œ ν•˜λ©΄ AWS Elastic Beanstalkμ—μ„œ μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ—μ„œ λ¦¬μ†ŒμŠ€ ν”„λ‘œλΉ„μ €λ‹, λ‘œλ“œ λ°ΈλŸ°μ‹±, μžλ™ 크기 μ‘°μ • 및 λͺ¨λ‹ˆν„°λ§ 같은 λͺ¨λ“  μ„ΈλΆ€ 정보λ₯Ό μžλ™μœΌλ‘œ 처리 κ°€λŠ₯

Elastic Beanstalk 자체 μš”κΈˆμ€ μ—†μœΌλ©°, λ°°ν¬μ‹œ μ‚¬μš©λ˜λŠ” λ¦¬μ†ŒμŠ€μ— λŒ€ν•΄μ„œλ§Œ λΉ„μš©μ„ μ§€λΆˆν•˜λ©΄ 됨

κ°œλ…

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

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

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

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μΌλΆ€λ‘œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—λŠ” λ§Žμ€ 버전이 μžˆμ„ 수 있고, 각 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전은 κ³ μœ ν•¨ μ‹€ν–‰ 쀑인 ν™˜κ²½μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 이미 μ—…λ‘œλ“œν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 λ°°ν¬ν•˜κ±°λ‚˜ μƒˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 μ—…λ‘œλ“œν•˜κ³  μ¦‰μ‹œ 배포할 μˆ˜λ„ 있음 μ—¬λŸ¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 μ—…λ‘œλ“œν•˜μ—¬ ν•œ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전과 λ‹€λ₯Έ 버전 κ°„μ˜ 차이λ₯Ό ν…ŒμŠ€νŠΈν•  μˆ˜λ„ μžˆλ‹€

ν™˜κ²½

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

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

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

ν™˜κ²½ ꡬ성

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

μ €μž₯된 ꡬ성

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

ν”Œλž«νΌ

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

배포

  1. Elastic Beanstalkλ₯Ό μ‚¬μš©ν•˜λ €λ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 생성

  2. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ†ŒμŠ€ λ²ˆλ“€μ˜ ν˜•νƒœ(예: Java .war 파일)둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전을 Elastic Beanstalk에 μ—…λ‘œλ“œ

  3. Elastic Beanstalkκ°€ μžλ™μœΌλ‘œ ν™˜κ²½μ„ μ‹€ν–‰ν•˜κ³  μ½”λ“œ 싀행에 ν•„μš”ν•œ AWS λ¦¬μ†ŒμŠ€λ₯Ό 생성 및 ꡬ성

  4. ν™˜κ²½ μ‹€ν–‰ ν›„μ—λŠ” ν™˜κ²½μ„ 직접 κ΄€λ¦¬ν•˜κ³  μƒˆλ‘œμš΄ μ•± 버전을 배포

λ°°ν¬μ‹œ ν•„μš”ν•œ 정보

  1. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œ

  2. 리전

  3. μŠ€νƒ νƒ€μž…(Node, Java, PHP λ“±.. + μ»€μŠ€ν…€λ„ κ°€λŠ₯)

  4. 단일 μΈμŠ€ν„΄μŠ€ or μ˜€ν† μŠ€μΌ€μΌλ§ 및 λ‘œλ“œ λ°ΈλŸ°μ‹±

  5. RDS μ„€μ • (optional)

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ & ν™˜κ²½ 관계

  • ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전은 λ‹€μ–‘ν•œ ν™˜κ²½μ— 배포 κ°€λŠ₯

  • ν•˜λ‚˜μ˜ ν™˜κ²½μ—λŠ” ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ§Œ 적용 κ°€λŠ₯

배포

배포 μ •μ±…

μ •μ±…

λ°°ν¬μ‹€νŒ¨μ‹œ 영ν–₯도

배포 μ‹œκ°„

가동 쀑지

DNS λ³€κ²½

λ‘€λ°± ν”„λ‘œμ„ΈμŠ€

μ½”λ“œ 배포 μœ„μΉ˜

ν•œλ²ˆμ— λͺ¨λ‘

가동 쀑지

⏱

예

μ•„λ‹ˆμš”

μˆ˜λ™ 재배포

κΈ°μ‘΄ μΈμŠ€ν„΄μŠ€

둀링

λ°°μΉ˜κ°€ μ œμ™Έλ¨

⏱⏱

μ•„λ‹ˆμ˜€

μ•„λ‹ˆμ˜€

μˆ˜λ™ 재배포

κΈ°μ‘΄ μΈμŠ€ν„΄μŠ€

μΆ”κ°€ 배치λ₯Ό μ‚¬μš©ν•œ 둀링

둀링과 μœ μ‚¬ν•˜λ‚˜ μ‹€νŒ¨ν•  경우 μ΅œμ†Œν™”

⏱⏱⏱

μ•„λ‹ˆμ˜€

μ•„λ‹ˆμ˜€

μˆ˜λ™ 재배포

μƒˆ μΈμŠ€ν„΄μŠ€ 및 κΈ°μ‘΄ μΈμŠ€ν„΄μŠ€

λ³€κ²½ λΆˆκ°€λŠ₯

μ΅œμ†Œν™”

⏱⏱⏱⏱

μ•„λ‹ˆμ˜€

μ•„λ‹ˆμ˜€

μƒˆ μΈμŠ€ν„΄μŠ€ μ’…λ£Œ

μƒˆ μΈμŠ€ν„΄μŠ€

νŠΈλž˜ν”½ λΆ„ν• 

μƒˆ λ²„μ „μœΌλ‘œ νŠΈλž˜ν”½ λΌμš°νŒ…

⏱⏱⏱⏱

μ•„λ‹ˆλ‘œ

μ•„λ‹ˆλ‘œ

νŠΈλž˜ν”½ μž¬λΌμš°νŒ… 및 μƒˆ μΈμŠ€ν„΄μŠ€ μ’…λ£Œ

μƒˆ μΈμŠ€ν„΄μŠ€

블루/κ·Έλ¦°

μ΅œμ†Œν™”

⏱⏱⏱⏱

μ•„λ‹ˆμ˜€

예

Swap URL

μƒˆ μΈμŠ€ν„΄μŠ€

All at once

Rolling

Rolling with additional batch

Immutable

Blue/Green

ν”Œλž«νΌ μ—…λ°μ΄νŠΈ

Elastic Beanstalkμ—μ„œλŠ” μƒˆ ν”Œλž«νΌ 버전을 μ •κΈ°μ μœΌλ‘œ λ¦΄λ¦¬μŠ€ν•˜μ—¬ λͺ¨λ“  Linux 기반 및 Windows Server 기반 ν”Œλž«νΌ μ—…λ°μ΄νŠΈλ₯Ό 제곡 κ΄€λ¦¬ν˜• ν”Œλž«νΌ μ—…λ°μ΄νŠΈλ₯Ό 톡해 μ˜ˆμ•½λœ μœ μ§€ 관리 κΈ°κ°„ λ™μ•ˆ μ΅œμ‹  ν”Œλž«νΌ λ²„μ „μœΌλ‘œ μžλ™μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜λ„λ‘ ν™˜κ²½μ„ ꡬ성할 수 있음

  • 패치 버전 μ—…λ°μ΄νŠΈ

  • λ§ˆμ΄λ„ˆ 및 패치 버전 μ—…λ°μ΄νŠΈ

    예) ν”Œλž«νΌ 버전 : 2.0.7

λͺ¨λ‹ˆν„°λ§

μ½˜μ†”μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λŒ€ν•œ 운영 정보λ₯Ό ν™•μΈν• μˆ˜ 있으며, ν™˜κ²½μ˜ μƒνƒœμ™€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μƒνƒœλ₯Ό ν•œλˆˆμ— 확인 κ°€λŠ₯ 기본적으둜, κΈ°λ³Έ CloudWatch μΈ‘μ •μΉ˜λ§Œ ν™œμ„±ν™”λ˜λ©° 5λΆ„ κ°„κ²©μ˜ 데이터 확인

둜그

Elastic Beanstalk ν™˜κ²½μ˜ Amazon EC2 μΈμŠ€ν„΄μŠ€λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄λ‚˜ ꡬ성 파일과 κ΄€λ ¨λœ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ³Ό 수 μžˆλŠ” 둜그λ₯Ό μƒμ„±λ˜λ©°, μƒμ„±λœ λ‘œκ·ΈλŠ” κ°œλ³„ μΈμŠ€ν„΄μŠ€μ— 둜컬둜 μ €μž₯

  • ν…ŒμΌλ‘œκ·Έ κ°€μž₯ 일반적으둜 μ‚¬μš©λ˜λŠ” 둜그 파일의 λ§ˆμ§€λ§‰ 100쀄 Elastic Beanstalk μž‘μ—… λ‘œκ·Έμ™€ μ›Ή μ„œλ²„ λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„μ˜ 둜그

  • λ²ˆλ“€λ‘œκ·Έ λ‹€μ–‘ν•œ 둜그 파일의 전체 둜그둜, yum 및 cron의 λ‘œκ·Έμ™€ AWS CloudFormation의 μ—¬λŸ¬ λ‘œκ·Έκ°€ 포함 λ²ˆλ“€ 둜그λ₯Ό μš”μ²­ν•˜λ©΄ ν™˜κ²½μ˜ μΈμŠ€ν„΄μŠ€κ°€ 전체 둜그 νŒŒμΌμ„ ZIP μ•„μΉ΄μ΄λΈŒλ‘œ νŒ¨ν‚€μ§€ν•˜κ³  이λ₯Ό Amazon S3에 μ—…λ‘œλ“œ

κΈ°λ³Έμ„€μ •μœΌλ‘œλŠ” ν…ŒμΌ 및 λ²ˆλ“€ λ‘œκ·ΈλŠ” μƒμ„±λœ ν›„ 15뢄이 μ§€λ‚˜λ©΄ S3μ—μ„œ 제거됨 둜그 μœ μ§€λ₯Ό μœ„ν•΄μ„œλŠ” ꡐ체섀정을 ν•˜λ©΄ 영ꡬ 보관 κ°€λŠ₯ CloudWatch Logs둜 μ‹€μ‹œκ°„ 슀트리밍 ν•˜λ„λ‘ ꡬ성할 μˆ˜λ„ 있음

Last updated