AWS Elastic Beanstalk이란?

GwanMtCat·2023년 9월 7일
0

Elastic Beanstalk란?

  • AWS의 각종 서비스가 추가되면서 예로 EC2 하나만 만든다고 치면 여러 가지 서비스에 대한 파악이 전부 필요하다.

  • 인프라에 대해 자세히 알지 못해도 AWS 클라우드에 애플리케이션을 신속하게 배포, 관리를 지원하는 서비스가 Elastic Beanstalk 이다.

  • Go, Java, .NET, Node.js, PHP, Python, Ruby에서 개발된 어플리케이션 및 Docker 환경에서의 애플리케이션 지원하여 관련 자원을 쉽게 프로비저닝 할 수 있다.

    • 근데 큰 문제는 관련 자원이 프로비저닝되었을 때 어떻게 동작 되고 어떤 것이 생겨났는지 파악하고 있는것이 좋다 ㅋㅋㅋ

용어 및 개념

  • 위의 그림이 서비스의 플로우를 나타낸다.
    1. 어플리케이션을 생성한다.
    2. 어플리케이션 버전을 업데이트 하고, 환경을 실행한다.
    3. 환경을 관리한다.
      • 새 버전이 올라오는 경우에는 2번 부터 계속 순환한다.
  • 애플리케이션 이란?
    • 환경, 버전 및 환경 구성을 포함하는 ElasticBeanstalk 구성 요소의 논리적 컬렉션
    • 폴더라고 생각하면 쉽다.
  • 애플리케이션 버전 이란?
    • 웹 애플리케이션의 배포하려는 코드 파일 혹은 도커 이미지를 생각하면 쉽다.
  • 환경 이란?
    • 애플리케이션 버전을 실행 중인 AWS의 리소스 모음이다.
    • 한 번에 하나의 애플리케이션 버전만 실행하지만 여러 환경에서 동일한 애플리케이션 버전이나 서로 다른 애플리케이션 버전을 동시에 실행할 수 있다.
  • 환경 구성이란?
    • 환경 및 연관된 리소스의 작동 방법을 정의하는 파라미터 및 설정의 모음 식별
    • 환경의 구성 설정을 업데이트하면 Elastic Beanstalk에 자동으로 기존 리소스에 변경 사항을 적용하거나 삭제, 배포 한다.
  • 저장된 구성이란?
    • 고유한 환경 구성을 생성하기 위한 시작점으로 사용할 수 있는 템플릿을 말한다.
    • EB CLI, AWS CLI 혹은 API를 사용하여 저장된 구성을 생성 및 수정하고 환경에 적용할 수 있다.

그래서 왜 써야 할까?

  • 단순 EC2 배포를 떠나서 로드 밸런서 설정 및 오토스케일링 설정도 쉽게 할 수 있다. 위에서 언급했듯이 인프라를 크게 파악할 필요가 없다.

0개의 댓글