AWS Elastic Beanstalk – 간편한 애플리케이션 배포



이 AWS Elastic Beanstalk 자습서는 AWS Elastic Beanstalk를 사용하여 AWS 클라우드에 웹 애플리케이션을 배포하는 방법을 이해하는 데 도움이됩니다.

더 이상 초기 단계에 있지 않습니다. 이제 잘 확립되고혁신적인 플랫폼 역할을하여 기업은 기존 인프라에서 제공 할 수없는 애플리케이션을 구현할 수 있습니다.이러한 성공은 기하 급수적으로 증가했습니다. , PaaS는 그중 하나입니다. Amazon은 PaaS 모델을 따르는 자체 서비스를 시작했습니다. AWS 탄력있는 콩나무!

이 AWS Beanstalk 기사에서 다루는 주제를 살펴 보겠습니다.





  1. Amazon Elastic Beanstalk 란 무엇입니까?
  2. AWS Elastic Beanstalk의 이점
  3. AWS Elastic Beanstalk 구성 요소
  4. AWS Elastic Beanstalk 아키텍처
  5. 데모 – Beanstalk에 애플리케이션 배포

Amazon Elastic Beanstalk 란 무엇입니까?

ElasticBeanstalk-Elastic Beanstalk-Edureka

클라우드 컴퓨팅은 전체 애플리케이션 개발 프로세스를 재편하고 있습니다. 다음을 포함한 여러 클라우드 공급 업체Amazon Web Services 및 Microsoft Azure는 프로세스를보다 간단하고 안전하게 만드는 데 도움이되는 개발 도구를 제공합니다. AWS Elastic Beanstalk는 PaaS 모델을 기반으로 구현 된 이러한 개발 도구 중 하나입니다.



AWS Elastic Beanstalk는 Apache, Nginx, Passenger 및 IIS와 같은 친숙한 서버에서 Java, .NET, PHP, Node.js, Python, Ruby, Go 및 Docker로 개발 된 웹 애플리케이션 및 서비스를 배포하고 확장하기위한 사용하기 쉬운 서비스입니다.

AWS Elastic Beanstalk를 사용하면 개발자가 기본 인프라를 프로비저닝하지 않고도 고 가용성을 유지하면서 애플리케이션을 배포 할 수 있습니다. Elastic Beanstalk에 대해 자세히 알아 보려면 다음 비디오를 살펴보십시오.

AWS Elastic Beanstalk 자습서 | Edureka

하지만 이미 많은 다른 플랫폼이 있는데 Elastic Beanstalk를 선택하는 이유는 무엇입니까? 이제 Elastic Beanstalk의 이점에 대해 논의 해 보겠습니다.



AWS Elastic Beanstalk의 이점

다음은 AWS Elastic Beanstalk가 다른 PaaS 서비스에 비해 제공하는 몇 가지 이점입니다.

속도-Elastic Beanstalk-Edureka더 빠른 배포 제공 : Elastic Beanstalk는 개발자에게 애플리케이션을 배포하는 가장 빠르고 간단한 방법을 제공합니다. 몇 분 내에 애플리케이션은 사용자가 기본 인프라 또는 리소스 구성을 처리 할 필요없이 사용할 준비가됩니다.

로고-Elastic Beanstalk-EdurekaM 지원얼티 테넌트건축물: AWS Elastic Beanstalk를 사용하면 사용자가 높은 확장 성과 보안으로 여러 디바이스에서 애플리케이션을 공유 할 수 있습니다. 응용 프로그램 사용 및 사용자 프로필에 대한 자세한 보고서를 제공합니다.

로고-Elastic Beanstalk-Edureka운영 단순화 : Beanstalk는 인프라를 프로비저닝 및 운영하고 애플리케이션 스택을 관리합니다. 개발자는 서버, 데이터베이스, 방화벽 및 네트워크를 관리하고 구성하는 데 시간을 소비하는 대신 애플리케이션 용 코드 개발에만 집중하면됩니다.

완벽한 리소스 제어 제공 : 콩나무는 드를 준다벨로 퍼스AW를 선택할 수있는 자유S 자원, 같은 EC2 인스턴스 유형, 그 응용 프로그램에 최적입니다. 이를 통해 개발자는 AWS 리소스에 대한 모든 권한을 유지하고 언제든지 액세스 할 수 있습니다.

개발자가 AWS Elastic Beanstalk를 선호하는 이유를 믿을 수있는 확실한 이유가 있으므로 기본 개념을 살펴 보겠습니다.

공인 AWS 아키텍트가되고 싶으십니까?

AWS Elastic Beanstalk 구성 요소

Beanstalk에 애플리케이션을 배포 할 때 자주 접하게 될 특정 핵심 개념이 있습니다. 이러한 개념을 살펴 보겠습니다.

신청:

  • Elastic Beanstalk의 애플리케이션은 개념적으로 폴더와 유사합니다.
  • 응용 프로그램은 다음을 포함하는 구성 요소 모음입니다. 환경, 버전 환경 구성

애플리케이션 버전 :

  • 응용 프로그램 버전은 웹 응용 프로그램에 대해 배포 가능한 코드의 레이블이 지정된 특정 반복을 나타냅니다.
  • 애플리케이션 버전은 Java WAR 파일과 같은 배포 가능한 코드가 포함 된 Amazon S3 객체를 가리 킵니다.

환경:

  • Elastic Beanstalk 애플리케이션 내의 환경은 애플리케이션의 현재 버전이 활성화되는 곳입니다.
  • 각 환경은 한 번에 하나의 애플리케이션 버전 만 실행합니다. 그러나 여러 환경에서 동시에 동일한 또는 다른 버전의 애플리케이션을 실행할 수 있습니다.

환경 계층 :

요구 사항에 따라 beantalk는 두 가지 다른 환경 계층을 제공합니다. 웹 서버환경, 작업자 환경

  • 웹 서버 환경: 핸들클라이언트의 HTTP 요청
  • 노동자환경 : 프로세스리소스와 시간이 많이 소요되는 백그라운드 작업

다음은 방법을 보여주는 그림입니다.애플리케이션, 애플리케이션 버전 및 환경서로 관련 :

기본 컨테이너 유형을 사용하는 Beanstalk 환경은 다음과 같습니다.


이제 Elastic Beanstalk와 관련된 다양한 주요 개념에 대해 알았으니 Elastic Beanstalk의 아키텍처를 이해해 보겠습니다.

AWS Elastic Beanstalk 아키텍처

AWS Elastic Beanstalk 아키텍처에 들어가기 전에 가장 자주 묻는 질문에 답해 보겠습니다.

Elastic Beanstalk 환경이란 무엇입니까?

환경은 애플리케이션의 현재 버전을 나타냅니다. 애플리케이션에 대한 환경을 시작할 때 Beanstalk는 두 가지 다른 환경 계층 (예 : 웹) 중에서 선택하도록 요청합니다. 섬기는 사람 환경 또는 근무 환경 . 하나씩 이해합시다.

웹 서버 환경

웹 서버 환경에 설치된 애플리케이션 버전은 클라이언트의 HTTP 요청을 처리합니다. 다음 다이어그램은 웹 서버 환경 계층에 대한 AWS Elastic Beanstalk 아키텍처의 예를 보여주고 해당 유형의 환경 계층에있는 구성 요소가 함께 작동하는 방식을 보여줍니다.

콩나무 환경 – 환경은 애플리케이션의 핵심입니다. 환경을 시작하면 Beanstalk는 애플리케이션을 성공적으로 실행하는 데 필요한 다양한 리소스를 할당합니다.

mysql_fetch_array

Elastic Load Balancer – 애플리케이션이 클라이언트로부터 여러 요청을 수신하면 Amazon Route53은 이러한 요청을 Elastic Load Balancer로 전달합니다. 로드 밸런서는 Auto Scaling Group의 EC2 인스턴스간에 요청을 분산합니다.

Auto Scaling 그룹 – Auto Scaling Group은 애플리케이션의 증가하는로드를 수용하기 위해 추가 Amazon EC2 인스턴스를 자동으로 시작합니다. 애플리케이션의로드가 감소하면 Amazon EC2 Auto Scaling은 인스턴스를 중지하지만 항상 하나 이상의 인스턴스를 실행 상태로 둡니다.

호스트 관리자 – 애플리케이션에 할당 된 모든 EC2 인스턴스에서 실행되는 소프트웨어 구성 요소입니다. 호스트 매니저는 다음과 같은 다양한 일을 담당합니다.

  • 애플리케이션 로그 파일 생성 및 모니터링
  • 인스턴스 수준 이벤트 생성
  • 애플리케이션 서버 모니터링

보안 그룹 – 보안 그룹은 인스턴스의 방화벽과 같습니다. Elastic Beanstalk에는 클라이언트가 HTTP 포트 80을 사용하여 애플리케이션에 액세스 할 수있는 기본 보안 그룹이 있습니다. 또한 데이터베이스 서버에 대한 보안 그룹을 정의 할 수있는 옵션도 제공합니다. 아래 이미지는 웹 서버 환경에 대해 배운 내용을 요약 한 것입니다.

이것이 웹 서버 환경에 관한 것입니다. 그러나 웹 서버 계층에 설치된 응용 프로그램 버전이 요청을 처리하는 동안 시간과 리소스를 많이 소비하는 작업을 겪었 기 때문에 여러 요청을 계속 거부하면 어떻게 될까요? 글쎄, 이것은 작업자 계층이 그림에 나오는 곳입니다.

'클라우드'지식을 한 단계 더 높이고 싶으십니까?

근무 환경

작업자는 리소스 집약적이거나 시간 집약적 인 작업을 처리하여 웹 서버 계층을 지원하는 별도의 백그라운드 프로세스입니다. 또한 이메일 알림을 보내고 보고서를 생성하며 데이터베이스를 정리합니다. 이를 통해 애플리케이션이 응답 성을 유지하고 여러 요청을 처리 할 수 ​​있습니다.

AWS CLI를 여는 방법

훌륭하지만 작업자 프로세스는 처리 할 작업과시기를 어떻게 알 수 있습니까? 이 두 환경 계층은 어떻게 통신합니까? 이를 위해 AWS에서 Amazon Simple Queue Service (SQS)를 호출하는 메시지 대기열 서비스를 사용합니다. 아래 이미지는 작업자 프로세스가 백그라운드 작업을 수신하고 처리하는 방법에 대한 대략적인 아이디어를 제공합니다.

작업자 프로세스의 워크 플로는 매우 간단합니다. 작업자 환경 티어를 시작하면 Elastic Beanstalk는 Auto Scaling 그룹의 각 EC2 인스턴스에 데몬을 설치합니다. 데몬은 Amazon SQS 대기열에서 보낸 요청을 가져옵니다. 대기열의 우선 순위에 따라 SQS는게시하다작업자 환경의 HTTP 경로에 대한 요청입니다. 받는 노동자메시지는 작업을 실행하고 작업이 완료되면 HTTP 응답을 보냅니다. 응답 메시지 수신시 SQS는 대기열에서 메시지를 삭제합니다. 응답을받지 못하면 계속해서 메시지 전송을 다시 시도합니다.

이론적으로 Elastic Beanstalk를 보았으므로 이제이 블로그의 나머지 부분에서 Elastic Beanstalk에 애플리케이션을 배포하는 방법을 살펴 보겠습니다.

Elastic Beanstalk에 애플리케이션 배포

Elastic Beanstalk에 애플리케이션을 배포하는 것은 매우 간단한 프로세스입니다. 애플리케이션을 단계별로 배포하는 방법을 살펴 보겠습니다.

1 단계: Elastic Beanstalk 콘솔에서 새 응용 프로그램 만들기 선택권. 응용 프로그램에 대한 이름과 적절한 설명을 제공 할 수있는 대화 상자가 나타납니다.

2 단계: 이제 응용 프로그램 폴더가 생성되었으므로 작업 탭 그리고 선택 환경 만들기 선택권. Beanstalk는 애플리케이션을위한 여러 환경을 생성 할 수있는 옵션을 제공합니다.

3 단계 : 두 가지 다른 환경 계층 옵션 중에서 선택합니다. 애플리케이션이 HTTP 요청을 처리하도록하려면 웹 서버 환경을 선택하고 백그라운드 작업을 처리 할 작업자 환경을 선택합니다.

4 단계 : 애플리케이션에 대한 도메인 이름과 설명을 제공해야하는 또 다른 대화 상자가 나타납니다.

5 단계 : 응용 분야에 적합한 플랫폼을 선택하십시오. Elastic Beanstalk는 여러 옵션을 제공합니다. Beanstalk에서 제공하는 샘플 애플리케이션을 선택하거나 애플리케이션에 대한 코드가있는 파일을 업로드 할 수 있습니다.

Beanstalk는 환경을 시작하는 데 몇 분 정도 걸립니다. 환경이 시작되면 탐색 창에서 애플리케이션 구성을 변경하고 로그 파일 및 이벤트를 볼 수있는 여러 옵션을 볼 수 있습니다. 이미 환경 페이지에 있으므로 Beanstalk에서 제공하는 다양한 기능을 탐색 해보세요.

6 단계 : 오른쪽 상단에서 애플리케이션 버전의 URL을 찾을 수 있습니다. 해당 URL을 클릭하십시오. Elastic Beanstalk에서 애플리케이션을 성공적으로 시작했음을 확인하는 페이지로 이동합니다.

축하합니다! Elastic Beanstalk Platform에 애플리케이션을 성공적으로 배포했습니다.

이제 Elastic Beanstalk에 대한 명확한 그림과 Beanstalk를 사용하여 애플리케이션을 배포하는 방법을 이해 하셨기를 바랍니다.

그래서 이것이다! 이 블로그가 유익하고 지식에 가치를 더하기를 바랍니다. Amazon Web Services에 대한 지식을 한 단계 더 높이고 싶다면 다음 단계에 등록하십시오. 물론 Edureka에 의해.

질문이 있으십니까? “AWS Elastic Beanstalk”의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.