메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

VPC에서 Amazon RDS DB 인스턴스를 사용한 작업

레거시 DB 인스턴스를 사용하지 않는 한, DB 인스턴스는 Virtual Private Cloud(VPC)에서 실행됩니다. Virtual Private Cloud(VPC)는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있는 가상 네트워크입니다. Amazon Virtual Private Cloud(Amazon VPC)를 통해 Amazon Relational Database Service(Amazon RDS) 또는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스와 같은 AWS 리소스를 실행하여 VPC로 들어갈 수 있습니다. VPC는 계정과 함께 제공되는 기본 VPC일 수도 있고, 사용자가 만들 수도 있습니다. 모든 VPC는 AWS 계정과 연결됩니다.

기본 VPC에는 VPC 내의 리소스를 격리하는 데 사용할 수 있는 3개의 서브넷이 있습니다. 또한 VPC 외부에서 VPC 내부의 리소스에 액세스할 수 있도록 하는 데 사용할 수 있는 인터넷 게이트웨이도 있습니다.

VPC 내부와 외부의 Amazon RDS DB 인스턴스를 포함하는 시나리오 목록은 VPC에서 DB 인스턴스에 액세스하는 시나리오을(를) 참조하십시오.

일반 Amazon RDS 시나리오에서 사용할 수 있는 VPC를 생성하는 방법을 보여주는 자습서는 자습: Amazon RDS DB 인스턴스에 사용할 Amazon VPC 생성을(를) 참조하십시오.

VPC 내부에서 Amazon RDS DB 인스턴스를 사용하여 작업을 수행하는 방법은 다음 항목을 참조하십시오.

VPC에서 DB 인스턴스를 사용한 작업

다음은 VPC에서 DB 인스턴스를 사용하여 작업할 때 유용한 몇 가지 팁입니다.

  • VPC에는 DB 인스턴스를 배포하려는 리전에서 두 개 이상의 가용 영역에 한 개 이상의 서브넷이 있어야 합니다. 서브넷은 사용자가 지정할 수 있고 보안 및 운영상의 필요를 바탕으로 인스턴스를 그룹화할 수 있게 해주는 VPC IP 주소 범위의 한 부분입니다.

  • VPC에서 DB 인스턴스에 공개적으로 액세스할 수 있도록 하려면 VPC 속성인 [DNS hostnames]와 [DNS resolution]을 활성화해야 합니다.

  • VPC에는 사용자가 만드는 DB 서브넷 그룹이 있어야 합니다(자세한 정보는 다음 섹션 참조). 사용자가 만든 서브넷을 지정하여 DB 서브넷 그룹을 만듭니다. Amazon RDS는 그 DB 서브넷 그룹과 사용자가 기본 설정한 가용 영역을 사용하여 서브넷과 서브넷 범위 내의 IP 주소를 선택하여 DB 인스턴스에 할당합니다.

  • VPC에는 DB 인스턴스에 대한 액세스를 허용하는 VPC 보안 그룹이 있어야 합니다.

  • 각 서브넷의 CIDR 블록은 장애 조치와 컴퓨팅 조정을 포함한 유지 관리 활동 중에 Amazon RDS가 사용할 예비 IP 주소를 수용할 만큼 충분히 커야 합니다.

  • VPC의 [instance tenancy] 속성 값은 [default] 또는 [dedicated] 중 하나일 수 있습니다. 모든 기본 VPC에서는 인스턴스 테넌시 속성이 기본값으로 설정되어 있으며, 기본 VPC는 어떤 DB 인스턴스 클래스라도 지원할 수 있습니다.

    인스턴스 테넌시 속성이 전용으로 설정되어 있는 전용 VPC에 DB 인스턴스를 두기로 선택할 경우, DB 인스턴스의 DB 인스턴스 클래스는 승인된 Amazon EC2 전용 인스턴스 유형 중 하나여야 합니다. 예를 들어 m3.medium EC2 전용 인스턴스는 db.m3.medium DB 인스턴스 클래스에 해당합니다. 전용 인스턴스에 있을 수 있는 인스턴스 유형에 대한 자세한 정보는 EC2 요금 페이지에서 Amazon EC2 Dedicated Instances을(를) 참조하십시오. VPC의 인스턴스 테넌시에 대한 자세한 정보는 Amazon Virtual Private Cloud 사용 설명서EC2 전용 인스턴스 사용하기를 참조하십시오.

  • 옵션 그룹이 DB 인스턴스에 할당되면 VPC 또는 EC2-Classic(VPC 아님) 중에서 지원되는 DB 인스턴스 플랫폼에 연결됩니다. 더 나아가, DB 인스턴스가 VPC에 속한 경우 해당 인스턴스와 연동된 옵션 그룹은 바로 이 VPC에도 연결됩니다. 이 연결은 다른 VPC나 다른 플랫폼으로 DB 인스턴스를 복구하려고 해도 DB 인스턴스에 배정된 옵션 그룹은 사용할 수 없음을 의미합니다.

  • DB 인스턴스를 다른 VPC나 다른 플랫폼으로 복구할 경우 기본 옵션 그룹을 인스턴스에 할당하거나, 해당 VPC 또는 플랫폼에 연결된 옵션 그룹을 할당하거나, 새 옵션 그룹을 생성하여 DB 인스턴스에 할당해야 합니다. Oracle TDE와 같은 지속적 또는 영구적 옵션을 사용하여 DB 인스턴스를 다른 VPC로 복구할 때는 지속적 또는 영구적 옵션을 포함하는 새 옵션 그룹을 생성해야 합니다.

DB 서브넷 그룹을 사용한 작업

서브넷은 사용자가 보안 및 운영상의 필요를 바탕으로 리소스를 그룹화하기 위해 지정하는 VPC IP 주소 범위의 특정 부분입니다. DB 서브넷 그룹은 사용자가 VPC에서 만든 다음 DB 인스턴스에 대해 지정하는 서브넷(일반적으로 프라이빗)의 모음입니다. DB 서브넷 그룹을 통해 CLI 또는 API를 사용하여 DB 인스턴스를 만들 때 특정 VPC를 지정할 수 있고, 콘솔을 사용하면 사용하려는 VPC와 서브넷을 선택만 할 수 있습니다.

각 DB 서브넷 그룹은 지정된 리전에서 두 개 이상의 가용 영역에 서브넷이 있어야 합니다. VPC에서 DB 인스턴스를 만들 때, DB 서브넷 그룹을 선택해야 합니다. Amazon RDS는 그 DB 서브넷 그룹과 사용자가 기본 설정한 가용 영역을 사용하여 서브넷과 서브넷 범위 내의 IP 주소를 선택하여 DB 인스턴스와 연결합니다. 다중 AZ 배포의 기본 DB 인스턴스에 오류가 있을 경우 Amazon RDS는 해당 스탠바이를 승격한 후 다른 가용 영역 중 하나에서 서브넷의 IP 주소를 사용하여 새 스탠바이를 만들 수 있습니다.

Amazon RDS가 VPC에 DB 인스턴스를 만들 때는 DB 서브넷 그룹에서 선택한 IP 주소를 사용하여 DB 인스턴스에 네트워크 인터페이스를 할당합니다. 하지만 기본 IP 주소가 장애 조치 중에 변경될 수 있기 때문에 DB 인스턴스에 연결할 때 반드시 DNS 이름을 사용하는 것이 좋습니다.

참고

VPC에서 실행하는 각각의 DB 인스턴스에 대해 Amazon RDS가 복구 작업에 사용할 수 있도록 DB 서브넷 그룹의 각 서브넷에 한 개 이상의 주소를 예약해야 합니다.

VPC에 있는 DB 인스턴스를 인터넷에서 숨기기

한 가지 일반적인 Amazon RDS 시나리오는 일반에 공개되어 있는 웹 애플리케이션을 포함한 EC2 인스턴스와 공개적으로 액세스할 수 없는 데이터베이스를 포함한 DB 인스턴스가 있는 VPC를 사용하는 경우입니다. 예를 들어 퍼블릭 서브넷과 프라이빗 서브넷이 있는 VPC를 만들 수 있습니다. 웹 서버의 기능을 수행하는 Amazon EC2 인스턴스가 퍼블릭 서브넷에 배포될 수 있으며, Amazon RDS DB 인스턴스는 프라이빗 서브넷에 배포됩니다. 이런 배포 환경에서는 웹 서버만 DB 인스턴스에 액세스할 수 있습니다. 이 시나리오에 대한 그림은 동일한 VPC에 있는 EC2 인스턴스가 VPC 내에 있는 DB 인스턴스에 액세스을(를) 참조하십시오.

VPC 내부에 있는 DB 인스턴스를 시작할 때 PubliclyAccessible 파라미터를 사용하여 사용자가 만드는 DB 인스턴스가 퍼블릭 IP 주소로 확인되는 DNS를 가지도록 지정할 수 있습니다. 이 파라미터를 사용하여 DB 인스턴스에 대한 퍼블릭 액세스 여부를 지정할 수 있습니다. DB 인스턴스에 대한 액세스는 궁극적으로 인스턴스에서 사용하는 보안 그룹에 의해 제어되며, DB 인스턴스에 할당된 보안 그룹에서 퍼블릭 액세스를 허용하지 않으면 퍼블릭 액세스가 허용되지 않습니다.

PubliclyAccessible 파라미터를 수정하여 퍼블릭 액세스 가능성을 켜거나 끄도록 DB 인스턴스를 수정할 수 있습니다. 이 파라미터는 다른 DB 인스턴스 파라미터와 같은 방법으로 수정합니다. 자세한 내용은 DB 엔진에 대한 수정을(를) 참조하십시오.

다음은 [Launch DB Instance Wizard]에서 [Publicly Accessible] 옵션을 보여주는 그림입니다.

VPC에 DB 인스턴스 만들기

다음 절차에 따라 VPC에서 DB 인스턴스를 생성할 수 있습니다. 계정에 기본 VPC가 있으면 VPC 및 DB 서브넷 그룹이 자동으로 생성된 것이므로 3단계부터 시작하면 됩니다. AWS 계정에 기본 VPC가 없거나 추가 VPC를 만들려면 새 VPC를 만들 수 있습니다. 기본 VPC가 있는지 모르겠으면 EC2-VPC 또는 EC2-Classic 플랫폼을 사용 중인지 확인을(를) 참조하십시오.

참고

VPC에서 DB 인스턴스에 공개적으로 액세스할 수 있도록 하려면 VPC 속성인 [DNS hostnames]와 [DNS resolution]을 활성화하여 VPC에 대한 DNS 정보를 업데이트해야 합니다. VPC 인스턴스에 대한 DNS 정보의 업데이트에 대한 자세한 정보는 Updating DNS Support for Your VPC을(를) 참조하십시오.

다음 단계에 따라 VPC에서 DB 인스턴스를 만들 수 있습니다:

1 단계: VPC 생성

AWS 계정에 기본 VPC가 없거나 추가 VPC를 만들려면 지침에 따라 새 VPC를 만듭니다. Amazon RDS 문서의 프라이빗 서브넷과 퍼블릭 서브넷을 포함하는 VPC 생성 또는 Amazon VPC 문서의 Step 1: Create a VPC을(를) 참조하십시오.

2단계: VPC에 서브넷 추가

VPC를 만들었으면 두 개 이상의 가용 영역에 서브넷을 만들어야 합니다. DB 서브넷 그룹을 만들 때 이들 서브넷이 사용됩니다. 기본 VPC가 있는 경우에는 해당 리전의 각 가용 영역에 서브넷이 자동으로 생성됩니다.

VPC에서 서브넷을 만드는 방법에 대한 지침은 Amazon RDS 설명서에서 프라이빗 서브넷과 퍼블릭 서브넷을 포함하는 VPC 생성을(를) 참조하십시오.

3단계: DB 서브넷 그룹 만들기

DB 서브넷 그룹은 사용자가 VPC에 대해 만든 다음 DB 인스턴스에 대해 지정하는 서브넷(일반적으로 프라이빗)의 모음입니다. DB 서브넷 그룹을 통해 CLI 또는 API를 사용하여 DB 인스턴스를 만들 때 특정 VPC를 지정할 수 있습니다. Amazon RDS 콘솔을 사용하면 사용하려는 VPC와 서브넷을 선택만 할 수 있습니다. 각 DB 서브넷 그룹은 해당 리전에서 두 개 이상의 가용 영역에 한 개 이상의 서브넷이 있어야 합니다.

참고

DB 인스턴스에 공개적으로 액세스할 수 있도록 하려면 DB 서브넷 그룹의 서브넷에 인터넷 게이트웨이가 있어야 합니다. 서브넷용 인터넷 게이트웨이에 대한 자세한 정보는 Amazon VPC 설명서에서 인터넷 게이트웨이를 참조하십시오.

VPC에서 DB 인스턴스를 만들 때, DB 서브넷 그룹을 선택해야 합니다. 그러면 Amazon RDS가 DB 서브넷 그룹과 사용자가 기본 설정한 가용 영역을 사용하여 서브넷과 그 서브넷 범위 내의 IP 주소를 선택합니다. Amazon RDS가 엘라스틱 네트워크 인터페이스를 만든 다음 해당 IP 주소를 가진 DB 인스턴스에 연결합니다. 다중 AZ 배포의 경우, 한 리전에 있는 두 개 이상의 가용 영역에 대한 서브넷을 정의하면 Amazon RDS가 필요한 경우 다른 가용 영역에 새로운 예비 복제본을 만들 수 있습니다. 단일 AZ 배포의 경우도 어느 시점에 단일 AZ 배포를 다중 AZ 배포로 변환하려면 이 작업을 수행해야 합니다.

이 단계에서는 DB 서브넷 그룹을 만들고 VPC용으로 만든 서브넷을 추가합니다.

AWS Management Console

DB 서브넷 그룹을 만드는 방법

  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

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

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

  4. [Name]에 DB 서브넷 그룹의 이름을 입력합니다.

  5. [Description]에 DB 서브넷 그룹에 대한 설명을 입력합니다.

  6. [VPC ID]에 대해 생성된 VPC를 선택합니다.

  7. [Add Subnet(s) to this Subnet Group] 섹션에서 [add all the subnets] 링크를 클릭합니다.

     [Create DB Subnet Group] 버튼
  8. [Yes, Create]를 클릭한 후 [Close]를 선택합니다.

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

4단계: VPC 보안 그룹 만들기

DB 인스턴스를 만들기 전에 DB 인스턴스와 연결할 VPC 보안 그룹을 만들어야 합니다. DB 인스턴스에 대한 보안 그룹을 생성하는 방법은 Amazon RDS 설명서의 프라이빗 Amazon RDS DB 인스턴스에 대한 VPC 보안 그룹 생성 또는 Amazon VPC 설명서의 Security Groups for Your VPC을(를) 참조하십시오.

5단계: VPC에서 DB 인스턴스 만들기

이 단계에서는 DB 인스턴스를 만들고 이전 단계에서 만든 VPC 이름, DB 서브넷 그룹 및 VPC 보안 그룹을 사용합니다.

참고

VPC에서 DB 인스턴스에 공개적으로 액세스할 수 있도록 하려면 VPC 속성인 [DNS hostnames]와 [DNS resolution]을 활성화해야 합니다. VPC 인스턴스에 대한 DNS 정보의 업데이트에 대한 자세한 정보는 Updating DNS Support for Your VPC을(를) 참조하십시오.

사용자의 DB 엔진을 위한 DB 인스턴스를 만드는 방법에 대한 자세한 내용은 해당 DB 엔진에 대해 설명하는 다음 주제을(를) 참조하십시오. 각 엔진에 대해, [Launch DB Instance Wizard]에서 관련 메시지가 표시될 때 이전 단계에서 만든 VPC 이름, DB 서브넷 그룹 및 VPC 보안 그룹을 입력합니다.

DB 인스턴스에 대한 VPC 업데이트

AWS Management Console을 이용하여 DB 인스턴스를 손쉽게 다른 VPC로 이동할 수 있습니다.

사용자의 DB 엔진을 위한 DB 인스턴스를 수정하는 방법에 대한 자세한 내용은 다음 표에서 해당 DB 엔진에 대해 설명하는 주제을(를) 참조하십시오. [Subnet Group]에 대해 표시된 수정 페이지의 [Network & Security] 섹션에서 새 서브넷 그룹을 입력합니다. 새 서브넷 그룹은 새 VPC에 있는 서브넷 그룹이어야 합니다.

 DB 인스턴스 수정 패널의 서브넷 그룹 섹션

참고

현재 Aurora 클러스터에 대해서는 VPC 업데이트가 지원되지 않습니다.

VPC에 있지 않은 DB 인스턴스를 VPC로 이동

EC2-Classic 플랫폼 상의 일부 레거시 DB 인스턴스는 VPC에서 실행되지 않습니다. DB 인스턴스가 VPC 내에 있지 않을 경우 AWS Management Console을 사용하여 DB 인스턴스를 VPC 내로 손쉽게 이동할 수 있습니다. VPC에 있지 않은 DB 인스턴스를 VPC 내로 이동하려면 먼저 VPC를 만들어야 합니다.

다음 단계에 따라 DB 인스턴스에 대한 VPC를 만듭니다.

VPC를 만든 후 다음 단계에 따라 DB 인스턴스를 VPC 내로 이동합니다.

다음은 DB 인스턴스를 VPC로 이동하는 데 따른 몇 가지 제한 사항입니다.

  • VPC에 있지 않은 다중 AZ DB 인스턴스를 VPC로 이동하는 것은 현재 지원되지 않습니다.

  • VPC에 있지 않은 읽기 복제본을 포함한 DB 인스턴스를 VPC로 이동하는 것은 현재 지원되지 않습니다.

DB 인스턴스를 VPC로 이동하고 DB 인스턴스와 함께 사용자 지정 옵션 그룹을 사용 중인 경우에는 DB 인스턴스와 연결된 옵션 그룹을 변경해야 합니다. 옵션 그룹은 플랫폼마다 특정하며, VPC로 이동하는 것은 플랫폼의 변경에 해당합니다. 이런 경우에서 사용자 지정 옵션 그룹을 사용하려면 기본 VPC 옵션 그룹을 DB 인스턴스에 할당하거나, 이동하려는 대상 VPC에 있는 다른 DB 인스턴스에서 사용되는 옵션 그룹을 할당하거나, 새 옵션 그룹을 만들어 DB 인스턴스에 할당합니다. 자세한 내용은 옵션 그룹 작업을(를) 참조하십시오.