[aws] EB(Elastic Beanstalk)

림예·2024년 5월 30일

CS

목록 보기
17/19

EB(Elastic Beanstalk)

AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있는 서비스

  • 애플리케이션을 업로드만 하면 용량 프로비저닝, 로드 밸런싱, 조정, 모니터링 등 자동 처리
  • EB console, AWS CLI를 이용해 상호작용

workflow

  • 애플리케이션 생성 후, 애플리케이션 버전을 업로드하면 EB가 자동으로 환경 실행
  • 스스로 코드 실행에 필요한 AWS 리소스 생성 및 구성

프로비저닝(Provisioning)
사용자의 요구에 맞게 시스템 자원을 미리 준비하여
필요 시 바로 사용할 수 있도록 하는 것



주요 개념

1. application

  • 환경, 버전 및 환경 구성을 포함한 EB구성 요소의 논리적 컬렉션
  • 폴더 개념과 유사

2. application version

  • 웹 애플리케이션의 배포 가능한 코드의 특정 반복을 의미
  • 애플리케이션 내에 여러 애플리케이션 버전이 존재할 수 있음
  • 배포 방법
    • 실행 중인 환경에서 애플리케이션에 이미 업로드된 애플리케이션 버전을 배포
    • 새로운 애플리케이션을 업로드와 동시에 배포 가능

3. environment

  • 애플리케이션 버전을 실행 중인 AWS 리소스 모음
  • 각 환경은 하나의 애플리케이션 버전 실행만 가능
    (여러 환경에서 동일한 애플리케이션 버전 실행은 가능)
  • 환경 생성 후, EB에서 자동으로 사용자가 지정한 애플리케이션 버전을 실행하는 데 필요한 리소스를 프로비저닝함

4. environment tier

  • 환경에서 실행하는 애플리케이션 유형 지정
  • 주로 HTTP 요청을 처리하는 웹 서버 환경 티어에서 실행

5. environment configuration

  • 환경 및 연관된 리소스의 작동 방법을 정의하는 설정의 모음
  • 환경 구성 설정 업데이트 시, EB가 자동으로 변경 사항 적용

6. saved configuration

  • 고유한 환경 구성을 생성하기 위한 시작점으로 사용할 수 있는 템플릿

7. platform

  • OS, 프로그래밍 언어 런타임, 웹 서버, 애플리케이션 서버 및 EB 구성 요소의 조합



시작하기

1. 애플리케이션 생성
애플리케이션 태그

  • 필요에 따라 추가
  • AWS 리소스와 연결된 키-값

태그 지정이 가능한 리소스

  • 애플리케이션
  • 환경
  • 애플리케이션 버전
  • 저장된 구성
  • 사용자 지정 플랫폼 버전

플랫폼


2. 환경 생성(시작)

애플리케이션 생성 시, EB가 자동 수행

  • 애플리케이션 이름이 getting-started-app인 경우, GettingStartedApp-env 환경 시작

자동 생성되는 AWS 리소스

  • Amazon EC2 인스턴스
  • Amazon EC2 보안그룹
    • AWSEBSecurityGroup
    • AWSEBLoadBalancerSecurityGroup
  • Amazon S3 버킷
  • Amazon CloudWatch 경보
  • Amazon CloudFormation 스택
  • 도메인 이름: subdomain.region.elasticbeanstalk.com

애플리케이션 버전 작성
환경에 애플리케이션 코드 배포


3. 환경 탐색

  • 구성
    환경에 프로비저닝된 리소스

  • 상태
    애플리케이션을 실행하는 Amazon EC2 인스턴스에 대한 상태와 세부 상태 정보

  • 모니터링
    평균 지연 시간 및 CPU 사용률 등 환경에 대한 통계
    모니터링 중인 측정치에 대한 경보 설정 가능

  • 이벤트
    환경에서 사용하는 EB 서비스 및 리소스가 있는 다른 서비스의 정보/오류 메세지

  • 태그
    환경에 적용되는 태그를 표시 및 관리



웹 서버 환경(환경 티어)

AWS 리소스: ELB > Auto Scaling 그룹 > Amazon EC2(하나 이상)

  • 로드 밸런서를 가리키는 CNAME(URL)
    • 환경 URL을 Amazon Route 53에서 CNAME 레코드를 사용하여 ELB URL로 별칭 지정
    • myapp.us-west-2.elasticbeanstalk.com -> abcdef-123456.us-west-2.elb.amazonaws.com

CNAME(Canonical Name)

  • 하나의 도메인 이름을 다른 이름으로 매핑시키는 DNS 리소스 레코드의 일종
  • 하나의 IP 주소로부터 여러 개의 서비스를 실행할 때 편리








profile
Think big 🌏

0개의 댓글