Elastic Beanstalk로 예제 애플리케이션 생성 - AWS Elastic Beanstalk

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

Elastic Beanstalk로 예제 애플리케이션 생성

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

애플리케이션 및 환경 생성

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

참고

새 환경을 성공적으로 생성하려면 2024년 10월 1일 이후에 생성된 AWS 계정에서 일시적으로 옵션을 설정해야 합니다. 새 계정의 경우와 마찬가지이지만 계정에 환경이 아직 없는 리전의 경우에만 기존 계정에서 동일한 작업을 수행해야 합니다. 자세한 내용은 시작 템플릿 단원을 참조하십시오.

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

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

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

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

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

  6. Next(다음)를 선택합니다.

  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. Next(다음)를 선택합니다.

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

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. Next(다음)를 선택합니다.

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

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

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

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

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

    중요

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

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

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

Elastic Beanstalk 워크플로

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

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

  2. 다음 AWS 리소스가 있으며 이름이 GettingStartedApp-env인 환경을 시작합니다.

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

    • Amazon EC2 보안 그룹

    • Amazon Simple Storage Service(S3) 버킷

    • Amazon CloudWatch 경보

    • AWS CloudFormation 스택

    • 도메인 이름

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

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

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

환경 생성 프로세스 중 콘솔이 진행 상황을 추적하고 이벤트 탭의 이벤트 상태를 표시합니다. 모든 리소스가 시작되고 애플리케이션을 실행하는 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 경보 - 환경의 인스턴스에 대한 로드를 모니터링하는 두 개의 CloudWatch 경보로, 로드가 너무 높거나 너무 낮은 경우 트리거됩니다. 경보가 트리거되면 이에 대한 응답으로 Auto Scaling 그룹이 스케일 업 또는 축소됩니다.

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

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

    도메인 보안

    Elastic Beanstalk 애플리케이션의 보안을 강화하기 위해 elasticbeanstalk.com 도메인이 공개 서픽스 목록(PSL)에 등록되어 있습니다.

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