Elastic Beanstalk에서 Java 시작하기 - AWS Elastic Beanstalk

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

Elastic Beanstalk에서 Java 시작하기

AWS Elastic Beanstalk에서 Java 애플리케이션을 시작하려면 첫 번째 애플리케이션 버전으로 업로드하고 환경에 배포할 애플리케이션 소스 번들만 있으면 됩니다. 환경을 생성하면 Elastic Beanstalk는 확장 가능한 웹 애플리케이션을 실행하는 데 필요한 모든 AWS 리소스를 할당합니다.

샘플 Java 애플리케이션을 사용해 환경 시작

Elastic Beanstalk는 각 플랫폼의 단일 페이지 샘플 애플리케이션은 물론 Amazon RDS와 언어 또는 플랫폼별 기능과 API와 같은 추가 AWS 리소스 사용을 보여주는 더 복잡한 예제를 제공합니다.

단일 페이지 샘플은 고유한 소스 코드를 제공하지 않고 환경을 생성할 때 얻는 것과 동일한 코드입니다. 더 복잡한 예제는 GitHub에 호스팅되며 Elastic Beanstalk 환경에 배포하기 전에 컴파일하거나 빌드해야 합니다.

샘플

이름

지원되는 버전

환경 유형

소스

설명

Tomcat(단일 페이지)

모든 Corretto 사용 Tomcat 플랫폼 브랜치

웹 서버

작업자

tomcat.zip

웹 사이트 루트에 표시되도록 구성된 단일 페이지(index.jsp)가 있는 Tomcat 웹 애플리케이션입니다.

작업자 환경의 경우 이 샘플에는 1분마다 cron.yaml를 호출하는 예약 작업을 구성하는 scheduled.jsp 파일이 들어 있습니다. scheduled.jsp가 호출되면 /tmp/sample-app.log의 로그 파일에 작성합니다. 마지막으로, 환경 로그 요청 시 .ebextensions에서 Elastic Beanstalk가 읽는 위치로 로그를 복사하는 구성 파일은 /tmp/에 들어 있습니다.

이 샘플을 실행하는 환경에서 X-Ray 통합을 활성화하면 애플리케이션에서 X-Ray에 관한 추가 콘텐츠를 보여 주고, X-Ray 콘솔에서 볼 수 있는 디버그 정보를 생성하기 위한 옵션을 제공합니다.

Corretto(단일 페이지)

Corretto 11

Corretto 8

웹 서버

corretto.zip

BuildfileProcfile 구성 파일이 있는 Corretto 애플리케이션입니다.

이 샘플을 실행하는 환경에서 X-Ray 통합을 활성화하면 애플리케이션에서 X-Ray에 관한 추가 콘텐츠를 보여 주고, X-Ray 콘솔에서 볼 수 있는 디버그 정보를 생성하기 위한 옵션을 제공합니다.

Scorekeep

Java 8 웹 서버 GitHub.com에서 리포지토리 복제

Scorekeep은 Spring 프레임워크를 사용하여 사용자, 세션 및 게임을 만들고 관리하기 위한 인터페이스를 제공하는 RESTful 웹 API입니다. API는 HTTP를 통해 API를 사용하는 Angular 1.5 웹 앱이 있는 번들입니다.

애플리케이션은 Java SE 플랫폼의 기능을 사용하여 종속 항목을 다운로드하고 인스턴스 상에서 빌드하며, 소스 번들의 크기를 최소화합니다. 이 애플리케이션에는 프록시를 통해 포트 80에서 프런트엔드 웹 앱을 정적으로 처리하도록 기본 구성을 재정의하고, /api 아래의 경로에 대한 요청을 localhost:5000에서 실행되는 API로 라우팅하는 nginx 구성 파일도 포함되어 있습니다.

Scorekeep에는 xray에서 사용할 Java 애플리케이션을 계측하는 방법을 보여 주는 AWS X-Ray 브랜치도 포함되어 있습니다. 이는 서블릿 필터를 사용한 수신 HTTP 요청의 계측, 자동 및 수동 AWS SDK 클라이언트 계측, 레코더 구성, 발신 HTTP 요청 및 SQL 클라이언트의 계측을 보여 줍니다.

readme에서 지침을 참조하거나 AWS X-Ray 시작 자습서를 사용하여 X-Ray와 함께 애플리케이션을 사용해 보세요.

Does it Have Snakes?

Tomcat 8과 Java 8 웹 서버 GitHub.com에서 리포지토리 복제

Does it Have Snakes?는 Elastic Beanstalk 구성 파일, Amazon RDS, JDBC, PostgreSQL, Servlet, JSP, Simple Tag Support, Tag File, Log4J, Bootstrap, Jackson의 사용을 보여주는 Tomcat 웹 애플리케이션입니다.

이 프로젝트의 소스 코드에는 서블릿과 모델을 클래스 파일로 컴파일하고 필요한 파일을 Elastic Beanstalk 환경에 배포할 수 있는 Web Archive로 패키징하는 최소의 빌드 스크립트가 포함되어 있습니다. 전체 지침은 프로젝트 리포지토리의 추가 정보 파일을 참조하십시오.

Locust Load Generator

Java 8

웹 서버

GitHub.com에서 리포지토리 복제

다른 Elastic Beanstalk 환경에서 실행 중인 다른 웹 애플리케이션에 대한 부하 테스트를 할 때 사용할 수 있는 웹 애플리케이션입니다. BuildfileProcfile 파일, DynamoDB, 오픈 소스 부하 테스트 도구인 Locust의 사용을 보여 줍니다.

샘플 애플리케이션을 다운로드하고 다음 단계에 따라 이를 Elastic Beanstalk에 배포합니다.

샘플 애플리케이션을 사용하여 환경을 시작하려면(콘솔)
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 애플리케이션을 선택한 다음 목록에서 기존 애플리케이션의 이름을 선택하거나 애플리케이션을 생성합니다.

  3. 애플리케이션 개요 페이지에서 새 환경 생성(Create new environment)을 선택합니다.

    
              Elastic Beanstalk 콘솔의 애플리케이션 환경 목록을 보여주는 애플리케이션 개요 페이지

    그러면 환경 생성(Create environment) 마법사가 시작됩니다. 마법사는 새로운 환경을 생성하기 위한 여러 단계 집합을 제공합니다.

    
              Elastic Beanstalk 콘솔의 환경 생성 마법사
  4. 환경 티어의 경우, 웹 서버 환경(Web server environment) 또는 작업자 환경(Worker environment) 환경 티어를 선택합니다. 생성한 후에는 환경의 티어를 변경할 수 없습니다.

    참고

    Windows Server 플랫폼의 .NET에서는 작업자 환경 티어를 지원하지 않습니다.

  5. 플랫폼에서 애플리케이션에 사용되는 언어와 일치하는 플랫폼 및 플랫폼 브랜치를 선택합니다.

    참고

    Elastic Beanstalk는 나열된 대부분의 플랫폼의 복수 버전을 지원합니다. 콘솔은 기본적으로 선택된 플랫폼 및 플랫폼 브랜치의 권장 버전을 선택합니다. 애플리케이션에 다른 버전이 필요한 경우에는 여기서 해당 버전을 선택할 수 있습니다. 지원되는 플랫폼 버전에 대한 자세한 내용은 Elastic Beanstalk 지원되는 플랫폼을 참조하십시오.

  6. 애플리케이션 코드에서 샘플 애플리케이션을 선택합니다.

  7. 구성 사전 설정(Configuration presets)에서 단일 인스턴스(Single instance)를 선택합니다.

  8. 다음(Next)을 선택합니다.

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

    
              서비스 액세스 구성
  10. 서비스 역할에서 기존 서비스 역할 사용을 선택합니다.

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

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

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

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

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

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

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

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

    그러면 이 단계의 기본값이 선택되고 선택적 단계를 건너뜁니다.

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

    환경을 추가로 사용자 지정하려면 구성하려는 항목이 포함된 단계 옆에 있는 편집(Edit)을 선택합니다. 다음 옵션은 환경 생성 중에만 설정할 수 있습니다.

    • Environment name

    • 도메인 이름

    • 플랫폼 버전

    • 처리자

    • VPC

    • 티어

    다음 설정은 환경 생성 후에 변경할 수 있지만, 새 인스턴스 또는 다른 리소스를 프로비저닝해야 하며 적용하는 데 시간이 오래 걸릴 수 있습니다.

    • 인스턴스 유형, 루트 볼륨, 키 페어 및 AWS Identity and Access Management(IAM)역할

    • 내부 Amazon RDS 데이터베이스

    • 로드 밸런서

    사용 가능한 모든 설정에 대한 세부 정보는 새 환경 생성 마법사을 참조하십시오.

  14. 페이지 하단의 제출(Submit)을 선택하여 새로운 환경을 만드는 작업을 초기화하세요.


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

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

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

  3. IAM 콘솔의 탐색 창에서 Roles(역할)를 선택합니다.

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

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

  6. 사용 사례(Use case)에서 EC2를 선택합니다.

  7. 다음(Next)을 선택합니다.

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

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

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

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

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

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

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

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

    중요

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

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

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

다음 단계

애플리케이션을 실행하는 환경이 있으면 언제든 완전히 다른 애플리케이션 또는 애플리케이션의 새 버전을 배포할 수 있습니다. EC2 인스턴스를 프로비저닝하거나 다시 시작할 필요가 없기 때문에 새 애플리케이션 버전을 매우 빠르게 배포할 수 있습니다.

샘플 애플리케이션을 한두 개 배포하고 Java 애플리케이션을 로컬에서 개발 및 실행할 준비가 되면 다음 섹션을 참조하여 필요한 모든 도구 및 라이브러리로 Java 개발 환경을 설정하십시오.