AWS Elastic Beanstalk 생성하기

박단이·2023년 11월 22일
0

AWS

목록 보기
2/4

Elastic Beanstalk 란?

  • Elastic Beanstalk는 앱을 만들 수 있는 환경을 굉장히 빠르고 신속하게 구성 & 관리하는 서비스
  • 웹/앱의 실행파일을 올리면 용량 프로비저닝, 로드 밸런싱, 조정, 오토 스케일, 상태 모니터링을 자동으로 해결해줌으로써 환경을 구성하고 조정을 쉽게 할 수 있다.
  • 익숙한 Go, JAVA, .NET, Node.js, PHP, Python, Ruby 등을 사용하여 Apache, Nginx, Passenger, IIS와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있다.

EB 생성

(Elastic Beanstalk라고 계속 쓰기 힘들기 때문에 지금부터는 EB로 쓴다.)

  1. Elastic Beanstalk 페이지에서 "애플리케이션 생성" 버튼 클릭
    EB 페이지

  2. 애플리케이션과 환경을 동시에 세팅하고 있는 화면
    (애플리케이션 페이지에서 생성하기 버튼을 누르면 애플리케이션 정보만 입력하도록 한다. 생성한 후 환경 세팅을 해주면 되기 때문에 걱정 X)
    "애플리케이션 이름"에 원하는 이름을 적으면 환경 이름은 자동으로 채워지고 도메인과 환경 설명은 건들이지 않아도 된다.
    EB 설치 1
    플랫폼은 원하는 언어와 버전을 선택하고 애플리케이션 코드는 나중에 코드를 업로드 해도 되기 때문에 크게 다루지 않는다.
    EB 설치 2
    사전 설정에서 프리티어는 "단일 인스턴스"만 사용 가능하므로 선택하고 넘어간다. "다음"을 누른다.
    EB 설치 3

  3. 서비스 액세스 구성에서 "기존 서비스 역할 사용"을 누르고 아래의 그림처럼 "기존 서비스 역할", "EC2 인스턴스 프로파일"을 설정한다.
    "EC2 키 페어"에 내가 미리 만들어 둔 EC2를 연결한다.
    EB 설치 4

기존 서비스 역할이 없다면, IAM로 이동한다.

  1. 액세스 관리 > 역할 > 역할 생성
    IAM
  2. AWS 서비스를 선택, 사용 사례에 EC2를 선택하고 다음을 누른다.
    IAM 엔터티 선택
  3. 아래 3개의 권한을 선택한 후 다음 클릭
    AWSElasticBeanstalkWebTier
    AWSElasticBeanstalkWorkerTier
    AWSElasticBeanstalkMulticontainerDocker
    IAM 권한 선택
  4. 역할 이름을 "aws-elasticbeanstalk-ec2-role"로 설정하고 신뢰할 수 있는 엔터티 선택의 그림과 내용이 같은지 확인한다.
    IAM 역할 설정
  5. 위의 과정을 모두 끝낸 후 "역할 생성" 버튼을 누르면 완성!
  1. 검토 단계에서 앞서 입력한 정보들이 틀리지 않았는지 확인하고 "제출" 버튼을 누른다.
    제출한 후 5~10분 정도 기다리면 EB 환경이 생성된다. EC2로 가서 Instance를 확인하면 내가 만든 EB 서비스가 활성화된 것을 확인할 수 있다.

EB 살펴보기

EC2 인스턴스에서 내가 생성한 EB의 도메인 주소를 사용하여 SSH혹은 PuTTY로 접속해보면 똑같은 아래와 같은 화면을 보여준다.
EB 화면

  • /var/app/current : 실행파일을 올리면 이 경로에 저장된다.
  • /var/log : 로그들은 이 경로에 쌓인다
    web.stdout.log : 웹/앱의 로그 파일
    eb-engine.log : EB 자체 로그
  • /var/log/nginx : EB는 기본적으로 nginx 웹서버가 있고 그 안에 WAS 서버가 있는 형식이다. nginx 로그는 이 경로에 있다.

EB 환경 설정

EB 환경은 "구성"에 가서 설정한다.

  • 환경 변수 : 업데이트, 모니터링 및 로깅 > 플랫폼 소프트웨어 > 환경 속성
  • 오토스케일링 : 인스턴스 트래픽 및 크기 조정 구성 > 용량 > 오토 스케일링 그룹
profile
데이터 엔지니어를 꿈꾸는 주니어 입니다!

0개의 댓글