AWS Elastic Beanstalk는 클라우드에서 웹 애플리케이션을 개발, 배포 및 관리하기 위한 완전관리형(PaaS) 서비스입니다. 개발자는 Elastic Beanstalk를 사용하여 웹 애플리케이션의 인프라를 프로비저닝하고, 코드를 업로드하고, 환경을 관리하며, 애플리케이션을 실행할 수 있습니다.
Elastic Beanstalk는 애플리케이션을 실행하는 데 필요한 인프라를 자동으로 프로비저닝합니다. 개발자는 Elastic Beanstalk에서 애플리케이션을 실행하기 위한 서버 인스턴스, 로드 밸런서, 데이터베이스 등과 같은 컴포넌트를 선택할 수 있습니다.
Elastic Beanstalk는 웹 애플리케이션을 실행하는 데 필요한 환경을 제공합니다. 환경은 애플리케이션을 실행하는 데 필요한 리소스와 설정을 정의하는 컨테이너입니다. 예를 들어, 애플리케이션이 사용하는 언어, 프레임워크, 웹 서버, 데이터베이스, 로그 파일 위치 등을 정의할 수 있습니다.
Elastic Beanstalk는 배포 프로세스를 자동화하여 개발자가 쉽게 애플리케이션을 배포할 수 있도록 지원합니다. Elastic Beanstalk는 애플리케이션 코드를 압축하고, 배포하고, 구성을 업데이트하며, 스케일링을 관리합니다.
Elastic Beanstalk는 애플리케이션의 모니터링과 로그 수집을 제공합니다. 개발자는 Elastic Beanstalk 콘솔에서 애플리케이션의 상태와 성능을 모니터링하고, 로그를 볼 수 있습니다.
Elastic Beanstalk는 AWS 클라우드 서비스와 통합됩니다. 예를 들어, Elastic Beanstalk는 Amazon RDS 데이터베이스와 통합되어 데이터베이스를 프로비저닝하고 애플리케이션에 연결할 수 있습니다. 또한 Elastic Beanstalk는 Amazon S3와 통합되어 애플리케이션에 대한 정적 파일을 호스팅할 수 있습니다.
[Create Application]을 클릭하여 환경 생성을 시작합니다.
웹 어플리케이션을 배포하는 경우 [웹 서버 환경]을 선택합니다.
[애플리케이션 이름]을 입력해줍니다. "애플리케이션 이름-stage" 의 형식으로 이름을 지어주는 것이 일반적입니다. sluv이라는 애플리케이션의 개발 서버를 구축하는 경우, sluv-dev로 이름을 지어주면 되겠습니다.
[환경 이름]은 [애플리케이션 이름]에 따라 자동으로 생성됩니다. 변경해줄 수도 있지만 그대로 두고 넘어가겠습니다.
AWS EB는 Java, Docker, Node.js 등 다양한 플랫폼을 지원합니다. Docker 컨테이너 환경에서 애플리케이션을 실행시키기 위해 [Docker]를 선택해주겠습니다.
[애플리케이션 코드]는 Default인 샘플 애플리케이션으로 두고 [추가 옵션 구성]을 클릭해줍니다.
아래부터는 환경 구성과 관련된 옵션들을 지정합니다.
단일 인스턴스 옵션 사용 시 Load Balancer를 설정할 수 없어 Beanstalk으로 무중단 배포가 불가능하므로, [사전 설정]은 [사용자 지정 구성]을 선택해줍니다.
EC2 인스턴스 생성 시 ssh, http, https와 관련된 인바운드 규칙을 보안그룹에 추가해줬던 것처럼, 마찬가지로 필요한 보안그룹 설정을 진행해줍니다.
Auto Scaling과 Load Balancing을 사용하기 위해, [용량] - [Auto Scaling 그룹]에서 [환경 유형]을 [단일 인스턴스]에서 [로드 밸런싱 수행]으로 변경해줍니다.
인스턴스의 최대 개수의 경우 과금이 되지 않도록 1개로 설정해주었습니다. 추가적인 인스턴스가 필요한 경우 최대 인스턴스 개수를 조정하시면 됩니다.
[Load Balancer 유형]은 Default인 [Application Load Balancer]를 선택해줍니다.
[애플리케이션 배포] 방식은 [한 번에 모두]로 설정하겠습니다. 다운 타임을 최소로 하는 무중단 배포를 진행하기 위해서는 [롤링] 혹은 [추가 배치를 사용한 롤링을 선택해주세요.]
EC2 인스턴스에 ssh 원격 접속을 진행할 시 PEM.KEY 파일이 필요합니다. 기존에 생성해놨던 PEM.KEY가 없다면, [EC2] - [네트워크 및 보안] - [키 페어]에서 수동으로 생성해주면 됩니다.
일련의 과정을 잘 따라오셨다면 아래와 같이 EB 환경이 정상적으로 구성되었음을 확인하실 수 있습니다.
Github Actions + AWS Elastic Beanstalk으로 Springboot 어플리케이션 CI/CD 파이프라인 구축하기 (0) | 2023.04.30 |
---|
댓글 영역