- 코드의 배포, 프로비저닝, 관리 복잡
- 서버, 데이터베이스, 로드밸런서, 방화벽 그리고 복잡한 네트워크를 구성하고 관리하는데 전문성과 시간이 필요
- 어플리케이션의 스케일 아웃 인을 자동화 해야함
- 팀내 팀간 갈등
![](https://velog.velcdn.com/images/eunsiver/post/387dbebe-9bb2-45f5-9c9e-7a6904c4d741/image.png)
원클릭 배포
빠르고 간단한 시작, 개발자 생산성, 완전한 자원제어, 불필요한 자원 낭비 없음
사용에 따른 추가 요금이 없음
사용되는 AWS 리소스에 대해서만 비용 지불
Elastic Beanstalk는 웹 어플리케이션/웹 서비스를 배포하고, 확장하고,
관리하는데 있어 쉽고 빠르게 할 수 있도록 돕는 완전 관리형 서비스입니다
![](https://velog.velcdn.com/images/eunsiver/post/5e3d18e4-35f3-44ba-b012-60239bc4a24c/image.png)
사용자는 애플리케이션 작성에만 집중
어플리케이션들을 버전 별로 관리하고 다양한 환경에 배포 가능
![](https://velog.velcdn.com/images/eunsiver/post/eaae9e28-589f-45be-9320-fd5f81139ea1/image.png)
배포 정책
- All at once: 모든 인스턴스에 동시에 새 버전 배포
- Rolling: 배치 단위로 새 버전 배포
- Rolling with additional batch: 배치 단위로 새 버전 배포, +1 추가 배치
- Immutable: 새로운 인스턴스 그룹에 배포
![](https://velog.velcdn.com/images/eunsiver/post/88927625-f27e-4575-ad8f-5af6594041d0/image.png)
![](https://velog.velcdn.com/images/eunsiver/post/78473b28-7181-4864-9e1f-04ad8a71966c/image.png)
![](https://velog.velcdn.com/images/eunsiver/post/ba86c0ed-ae45-4943-8c6b-f7850c52d54c/image.png)
![](https://velog.velcdn.com/images/eunsiver/post/71191202-4b0a-4f16-b890-d9999fbc6207/image.png)
![](https://velog.velcdn.com/images/eunsiver/post/8049fe93-f9df-4a49-b0ac-2a68e227587c/image.png)
![](https://velog.velcdn.com/images/eunsiver/post/2f21b8fa-59cc-4bc4-bbcd-b35d4ba9e5c1/image.png)
어플리케이션 업데이트
![](https://velog.velcdn.com/images/eunsiver/post/7b8bd035-7a37-4ba3-9bb3-939af4afedc2/image.png)
![](https://velog.velcdn.com/images/eunsiver/post/07eaece8-4c15-4733-93d6-dd52c9166fe7/image.png)
![](https://velog.velcdn.com/images/eunsiver/post/5a3ff30f-1efb-4976-bb43-8afc102f115b/image.png)
어플리케이션 업데이트: Blue/Green
- 장점:
- 이전 환경이 여전히 실행 중이므로 언제든지 빠른 롤백 가능
- 다운타임 없이 배포 가능
- 새로운 환경 배포가 실패하더라도, 기존 인스턴스에 영향이 없음
- 단점:
- 새로운 환경 생성으로 인해 느린 배치(5분)
- RDS까지 구축되어 있는 경우 RDS는 별도 복제 필요(자동으로 Clone 안 됨)
![](https://velog.velcdn.com/images/eunsiver/post/cbd479a4-273a-4cb9-ab2b-f924ab77cccf/image.png)