예제: Amazon RDS를 사용하여 VPC에서 Elastic Beanstalk 시작 - AWS Elastic Beanstalk

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

예제: Amazon RDS를 사용하여 VPC에서 Elastic Beanstalk 시작

이 단원에서는 NAT 게이트웨이를 사용하여 VPC에서 Amazon RDS로 Elastic Beanstalk 애플리케이션을 배포하는 작업을 안내합니다. 인프라는 다음 다이어그램과 비슷합니다.


      Amazon RDS 기반 Elastic Beanstalk 및 VPC 토폴로지
참고

이전에 애플리케이션으로 DB 인스턴스를 사용해 본 적이 없는 경우, 인스턴스 한 개를 테스트 환경에 추가하고 외부 DB 인스턴스에 연결한 후 VPC 구성을 목록에 추가합니다.

퍼블릭 및 프라이빗 서브넷이 있는 VPC 생성

Amazon VPC 콘솔을 사용하여 VPC를 생성할 수 있습니다.

VPC를 생성하려면
  1. Amazon VPC 콘솔에 로그인합니다.

  2. 탐색 창에서 [VPC Dashboard]를 선택합니다. 그 다음에 [Create VPC]를 선택합니다.

  3. 퍼블릭 및 프라이빗 서브넷이 있는 VPC를 선택한 후 선택을 누릅니다.

    
              퍼블릭 및 프라이빗 서브넷이 있는 VPC를 선택한 후 "선택"을 선택합니다.
  4. Elastic Load Balancing 로드 밸런서와 Amazon EC2 인스턴스는 서로 통신할 수 있도록 동일한 가용 영역에 있어야 합니다. 각 가용 영역 목록에서 동일한 가용 영역을 선택합니다.

    
            프라이빗 서브넷과 퍼블릭 서브넷에 대해 동일한 가용 영역을 선택합니다.
  5. NAT 게이트웨이에 대해 탄력적 IP 주소를 선택합니다.

  6. VPC 만들기(Create VPC)를 선택합니다.

    마법사가 VPC, 서브넷, 인터넷 게이트웨이를 생성하기 시작합니다. 또한 기본 라우팅 테이블을 업데이트하고 사용자 지정 라우팅 테이블을 생성합니다. 마지막으로 마법사는 퍼블릭 서브넷에 NAT 게이트웨이를 생성합니다.

    참고

    NAT 게이트웨이 대신 퍼블릭 서브넷에서 NAT 인스턴스를 시작하기로 선택할 수 있습니다. 자세한 내용은 Amazon VPC 사용 설명서시나리오 2: 퍼블릭 서브넷과 프라이빗 서브넷이 있는 VPC(NAT)를 참조하세요.

  7. VPC가 성공적으로 만들어진 후 VPC ID를 가져옵니다. 다음 단계에서 이 값을 사용합니다. VPC ID를 보려면 Amazon VPC 콘솔 왼쪽 창에서 VPCs(Your VPCs)를 선택합니다.

    
            Amazon VPC 콘솔에 VPC ID가 표시됩니다.

DB 서브넷 그룹 만들기

VPC에 대한 DB 서브넷 그룹은 백엔드 RDS DB 인스턴스에 대해 지정할 수 있는 서브넷(일반적으로 프라이빗 서브넷)의 모음입니다. 각 DB 서브넷 그룹에는 특정 AWS 리전의 가용 영역마다 하나 이상의 서브넷이 있어야 합니다. 자세히 알아보려면 VPC에서 서브넷 만들기 단원을 참조하세요.

DB 서브넷 그룹 만들기
  1. Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [Subnet groups]를 선택합니다.

  3. [Create DB Subnet Group]을 선택합니다.

  4. 이름을 선택한 후 DB 서브넷 그룹의 이름을 입력합니다.

  5. 설명을 선택한 후 DB 서브넷 그룹에 대한 설명을 입력합니다.

  6. VPC에서 해당 VPC의 ID를 선택합니다.

  7. 서브넷 추가에서 이 VPC와 관련된 모든 서브넷 추가를 선택합니다.

    
            VPC와 관련된 모든 서브넷을 추가합니다.
  8. 모두 마쳤으면 [Create ]를 선택합니다.

    새 DB 서브넷 그룹이 Amazon RDS 콘솔의 서브넷 그룹 목록에 나타납니다. 해당 그룹을 선택하면 창 하단에 있는 세부 정보 페이지에서 이 그룹과 연결된 모든 서브넷을 포함한 세부 정보를 확인할 수 있습니다.

Elastic Beanstalk에 배포

VPC를 설정한 후 VPC 내에 환경을 생성하고 Elastic Beanstalk에 애플리케이션을 배포할 수 있습니다. Elastic Beanstalk 콘솔을 사용하거나 AWS 도구 키트, AWS CLI, EB CLI 또는 Elastic Beanstalk API를 사용할 수 있습니다. Elastic Beanstalk 콘솔을 사용하는 경우 .war 또는 .zip 파일을 업로드하고 마법사 내에서 VPC 설정을 선택하기만 하면 됩니다. 그러면 Elastic Beanstalk가 VPC 내에 환경을 생성하고 애플리케이션을 배포합니다. 또는 AWS 도구 키트, AWS CLI, EB CLI 또는 Elastic Beanstalk API를 사용하여 애플리케이션을 배포할 수 있습니다. 이를 위해 구성 파일에 VPC 옵션 설정을 정의하고 소스 번들로 이 파일을 배포해야 합니다. 이 주제는 두 방법 모두에 대한 지침을 제공합니다.

Elastic Beanstalk 콘솔을 사용하여 배포

Elastic Beanstalk 콘솔이 VPC 내에 새 환경을 생성하는 과정을 안내합니다. .war 파일(Java 애플리케이션용) 또는 .zip 파일(다른 모든 애플리케이션용)을 제공해야 합니다. Elastic Beanstalk 환경 마법사의 VPC 구성(VPC Configuration) 페이지에서 다음을 선택해야 합니다.

VPC

해당 VPC를 선택합니다.

VPC 설정 그룹

위에서 만든 인스턴스 보안 그룹을 선택합니다.

ELB 표시 여부

로드 밸런서를 일반에 공개해야 하는 경우 External을 선택하고 로드 밸런서를 VPC 내에서만 제공해야 하는 경우 Internal을 선택합니다.

로드 밸런서와 EC2 인스턴스에 대해 서브넷을 선택합니다. 로드 밸런서에 퍼블릭 서브넷을, Amazon EC2 인스턴스에 프라이빗 서브넷을 선택해야 합니다. 기본적으로 VPC 생성 마법사는 10.0.0.0/24에서 퍼블릭 서브넷을, 10.0.1.0/24에서 프라이빗 서브넷을 생성합니다.

Amazon VPC 콘솔에서 서브넷(Subnets)을 선택하여 서브넷 ID를 볼 수 있습니다.


            VPC의 서브넷 ID

AWS Toolkits, EB CLI, AWS CLI 또는 API로 배포

AWS 도구 키트, EB CLI, AWS CLI 또는 API를 사용해 Elastic Beanstalk에 애플리케이션을 배포하면 파일에서 VPC 옵션 설정을 지정하고 소스 번들로 배포할 수 있습니다. 자세한 내용은 구성 파일(.ebextensions)을 사용하여 고급 환경 사용자 지정를 참조하십시오.

옵션 설정을 업데이트할 때 최소한 다음을 지정해야 합니다.

  • VPCId - VPC의 ID를 포함합니다.

  • Subnets - Auto Scaling 그룹 서브넷의 ID를 포함합니다. 이 예에서 이는 프라이빗 서브넷의 ID입니다.

  • ELBSubnets - 로드 밸런서에 대한 서브넷의 ID를 포함합니다. 이 예에서 이는 퍼블릭 서브넷의 ID입니다.

  • SecurityGroups - 보안 그룹의 ID를 포함합니다.

  • DBSubnets - DB 서브넷의 ID를 포함합니다.

    참고

    DB 서브넷을 사용할 때 AWS 리전의 모든 가용 영역을 처리하려면 VPC에 추가 서브넷을 만들어야 합니다.

선택 사항으로 다음 정보도 지정할 수 있습니다.

  • ELBScheme - VPC 내부에 로드 밸런서를 만들어 Elastic Beanstalk 애플리케이션이 VPC 외부에서 액세스할 수 없도록 하려면 internal을 지정합니다.

다음은 VPC에 Elastic Beanstalk 애플리케이션을 배포할 때 사용할 수 있는 옵션 설정의 예입니다. VPC 옵션 설정에 대한 자세한 내용(지정 방법, 기본값 및 유효한 값의 예 포함)은 구성 옵션aws:ec2:vpc 네임스페이스 표를 참조하세요.

option_settings: - namespace: aws:autoscaling:launchconfiguration option_name: EC2KeyName value: ec2keypair - namespace: aws:ec2:vpc option_name: VPCId value: vpc-170647c - namespace: aws:ec2:vpc option_name: Subnets value: subnet-4f195024 - namespace: aws:ec2:vpc option_name: ELBSubnets value: subnet-fe064f95 - namespace: aws:ec2:vpc option_name: DBSubnets value: subnet-fg148g78 - namespace: aws:autoscaling:launchconfiguration option_name: InstanceType value: m1.small - namespace: aws:autoscaling:launchconfiguration option_name: SecurityGroups value: sg-7f1ef110
참고

DB 서브넷을 사용할 때 AWS 리전의 모든 가용 영역을 처리하려면 VPC에 서브넷이 있는지 확인합니다.