

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

# 기본 VPC에서 외부 Amazon RDS 인스턴스를 시작하고 이에 연결
<a name="rds-external-defaultvpc"></a>

다음 절차에서는 외부 Amazon RDS 인스턴스를 [기본 VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)에 연결하는 프로세스를 설명합니다. 사용자 지정 VPC를 사용하는 경우에도 프로세스는 동일합니다. 환경과 DB 인스턴스가 동일한 서브넷 또는 서로 통신하도록 허용하는 서브넷에 있어야 한다는 점만 추가됩니다. Elastic Beanstalk에서 사용할 사용자 지정 VPC 구성에 대한 자세한 내용은 [Amazon VPC에서 Elastic Beanstalk 사용](vpc.md)을(를) 참조하세요.

**참고**  
새로운 DB 인스턴스를 시작하는 대신 이전에 있었던 Elastic Beanstalk에서 생성한 데이터베이스로 시작한 다음, Beanstalk 환경에서 [분리](using-features.managing.db.md#using-features.decoupling.db)할 수 있습니다. 자세한 내용은 [Elastic Beanstalk 환경에 데이터베이스 추가](using-features.managing.db.md) 단원을 참조하십시오. 이 옵션을 사용하면 새 데이터베이스를 시작하는 절차를 완료할 필요가 없습니다. 그러나 이 주제에서 설명하는 후속 절차를 완료해야 합니다.
Elastic Beanstalk에서 만든 후 Beanstalk 환경에서 분리된 데이터베이스로 시작하는 경우 첫 번째 단계 그룹을 건너뛰고 *RDS 인스턴스의 보안 그룹에서 인바운드 규칙 수정하기* 아래의 그룹화된 단계를 계속할 수 있습니다.
 프로덕션 환경에 대해 분리된 데이터베이스를 사용하려는 경우 데이터베이스에서 사용하는 스토리지 유형이 워크로드에 적합한지 확인합니다. 자세한 내용은 *Amazon RDS 사용 설명서*의 [DB 인스턴스 스토리지](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) 및 [DB 인스턴스 수정](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)을 참조하세요.

**기본 VPC에서 RDS DB 인스턴스를 시작하려면**

1. [RDS 콘솔](https://console.aws.amazon.com/rds/home)을 엽니다.

1. 탐색 창에서 **데이터베이스**를 선택합니다.

1. **데이터베이스 생성**을 선택합니다.

1. **Standard Create(표준 생성)**를 선택합니다.
**중요**  
**Easy Create(간편 생성)**를 선택하지 마십시오. 이를 선택하면 이 RDS DB를 시작하는 데 필요한 설정을 구성할 수 없습니다.

1. **Additional configuration(추가 구성)** 아래 **Initial database name(초기 데이터베이스 이름)**에 **ebdb**을 입력합니다.

1. 기본 설정을 검토하고 특정 요구 사항에 따라 이러한 설정을 조정합니다. 다음 옵션에 주의하십시오.
   + **DB 인스턴스 클래스(DB instance class)** - 사용하는 워크로드에 적절한 메모리와 CPU 성능을 갖고 있는 인스턴스 크기를 선택합니다.
   + **다중 AZ 배포(Multi-AZ deployment)** - 고가용성을 위해 이 옵션을 **다른 AZ에 Aurora 복제본/읽기 노드 생성(Create an Aurora Replica/Reader node in a different AZ)**으로 설정합니다.
   + **마스터 사용자 이름(Master username)** 및 **마스터 암호(Master password)** - 데이터베이스 사용자 이름과 암호입니다. 이러한 값은 나중에 다시 사용할 것이므로 적어둡니다.

1. 나머지 옵션의 기본 설정을 확인하고 **데이터베이스 생성**을 선택합니다.

그 다음 DB 인스턴스에 연결된 보안 그룹을 수정하여 해당 포트에서 인바운드 트래픽을 허용합니다. 이 보안 그룹은 나중에 Elastic Beanstalk 환경에 연결할 해당 동일 보안 그룹입니다. 결과적으로, 추가한 규칙은 동일한 보안 그룹의 다른 리소스에 대한 인바운드 액세스 권한을 부여합니다.

**RDS 인스턴스에 연결된 보안 그룹에 대한 인바운드 규칙 수정하기**

1. [Amazon RDS 콘솔](https://console.aws.amazon.com/rds/home)을 엽니다.

1. **데이터베이스**를 선택합니다.

1. 세부 정보를 보려면 DB 인스턴스의 이름을 선택합니다.

1. **연결** 단원에서 이 페이지에 표시되는 **서브넷**, **보안 그룹** 및 **엔드포인트**를 적어둡니다. 이는 나중에 이 정보를 사용할 수 있도록 하기 위한 것입니다.

1. **보안**에는 DB 인스턴스와 연결된 보안 그룹이 표시됩니다. 링크를 열어 Amazon EC2 콘솔에서 보안 그룹을 봅니다.

1. 보안 그룹 세부 정보에서 **인바운드** 탭을 선택합니다.

1. **편집**을 선택합니다.

1. **규칙 추가(Add Rule)**를 선택합니다.

1. **유형**에서 애플리케이션이 사용하는 DB 엔진을 선택합니다.

1. **소스**에 **sg-**를 입력하여 사용할 수 있는 보안 그룹 목록을 확인합니다. Elastic Beanstalk 환경에서 사용되는 Auto Scaling 그룹과 연결된 보안 그룹을 선택합니다. 따라서 환경의 Amazon EC2 인스턴스가 데이터베이스에 액세스할 수 있습니다.  
![Amazon EC2 콘솔에서 보안 그룹의 인바운드 규칙을 편집하는 화면 이미지](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/images/ec2-securitygroup-rds.png)

1. **저장**(Save)을 선택합니다.

그 다음 DB 인스턴스의 보안 그룹을 실행 중인 환경에 추가합니다. 이 절차로 인해 Elastic Beanstalk는 추가 보안 그룹이 연결된 상태에서 모든 인스턴스를 환경에 다시 프로비저닝합니다.

**환경에 보안 그룹을 추가하려면**
+ 다음 중 하나를 수행하세요.
  + Elastic Beanstalk 콘솔을 사용하여 보안 그룹을 추가하려면

    1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

    1. 탐색 창에서 **환경**을 선택한 다음 목록에서 환경의 이름을 선택합니다.

    1. 탐색 창에서 **구성**을 선택합니다.

    1. [**인스턴스**] 구성 범주에서 [**편집**]을 선택합니다.

    1. **EC2 보안 그룹(EC2 security groups)**에서, Elastic Beanstalk가 생성하는 인스턴스 보안 그룹 외에도, 인스턴스에 연결할 보안 그룹을 선택합니다.

    1. 변경 사항을 저장하려면 페이지 하단에서 **적용**을 선택합니다.

    1. 경고를 읽은 후 **확인**을 선택합니다.
  + [구성 파일](ebextensions.md)을 이용하여 보안 그룹을 추가하려면 [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/security-configuration/securitygroup-addexisting.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/security-configuration/securitygroup-addexisting.config) 예제 파일을 사용합니다.

그 다음 환경 속성을 사용하여 연결 정보를 환경에 전달합니다. Elastic Beanstalk 콘솔을 통해 [환경에 DB 인스턴스를 추가](using-features.managing.db.md)하면 Elastic Beanstalk가 **RDS\_HOSTNAME**과 같은 환경 속성을 사용하여 연결 정보를 애플리케이션에 전달합니다. 동일한 속성을 사용할 수 있습니다. 이렇게 하면 통합 DB 인스턴스와 외부 DB 인스턴스 모두에 동일한 애플리케이션 코드를 사용할 수 있습니다. 또는 고유한 속성 이름을 선택할 수도 있습니다.

**Amazon RDS DB 인스턴스의 환경 속성을 구성하려면**

1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **환경**을 선택한 다음 목록에서 환경의 이름을 선택합니다.

1. 탐색 창에서 **구성**을 선택합니다.

1. **업데이트, 모니터링 및 로깅** 구성 범주에서 **편집**을 선택합니다.

1. **환경 속성** 단원에서 애플리케이션이 연결 문자열을 구성하기 위해 읽는 변수를 정의합니다. 통합된 RDS DB 인스턴스가 있는 환경과의 호환성을 위해 다음과 같은 이름과 값을 사용합니다. [RDS 콘솔](https://console.aws.amazon.com/rds/home)에서 암호를 제외한 모든 값을 찾을 수 있습니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/rds-external-defaultvpc.html)  
![RDS 속성이 추가된 환경 속성 구성 섹션](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/images/environment-cfg-envprops-rds.png)

1. 변경 사항을 저장하려면 페이지 하단에서 **적용**을 선택합니다.

환경 속성을 읽고 연결 문자열을 구성하도록 애플리케이션을 아직 프로그래밍하지 않은 경우, 다음 언어별 주제에서 지침을 참조하세요.
+ Java SE – [데이터베이스에 연결(Java SE 플랫폼)](java-rds.md#java-rds-javase)
+ Java with Tomcat – [데이터베이스에 연결(Tomcat 플랫폼)](java-rds.md#java-rds-tomcat)
+ Node.js – [데이터베이스로 연결](create-deploy-nodejs.rds.md#nodejs-rds-connect)
+ .NET – [데이터베이스에 연결](create_deploy_NET.rds.md#dotnet-rds-connect)
+ PHP – [PDO 또는 MySQLi를 사용하여 데이터베이스에 연결](create_deploy_PHP.rds.md#php-rds-connect)
+ Python – [데이터베이스로 연결](create-deploy-python-rds.md#python-rds-connect)
+ Ruby – [데이터베이스로 연결](create_deploy_Ruby.rds.md#ruby-rds-connect)

마지막으로 애플리케이션이 환경 변수를 읽는 시기에 따라 환경의 인스턴스에서 애플리케이션 서버를 다시 시작해야 할 수 있습니다.

**환경의 앱 서버를 다시 시작하려면**

1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **환경**을 선택한 다음 목록에서 환경의 이름을 선택합니다.

1. **작업(Actions)**을 선택한 후 **앱 서버 다시 시작(Restart App Server(s))**을 선택합니다.