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๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์๋ ๋ค์ํ ํ๋ซํผ์ ์ ๊ณต
๋ฐฐํฌ

Elastic Beanstalk๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑ
์ ํ๋ฆฌ์ผ์ด์ ์์ค ๋ฒ๋ค์ ํํ(์: Java .war ํ์ผ)๋ก ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ์ ์ Elastic Beanstalk์ ์ ๋ก๋
Elastic Beanstalk๊ฐ ์๋์ผ๋ก ํ๊ฒฝ์ ์คํํ๊ณ ์ฝ๋ ์คํ์ ํ์ํ AWS ๋ฆฌ์์ค๋ฅผ ์์ฑ ๋ฐ ๊ตฌ์ฑ
ํ๊ฒฝ ์คํ ํ์๋ ํ๊ฒฝ์ ์ง์ ๊ด๋ฆฌํ๊ณ ์๋ก์ด ์ฑ ๋ฒ์ ์ ๋ฐฐํฌ
๋ฐฐํฌ์ ํ์ํ ์ ๋ณด
์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋
๋ฆฌ์
์คํ ํ์ (Node, Java, PHP ๋ฑ.. + ์ปค์คํ ๋ ๊ฐ๋ฅ)
๋จ์ผ ์ธ์คํด์ค or ์คํ ์ค์ผ์ผ๋ง ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ
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