1단계: 예제 애플리케이션 생성 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

1단계: 예제 애플리케이션 생성

이 단계에서는 기존 예제 애플리케이션에서 시작하는 새 애플리케이션을 생성합니다. Elastic Beanstalk는 다양한 프로그래밍 언어, 애플리케이션 서버 및 Docker 컨테이너를 위한 플랫폼을 지원합니다. 애플리케이션을 만들 때 플랫폼을 선택합니다.

애플리케이션 및 환경 생성

예제 애플리케이션을 생성하려면 애플리케이션 생성 콘솔 마법사를 사용해야합니다. Elastic Beanstalk 애플리케이션을 생성하고 애플리케이션 내에서 환경을 시작합니다. 환경은 애플리케이션 코드를 실행하는 데 필요한 AWS 리소스 모음입니다.

예제 애플리케이션 생성
  1. Elastic Beanstalk 콘솔을 엽니다.

  2. 애플리케이션 생성을 선택합니다.

  3. 애플리케이션 이름getting-started-app을 입력합니다.

  4. 필요에 따라 애플리케이션 태그를 추가합니다.

  5. 플랫폼에서 플랫폼을 선택하세요.

  6. 다음을 선택합니다.

  7. 서비스 액세스 구성 페이지가 표시됩니다.

  8. 서비스 역할에서 기존 서비스 역할 사용을 선택합니다.

  9. 다음으로 EC2 인스턴스 프로파일 드롭다운 목록을 중점적으로 살펴보겠습니다. 이 드롭다운 목록에 표시되는 값은 계정이 이전에 새 환경을 만들었는지 여부에 따라 달라질 수 있습니다.

    목록에 표시된 값에 따라 다음 중 하나를 선택합니다.

    • 드롭다운 목록에 aws-elasticbeanstalk-ec2-role이(가) 표시되는 경우 EC2 인스턴스 프로파일 드롭다운 목록에서 선택합니다.

    • 목록에 다른 값이 표시되고 해당 값이 사용자 환경에 맞는 기본 EC2 인스턴스 프로파일인 경우 EC2 인스턴스 프로파일 드롭다운 목록에서 해당 값을 선택합니다.

    • EC2 인스턴스 프로파일 드롭다운 목록에 선택할 수 있는 값이 나열되어 있지 않은 경우 다음 절차인 EC2 인스턴스 프로파일용 IAM 역할 생성을 확장합니다.

      EC2 인스턴스 프로파일용 IAM 역할 생성의 단계를 완료하여 이후에 EC2 인스턴스 프로파일에서 선택할 수 있는 IAM 역할을 생성합니다. 그런 다음 이 단계로 돌아옵니다.

      이제 IAM 역할을 생성하고 목록을 새로 고쳤으므로 드롭다운 목록에 해당 역할이 선택 항목으로 표시됩니다. EC2 인스턴스 프로파일 드롭다운 목록에서 방금 생성한 IAM 역할을 선택합니다.

  10. 서비스 액세스 구성 페이지에서 검토로 건너뛰기를 선택합니다.

    이렇게 하면 선택적 단계가 생략됩니다.

  11. 검토(Review) 페이지에는 모든 선택 항목에 대한 개요가 표시됩니다.

    페이지 하단에서 제출(Submit)을 선택합니다.


              서비스 액세스 구성
EC2 인스턴스 프로파일 선택을 위한 IAM 역할을 만들려면
  1. 권한 세부 정보 보기를 선택합니다. 이는 EC2 인스턴스 프로파일 드롭다운 목록 아래에 표시됩니다.

    인스턴스 프로파일 권한 보기라는 제목의 모드 창이 표시됩니다. 이 창에는 생성한 새 EC2 인스턴스 프로파일에 연결해야 하는 관리 프로파일이 나열됩니다. 또한 IAM 콘솔을 시작할 수 있는 링크도 제공합니다.

  2. 창 상단에 표시되는 IAM 콘솔 링크를 선택합니다.

  3. IAM 콘솔의 탐색 창에서 역할을 선택합니다.

  4. 역할 생성을 선택합니다.

  5. 신뢰할 수 있는 엔터티 유형에서 AWS 서비스를 선택합니다.

  6. 사용 사례에서 EC2를 선택합니다.

  7. 다음을 선택합니다.

  8. 적절한 관리형 정책을 연결합니다. 인스턴스 프로파일 권한 보기 모드 창에서 스크롤하여 관리형 정책을 확인합니다. 정책은 다음에도 나열되어 있습니다.

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. 다음을 선택합니다.

  10. 역할 이름을 입력합니다.

  11. (선택 사항) 태그를 역할에 추가합니다.

  12. 역할 생성을 선택합니다.

  13. 열려 있는 Elastic Beanstalk 콘솔 창으로 돌아갑니다.

  14. 인스턴스 프로파일 권한 보기 모드 창을 닫습니다.

    중요

    Elastic Beanstalk 콘솔이 표시되는 브라우저 페이지를 닫지 마십시오.

  15. EC2 인스턴스 프로파일 드롭다운 목록 옆의 
          refresh icon
        (새로 고침)을(를) 선택합니다.

    그러면 드롭다운 목록이 새로 고쳐지고 방금 생성한 역할이 드롭다운 목록에 표시됩니다.

Elastic Beanstalk 워크플로

AWS 리소스에 예제 애플리케이션을 배포하고 실행하기 위해 Elastic Beanstalk는 다음 작업을 수행합니다. 완료되는 데는 약 5분이 걸립니다.

  1. 라는 이름의 Elastic Beanstalk 애플리케이션을 생성합니다. getting-started-app

  2. 다음 리소스를 사용하여 GettingStartedApp-env라는 환경을 시작합니다. AWS

    • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스(가상 머신)

    • Amazon EC2 보안 그룹

    • Amazon Simple Storage Service(S3) 버킷

    • 아마존 CloudWatch 알람

    • 스택 AWS CloudFormation

    • 도메인 이름

    이러한 AWS 리소스에 대한 자세한 내용은 을 참조하십시오AWS 예제 애플리케이션용으로 생성된 리소스.

  3. 예제 애플리케이션이라는 새 애플리케이션 버전을 생성합니다. 기본 Elastic Beanstalk 예제 애플리케이션 파일입니다.

  4. 예제 애플리케이션의 코드를 GettingStartedApp-env 환경에 배포합니다.

환경 생성 프로세스 중 콘솔이 진행 상황을 추적하고 이벤트를 표시합니다.


                환경을 생성할 때 발생하는 이벤트를 보여주는 Elastic Beanstalk 콘솔

모든 리소스가 시작되고 애플리케이션을 실행하는 EC2 인스턴스가 상태 확인을 통과하면, 환경의 상태가 Ok로 변경됩니다. 이제 웹 애플리케이션의 웹사이트를 사용할 수 있습니다.

AWS 예제 애플리케이션용으로 생성된 리소스

예제 애플리케이션을 만들면 Elastic Beanstalk는 다음과 같은 리소스를 생성합니다. AWS

  • EC2 인스턴스 - 선택한 플랫폼에서 웹 앱을 실행하도록 구성된 Amazon EC2 가상 머신입니다.

    특정 언어 버전, 프레임워크, 웹 컨테이너 또는 조합을 지원하도록 각 플랫폼마다 실행하는 소프트웨어, 구성 파일 및 스크립트 세트가 다릅니다. 대부분의 플랫폼에서는 웹 앱 앞의 웹 트래픽을 처리하고, 웹 앱으로 요청을 전달하고, 정적 자산을 제공하고, 액세스 및 오류 로그를 생성하는 역방향 프록시로 Apache 또는 nginx를 사용합니다.

  • 인스턴스 보안 그룹 - 포트 80에서 수신 트래픽을 허용하도록 구성된 Amazon EC2 보안 그룹입니다. 이 리소스를 통해 로드 밸런서의 HTTP 트래픽이 웹 앱을 실행하는 EC2 인스턴스에 도달할 수 있습니다. 기본적으로 다른 포트에서는 트래픽이 허용되지 않습니다.

  • Amazon S3 버킷(Amazon S3 bucket) - Elastic Beanstalk 사용 시 생성된 소스 코드, 로그 및 기타 아티팩트의 스토리지 위치입니다.

  • Amazon CloudWatch alarms — 환경 내 인스턴스의 부하를 모니터링하고 부하가 너무 높거나 낮을 경우 트리거되는 두 개의 CloudWatch 경보입니다. 경보가 트리거되면 이에 대한 응답으로 Auto Scaling 그룹이 스케일 업 또는 축소됩니다.

  • AWS CloudFormation 스택 — Elastic AWS CloudFormation Beanstalk는 사용자 환경에서 리소스를 시작하고 구성 변경 사항을 전파하는 데 사용합니다. 리소스는 AWS CloudFormation 콘솔에서 볼 수 있는 템플릿에서 정의됩니다.

  • 도메인 이름(Domain name) - subdomain.region.elasticbeanstalk.com 형식으로 웹 앱으로 라우팅되는 도메인 이름입니다.

    참고

    Elastic Beanstalk 애플리케이션의 보안을 강화하기 위해 elasticbeanstalk.com 도메인이 공개 서픽스 목록(PSL)에 등록되어 있습니다. 보안 강화를 위해 Elastic Beanstalk 애플리케이션 기본 도메인 이름에 민감한 쿠키를 설정해야 하는 경우 __Host- 접두사가 있는 쿠키를 사용하는 것이 좋습니다. 이렇게 쿠키를 설정하면 교차 사이트 요청 위조 시도(CSRF)로부터 도메인을 보호하는 데 도움이 됩니다. 자세한 내용은 Mozilla 개발자 네트워크의 Set-Cookie 페이지를 참조하세요.