AWS elastic beanstalk

해피데빙·2022년 9월 28일
0

AWS Elastic Beanstalk

Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, Passenger, IIS와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있는 서비스입니다.

  • 용량 프로비저닝
  • 로드 밸런싱
  • Auto Scaling : 애플리케이션의 특정 요건에 따라 자동으로 애플리케이션을 확장하거나 축소. 비용 최소화 + 높은 워크로드, 트래픽 처리 가능
    ex. CPU 사용률 지표를 참조해 Auto Scaling 작업을 트리거할 수 있다
    (사용하고 있는 worker의 CPU 사용률에 따라 78%이상이면 +1/ 29% 미만이면 -1)
  • 애플리케이션 상태 모니터링
    등 배포를 자동으로 처리

클라우드에 비컨테이너식 애플리케이션 배포
Elastic Beanstalk를 사용하여 배포할 NodeJS 앱 패키지화
CDK를 사용하는 Elastic Beanstalk에 필요한 모든 인프라 생성
비컨테이너식 배포 업데이트

파일 /lib/cdk-eb-infra-stack.ts로 이동합니다. 생성하려는 리소스 스택에 대한 코드를 작성할 위치입니다.

리소스 스택은 특정 계정에 프로비저닝될 클라우드 인프라 리소스의 집합(특정한 경우 모든 AWS 리소스)입니다. 이 리소스가 프로비저닝되는 계정은 필수 단계에서 구성한 스택입니다. 이 리소스 스택에서는 이 리소스를 생성하게 됩니다.

  • S3 자산: S3에 압축한 애플리케이션을 업로드하도록 지원하며, 객체 위치를 얻을 수 있는 방법으로 CDK 애플리케이션을 제공합니다.

  • Elastic Beanstalk 앱: Elastic Beanstalk 구성 요소의 논리적 모음으로 환경, 버전 및 환경 구성을 포함합니다.

  • Elastic Beanstalk 앱 버전: 웹 애플리케이션에 대한 배포 가능한 코드의 특정의 레이블을 지정한 반복을 말합니다. Amazon Simple Storage Service(Amazon S3) 객체를 가리키는 애플리케이션 버전으로, 배포 가능한 코드를 포함합니다. 사용자의 경우에는 S3 자산을 사용하여 S3에 업로드할 zip 파일입니다. 애플리케이션에는 다양한 버전이 있을 수 있으며, 각 애플리케이션 버전은 고유합니다.

  • 인스턴스 프로파일 및 역할: AWS Identity and Access Management(IAM) 역할의 컨테이너로, 사용자는 인스턴스 시작 시 이를 사용하여 역할 정보를 Amazon EC2 인스턴스로 보낼 수 있습니다.

  • Elastic Beanstalk 환경: 애플리케이션 버전을 구현하는 AWS 리소스의 모음입니다. 각 환경은 한 번에 단 하나의 애플리케이션 버전만을 구동합니다.

웹 애플리케이션에 대한 배포 가능한 코드의 특정의 레이블을 지정한 반복을 말합니다. Amazon Simple Storage Service(Amazon S3) 객체를 가리키는 애플리케이션 버전으로, 배포 가능한 코드를 포함합니다. 사용자의 경우에는 S3 자산을 사용하여 S3에 업로드할 zip 파일입니다. 애플리케이션에는 다양한 버전이 있을 수 있으며, 각 애플리케이션 버전은 고유합니다.

profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17

0개의 댓글