Elastic Beanstalk
- PaaS ( Platform as a Service ) : 이미 환경 구축이 완료되어 있는 플랫폼 제공
- 단일 서버 배포에 강함

Elastic Beanstalk
- 단일 또는 다중 서버를 On-Demand 환경에 맞추어 자동으로 설정할 수 있는 서비스
- Elastic Beanstalk 내부의 관리자가 각 서버에 배포 환경 및 서버 파일을 배포
- 단일 서버의 경우 EC2가 1개만 생성되기 때문에 로드밸런서 (LB) 도 만들어지지 않음
- 다중 서버 (2개 이상) 의 경우 서버가 여러 대 생성됨에 따라 IP가 각각 다르기 때문에, 클라이언트의 접속을 제어할 수 있도록 로드밸런서가 생성됨
- 다중 서버는 Auto-Scaling을 통해 사용자의 접속 트래픽에 따라 서버를 자동으로 증축
- 너무 많이 생기면 서버의 비용이 증가하므로 최대 서버 수를 지정할 수 있음

Elastic Beanstalk 구동
역할 설정
- IAM (Identity and Access Management) 접속 : 사전 역할 설정

- 역할 진입 후 역할 생성 클릭

- 엔터티 선택
- AWS 서비스
- 사용 사례 : EC2

- 권한 추가
- 검색 창에 ‘AWS Elastic’ 검색
- MulticontainerDocker, WebTier, WorkerTier 추가

- 이름 지정 후 역할 생성
- elb-ec2-role

- 2번째 역할 추가
- 서비스 : Elastic Beanstalk
- 사용 사례 : Environment

- 권한 추가
- 자동으로 추가되어 있음 : 다음

- 이름 설정 후 역할 생성
- elb-service-role

Elastic Beanstalk 생성
- 환경 티어 : 웹 서버 환경
- 애플리케이션 이름 : aws-v3
- 환경 이름은 자동으로 설정됨

- 플랫폼 : Java (JDK 필요)
- 애플리케이션 코드 : 샘플
- 커스텀한 Beanstalk 사용할 경우 코드 업로드 필요

- 사전 설정 : 단일 인스턴스 (서버 하나만 구축)
- 이후 서버를 추가로 개설할 시 사용자 지정 구성 선택

- 서비스 액세스 구성
- 서비스 역할, EC2 인스턴스 프로파일, EC2 키 페어 선택 후 검토 단계로 건너뛰기

- 적용 사항 확인 후 생성

- 환경 생성 확인 후 업로드 및 배포 클릭

- 파일 선택 후 배포 클릭

- 파일은 내가 배포할 서버 파일 등록

- 인스턴스 자동 생성 : Elastic Beanstalk 생성 시 개설
- 탄력적 IP 자동 설정 - 고정 IP

- 도메인을 통해 접속


배포 확인
- Amazon EC2 Console 화면
- 기본 사용자 : root
- Amazon Linux로 접속되는 것을 확인

- MobaXTerm으로 접속
- 기본 사용자가 ubuntu가 아닌 ec2-user
- 나머지는 기존 세션 생성과 동일


- 현재 실행 중인 서버 확인 : netstat -nlpt
- 80, 22, 5000 서버가 구동 중

- 인바운드 규칙 확인
- 80, 22 서버만 Open 되어 있음
- 내부적으로 80번 서버에 요청 시 5000번으로 연결하는 서버 존재

- 배포한 서버 파일 확인
- 배포한 파일의 이름을 그대로 사용하지 않고 application이라는 이름으로 변경됨
- sudo find / -name application.jar 로 검색

- 서버 강제 종료
- kill을 해도 다시 서버가 실행됨
- cron에 서버 재 시작 루틴이 설정되어 있음

로그 확인
- Elastic Beanstalk에서 로그 클릭 → 로그 요청 후 다운로드

- 브라우저에서 바로 로그 파일 확인 가능
- 로그 파일의 경로도 확인 가능

- MobaXTerm에서 직접 확인
- /var/log/web.stdout.log 확인 : 스프링 서버 로그

- 로그 출력
- tail 사용

- 내부 서버 확인 : nginx 파일 확인
- /etc/nginx/conf.d/elasticbeanstalk 진입
- 00_application.conf 확인 : nginx 서버 설정 파일

Elastic Beanstalk 종료
- 환경 이동
- 실행 중인 환경 선택
- 작업 → 환경 종료 클릭
- 환경 이름 입력 후 종료

Share article