23. ๊ฐํธํ๊ฒ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ ์๋น์ค Elastic Beanstalk
23. ๊ฐํธํ๊ฒ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ ์๋น์ค Elastic Beanstalk ๊ด๋ จ
Elastic Beanstalk์ Node.js, PHP, Python, Ruby, Java, .NET ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ณ ๋ฐฐํฌํ ์ ์๋ ํ๋ซํผ์ ์ ๊ณตํ๋ ์๋น์ค์ ๋๋ค. Elastic Beanstalk์ ์ค์ ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๋ AWS ๋ฆฌ์์ค๊ฐ ์๋๋ผ์ ์ฌ์ฉ ์๊ธ์ด ์์ต๋๋ค.
Elastic Beanstalk์ ๋ฒค์ฒ ๊ธฐ์ , ์คํํธ์ ๊ฐ์ ์์ ์กฐ์ง์์ ์ ์ฉํฉ๋๋ค. ๋๋, ์ ๋ฌธ ์๋ฒ ์ธ๋ ฅ์ ์์ ๋ฐฐ์นํ ์ ์๋ ์กฐ์ง์์๋ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ท๋ชจ๊ฐ ํฐ ๋๊ธฐ์ ์์๋ ๊ตฌ๋งค, ๊ฒฐ์ฌ, IT ๋ถ์์ ์ง์์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋น ๋ฅด๊ฒ ํ๋กํ ํ์ ์ ๊ตฌํํ๋๋ฐ๋ ์ ํฉํฉ๋๋ค.
Elastic Beanstalk์ AWS ๋ฆฌ์์ค๋ฅผ ์กฐํฉํ์ฌ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค. ๊ตฌ๊ธ ์ฑ์์ง, VMware ํด๋ผ์ฐ๋ ํ์ด๋๋ฆฌ, Heroku ๋ฑ๊ณผ ๊ฐ์ PaaSPlatform as a Service์ ์ผ์ข ์ ๋๋ค. ํ์ง๋ง ๊ธฐ์กด PaaS๋ ํ๋ซํผ์ ๊ตฌ์ฑํ๊ณ ์๋ ์๋ฒ์ ์ฌ์๊ณผ ์ค์ ์ ์ง์ ์ ์ดํ ์ ์์ต๋๋ค. Elastic Beanstalk์ AWS ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์ํ๋ ๋๋ก ์ฌ์์ ์ ํ๊ณ ์ค์ ์ ๋ณ๊ฒฝํ ์ ์๋ ๋ถ๋ถ์ด ํฐ ์ฅ์ ์ ๋๋ค.
Elastic Beanstalk์์ Beanstalk๋ ์ฝฉ๋๋ฌด ์ค๊ธฐ๋ฅผ ๋ปํฉ๋๋ค. ์ญ๊ณผ ์ฝฉ๋๋ฌด๋ผ๋ ๋ํ๋ฅผ ๋ณด๋ฉด ํ๋ฃป๋ฐค ์ฌ์ด์ ์ฝฉ๋๋ฌด๊ฐ ํ๋๊น์ง ์๋ผ๋๋๋ฐ Elastic Beanstalk๋ ์ด ๋ํ์ ์ฝฉ๋๋ฌด์ฒ๋ผ ์ค์ค๋ก ์๋ผ๋ฉ๋๋ค. ์์์ EC2 ์ธ์คํด์ค ์ ํ์ ๋ณ๊ฒฝํ๊ณ , Auto Scaling์ผ๋ก EC2 ์ธ์คํด์ค๋ฅผ ๋๋ฆฌ๊ณ , ELB๋ก ๋ถํ๋ฅผ ๋ถ์ฐํ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๊น์ง ์๋์ผ๋ก ํด์ค๋๋ค.
Auto Scaling ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด CloudWatch์ ELB๋ฅผ ์ฐ๋ํด์ผ ํ๋๋ฐ ์ค์ ์ด ๋ค์ ๋ณต์กํฉ๋๋ค. Elastic Beanstalk๋ ๋ณต์กํ ์ค์ ์ ํ์ง ์์๋ ์๋ ํ์ฅ๊ณผ ๋ถ์ฐ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Elastic Beanstalk์์ ์ง์ํ๋ ์ธ์ด์ ๊ฐ๋ฐ ์คํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Java, Apache Tomcat
- PHP, Apache HTTP ์๋ฒ
- Python, Apache HTTP ์๋ฒ
- Node.js, Apache HTTP ์๋ฒ, Nginx
- Ruby, Passenger
- ASP.NET, Microsoft IIS 7.5
์์ฅ์์ ์ค๋ช ํ CloudFormation๊ณผ Elastic Beanstalk์ ๊ธฐ๋ฅ์ด ๋น์ทํ๋ฉด์๋ ํฐ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๋ค์์ CloudFormation๊ณผ Elastic Beanstalk์ ๊ณตํต์ ๊ณผ ์ฐจ์ด์ ์ ์ ๋ฆฌํ ํ์ ๋๋ค.
CloudFormation | Elastic Beanstalk | |
---|---|---|
์ฌ์ฉ์๊ฐ ์์ฑํ ํ ํ๋ฆฟ | O | X |
๋ฏธ๋ฆฌ ๊ตฌ์ฑ๋ ํ ํ๋ฆฟ | O | O |
๋ฐฐํฌ ์ค์ | O(์ฌ์ฉ์๊ฐ ์ง์ ๊ตฌํ) | O |
์ธ์คํด์ค ์ ํ ์ค์ | O | O |
์๋ฒ ๊ฐ์ ์ค์ | O | X |
ELB, Auto Scaling ๊ตฌ์ฑ ์ค์ | O | O(์ ํ์ ) |
ํธ์์ฑ(์น์ ํตํ ๋ฐฐํฌ, ์ค์ ๋ณ๊ฒฝ) | X | O |
CloudFormation์ Elastic Beanstalk๋ ์ค์ ๋ฐ ์์ฑ์ ํ ์ ์์ต๋๋ค. Elastic Beanstalk์ CloudFormation์ผ๋ก ๊ตฌํ๋์ด ์์ผ๋ฉฐ CloudFormation์ ํ์ ๊ฐ๋ ์ ๋๋ค.
Elastic Beanstalk์ ๋ณต์กํ CloudFormation ํ ํ๋ฆฟ์ ์์ฑ(์๋ฒ ๊ตฌ์ฑ, ์ค์น, ๋ฐฐํฌ ์ค์ ) ํ์ง ์๊ณ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ ์๋น์ค์ ๋๋ค. Elastic Beanstalk์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ๋๋ AWS CLI, AWS API, ์ธ์ด๋ณ AWS SDK, Eclipse ๋ฐ Visual Studio์ฉ AWS ํดํท์ ์ฌ์ฉํ๊ฑฐ๋ AWS ์ฝ์์์ ์ง์ ์ ๋ก๋ ํ ์ ์์ต๋๋ค. ๋ํ, Git๊ณผ Docker๋ ์ง์ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฒ๋ง ์ ๋ก๋ํ๋ฉด S3 ๋ฒํท์ ์ ์ฅํ ๋ค ์ฌ๋ฌ EC2 ์ธ์คํด์ค์ ์์์ ๋ณต์ฌ๋ฅผ ํด์ค๋๋ค.