Amazon RDS DB 인스턴스 생성
Amazon RDS의 기본 빌딩 블록은 데이터베이스를 생성하는 DB 인스턴스입니다. DB 인스턴스를 생성할 때는 엔진 고유의 특성을 선택합니다. 또한 데이터베이스 서버가 실행되는 AWS 인스턴스의 스토리지 용량, CPU, 메모리 등도 선택합니다.
DB 인스턴스 사전 조건
중요
Amazon RDS DB 인스턴스를 생성하기 전에 Amazon RDS 환경 설정에서 작업을 완료합니다.
다음은 DB 인스턴스를 생성하기 위한 전제 조건입니다.
DB 인스턴스의 네트워크 구성
Amazon VPC 서비스 기반의 Virtual Private Cloud(VPC)에서만 Amazon RDS DB 인스턴스를 생성할 수 있습니다. 또한 가용 영역이 2개 이상 있는 AWS 리전에 있어야 합니다. DB 인스턴스에 대해 선택한 DB 서브넷 그룹은 2개 이상의 가용 영역을 포함해야 합니다. 이 구성을 사용하면 DB 인스턴스를 생성할 때 다중 AZ 배포를 구성하거나 향후 쉽게 DB 인스턴스로 이동할 수 있습니다.
새 DB 인스턴스와 동일한 VPC의 Amazon EC2 인스턴스 간에 연결을 설정하려는 경우 DB 인스턴스 생성 시 설정합니다. 동일한 VPC의 EC2 인스턴스 이외의 리소스에서 DB 인스턴스에 연결하려는 경우 네트워크 연결을 수동으로 구성합니다.
EC2 인스턴스와의 자동 네트워크 연결 구성
RDS DB 인스턴스를 생성할 때 AWS Management Console을 사용하여 EC2 인스턴스와 새 DB 인스턴스 간의 연결을 설정할 수 있습니다. 이렇게 하면 RDS가 VPC 및 네트워크 설정을 자동으로 구성합니다. DB 인스턴스는 EC2 인스턴스가 DB 인스턴스에 액세스할 수 있도록 EC2 인스턴스와 동일한 VPC에 생성됩니다.
다음은 EC2 인스턴스를 DB 인스턴스와 연결하기 위한 요구 사항입니다.
-
DB 인스턴스를 생성하려면 먼저 EC2 인스턴스가 AWS 리전에 있어야 합니다.
AWS 리전에 EC2 인스턴스가 없는 경우 콘솔은 인스턴스를 생성할 수 있는 링크를 제공합니다.
-
DB 인스턴스를 만드는 사용자는 다음 작업을 수행할 수 있는 권한이 있어야 합니다.
-
ec2:AssociateRouteTable
-
ec2:AuthorizeSecurityGroupEgress
-
ec2:AuthorizeSecurityGroupIngress
-
ec2:CreateRouteTable
-
ec2:CreateSubnet
-
ec2:CreateSecurityGroup
-
ec2:DescribeInstances
-
ec2:DescribeNetworkInterfaces
-
ec2:DescribeRouteTables
-
ec2:DescribeSecurityGroups
-
ec2:DescribeSubnets
-
ec2:ModifyNetworkInterfaceAttribute
-
ec2:RevokeSecurityGroupEgress
-
이 옵션을 사용하면 프라이빗 DB 인스턴스가 생성됩니다. DB 인스턴스는 프라이빗 서브넷만 있는 DB 서브넷 그룹을 사용하여 VPC 내 리소스에 대한 액세스를 제한합니다.
EC2 인스턴스를 DB 인스턴스에 연결하려면 데이터베이스 생성 페이지의 연결 섹션에서 EC2 컴퓨팅 리소스에 연결을 선택합니다.
Connect to an EC2 compute resource(EC2 컴퓨팅 리소스에 연결)를 선택하면 RDS가 다음 옵션을 자동으로 설정합니다. Don't connect to an EC2 compute resource(EC2 컴퓨팅 리소스에 연결하지 않음)를 선택하여 EC2 인스턴스와의 연결을 설정하지 않도록 선택하지 않는 한 이러한 설정을 변경할 수 없습니다.
콘솔 옵션 | 자동 설정 |
---|---|
네트워크 유형 |
RDS는 네트워크 유형을 IPv4로 설정합니다. 현재 듀얼 스택 모드는 EC2 인스턴스와 DB 인스턴스 간의 연결을 설정할 때 지원되지 않습니다. |
Virtual Private Cloud(VPC) |
RDS는 VPC를 EC2 인스턴스와 연결된 VPC로 설정합니다. |
DB 서브넷 그룹 |
RDS에는 EC2 인스턴스와 동일한 가용 영역에 프라이빗 서브넷이 있는 DB 서브넷 그룹이 필요합니다. 이 요구 사항을 충족하는 DB 서브넷 그룹이 있다면 RDS는 기존 DB 서브넷 그룹을 사용합니다. 기본적으로 이 옵션은 Automatic setup(자동 설정)으로 설정되어 있습니다. Automatic setup(자동 설정)을 선택하고 이 요구 사항을 충족하는 DB 서브넷 그룹이 없으면 다음 작업이 수행됩니다. RDS는 가용 영역 중 하나가 EC2 인스턴스와 동일한 3개의 가용 영역에서 3개의 사용 가능한 프라이빗 서브넷을 사용합니다. 가용 영역에서 프라이빗 서브넷을 사용할 수 없는 경우 RDS는 가용 영역에 프라이빗 서브넷을 생성합니다. 그런 다음 RDS는 DB 서브넷 그룹을 생성합니다. 프라이빗 서브넷을 사용할 수 있는 경우 RDS는 서브넷과 연결된 라우팅 테이블을 사용하고 생성된 모든 서브넷을 이 라우팅 테이블에 추가합니다. 프라이빗 서브넷을 사용할 수 없는 경우 RDS는 인터넷 게이트웨이 액세스가 없는 라우팅 테이블을 생성하고 생성한 서브넷을 라우팅 테이블에 추가합니다. RDS를 사용하면 기존 DB 서브넷 그룹도 사용할 수 있습니다. 선택한 기존 DB 서브넷 그룹을 사용하려면 Choose existing(기존 항목 선택)을 선택합니다. |
공개 액세스(Public access) |
RDS는 DB 인스턴스에 공개적으로 액세스할 수 없도록 아니요를 선택합니다. 보안을 위해 데이터베이스를 비공개로 유지하고 인터넷에서 액세스할 수 없도록 하는 것이 가장 좋습니다. |
VPC 보안 그룹(방화벽) |
RDS는 DB 인스턴스와 연결된 새 보안 그룹을 생성합니다. 보안 그룹의 이름은 RDS는 EC2 인스턴스와 연결된 새 보안 그룹도 생성합니다. 보안 그룹의 이름은 Create new(새로 생성)를 선택하고 새 보안 그룹의 이름을 입력하여 다른 새 보안 그룹을 추가할 수 있습니다. Choose existing(기존 항목 선택)을 선택하고 추가할 보안 그룹을 선택하여 기존 보안 그룹을 추가할 수 있습니다. |
가용 영역 |
가용성 및 내구성(단일 AZ 배포)에서 단일 DB 인스턴스를 선택한 경우 RDS는 EC2 인스턴스의 가용 영역을 선택합니다. 가용성 및 내구성에서 다중 AZ DB 인스턴스를 선택한 경우(다중 AZ DB 인스턴스 배포), RDS는 배포에서 단일 DB 인스턴스에 대해 EC2 인스턴스의 가용 영역을 선택합니다. RDS는 다른 DB 인스턴스에 대해 서로 다른 가용 영역을 임의로 선택합니다. 기본 DB 인스턴스 또는 대기 복제본은 EC2 인스턴스와 동일한 가용 영역에서 생성됩니다. 다중 AZ DB 인스턴스를 선택할 때 DB 인스턴스와 EC2 인스턴스가 서로 다른 가용 영역에 있는 경우 교차 가용 영역 비용이 발생할 가능성이 있습니다. |
이러한 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 섹션을 참조하세요.
DB 인스턴스를 생성한 후에 이러한 설정을 변경할 경우 변경 사항이 EC2 인스턴스와 DB 인스턴스 간의 연결에 영향을 미칠 수 있습니다.
네트워크 수동 구성
동일한 VPC의 EC2 인스턴스 이외의 리소스에서 DB 인스턴스에 연결하려는 경우 네트워크 연결을 수동으로 구성합니다. AWS Management Console을 사용하여 DB 인스턴스를 생성하는 경우에는 Amazon RDS에서 VPC를 자동으로 생성할 수 있습니다. 또는 DB 인스턴스에서 기존 VPC를 사용하거나 새 VPC를 생성할 수 있습니다. 어떤 접근 방식이든 RDS DB 인스턴스와 함께 VPC를 사용하려면 2개 이상의 가용 영역마다 서브넷이 1개 이상 있어야 합니다.
기본적으로 Amazon RDS는 DB 인스턴스를 자동으로 가용 영역에 생성합니다. 특정 가용 영역을 선택하려면 가용성 및 내구성 설정을 단일 DB 인스턴스로 변경해야 합니다. 이렇게 하면 VPC의 가용 영역 중에서 선택할 수 있는 가용 영역 설정이 노출됩니다. 하지만 다중 AZ 배포를 선택하는 경우 RDS는 기본 또는 라이터 DB 인스턴스의 가용 영역을 자동으로 선택하고 가용 영역 설정이 표시되지 않습니다.
경우에 따라 기본 VPC가 없거나 VPC를 생성하지 않았을 수 있습니다. 이러한 경우에는 콘솔을 사용해 DB 인스턴스를 생성할 때 Amazon RDS에서 자동으로 VPC를 생성하도록 할 수 있습니다. 그렇지 않으면 다음을 수행하십시오.
-
DB 인스턴스를 배포하려는 AWS 리전에서 두 개 이상의 가용 영역에 각각 한 개 이상의 서브넷을 갖는 VPC를 생성합니다. 자세한 내용은 VPC에서 DB 인스턴스를 사용한 작업 및 자습서: DB 인스턴스에 사용할 Amazon VPC 생성(IPv4 전용) 섹션을 참조하세요.
-
DB 인스턴스에 대한 연결 권한을 부여할 수 있도록 VPC 보안 그룹을 지정합니다. 자세한 내용은 보안 그룹을 생성하여 VPC 내부의 DB 인스턴스에 대한 액세스를 제공 및 보안 그룹을 통한 액세스 제어 섹션을 참조하세요.
-
DB 인스턴스에서 VPC의 서브넷 2개 이상을 사용할 수 있도록 RDS DB 서브넷 그룹을 지정합니다. 자세한 내용은 DB 서브넷 그룹을 사용한 작업 단원을 참조하십시오.
DB 인스턴스와 동일한 VPC에 있지 않은 리소스에 연결하려는 경우 VPC에서 DB 인스턴스에 액세스하는 시나리오에서 적절한 시나리오를 참조하십시오.
추가 사전 조건
DB 인스턴스를 만들려면 먼저 다음과 같은 추가 사전 조건을 고려하십시오.
-
AWS Identity and Access Management(IAM) 보안 인증 정보를 사용하여 AWS에 연결하는 경우 AWS 계정에 특정 IAM 정책이 있어야 합니다. 이 정책은 Amazon RDS 작업을 수행하는 데 필요한 권한을 부여합니다. 자세한 내용은 Amazon RDS의 자격 증명 및 액세스 관리 단원을 참조하십시오.
IAM을 사용하여 RDS 콘솔에 액세스하려면 IAM 사용자 자격 증명으로 AWS Management Console에 로그인합니다. 그런 다음 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔로 이동합니다. -
DB 인스턴스에 대한 구성 파라미터를 사용자 지정하려면 필요한 파라미터 설정으로 DB 파라미터 그룹을 지정합니다. DB 파라미터 그룹의 생성 및 수정에 대한 자세한 내용은 Amazon RDS의 파라미터 그룹 단원을 참조하십시오.
중요
Amazon RDS for Db2용 BYOL 모델을 사용하는 경우, DB 인스턴스를 만들기 전에 먼저 IBM Site ID 및 IBM Customer ID를 포함하는 사용자 지정 파라미터 그룹을 만들어야 합니다. 자세한 내용은 Db2에 기존 보유 라이선스 사용 단원을 참조하십시오.
-
DB 인스턴스에 지정할 TCP/IP 포트 번호를 정합니다. 일부 기업에서는 방화벽이 RDS DB 인스턴스에 대한 기본 포트 연결을 차단하는 경우도 있습니다. 이처럼 기업 방화벽이 기본 포트를 차단할 경우 DB 인스턴스에 다른 포트를 선택해야 합니다. Amazon RDS DB 엔진의 기본 포트는 다음과 같습니다.
RDS for Db2 RDS for MariaDB RDS for MySQL RDS for Oracle RDS for PostgreSQL RDS for SQL Server 50000 3306 3306 1521 5432 1433 RDS for SQL Server의 경우 다음 포트는 예약되어 있고 DB 인스턴스
1234, 1434, 3260, 3343, 3389, 47001,
및49152-49156
을 생성할 때 사용할 수 없습니다.
DB 인스턴스 생성
AWS Management Console, AWS CLI 또는 RDS API를 사용하여 Amazon RDS DB 인스턴스를 생성할 수 있습니다.
참고
RDS for Db2의 경우 RDS for Db2 DB 인스턴스를 생성하기 전에 라이선스 모델에 필요한 항목을 설정하는 것이 좋습니다. 자세한 내용은 Amazon RDS for Db2 라이선스 옵션 단원을 참조하십시오.
간편 생성(Easy Create)을 활성화하거나 활성화하지 않고 AWS Management Console을 사용하여 DB 인스턴스를 생성할 수 있습니다. Easy create(간편 생성)를 활성화한 경우에는 DB 엔진 유형, DB 인스턴스 크기 및 DB 인스턴스 식별자만 지정합니다. Easy create(간편 생성)는 다른 구성 옵션에서도 기본 설정을 사용합니다. Easy create(간편 생성)가 활성화되지 않은 경우에는 데이터베이스를 생성할 때 가용성, 보안, 백업 및 유지 관리에 대한 옵션을 포함하여 더 많은 구성 옵션을 지정합니다.
참고
다음 절차에서는 표준 생성(Standard Create)이 활성화되고 간편 생성(Easy Create)이 활성화되지 않습니다. 이 절차에서는 Microsoft SQL Server를 예로 사용합니다.
간편 생성(Easy Create)을 사용하여 각 엔진의 샘플 DB 인스턴스를 생성하고 연결하는 방법을 안내하는 예제는 Amazon RDS 시작하기 섹션을 참조하세요.
DB 인스턴스를 생성하려면
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
Amazon RDS 콘솔의 오른쪽 상단에서 DB 인스턴스를 생성하려는 AWS 리전을 선택합니다.
-
탐색 창에서 Databases(데이터베이스)를 선택합니다.
-
데이터베이스 생성에서 표준 생성을 선택합니다.
-
엔진 유형에서 IBM Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL을 선택합니다.
여기서는 Microsoft SQL Server가 표시됩니다.
-
Oracle 또는 SQL Server를 사용하는 경우 데이터베이스 관리 유형에서 Amazon RDS 또는 Amazon RDS Custom을 선택합니다.
Amazon RDS가 여기에 표시됩니다. RDS Custom에 대한 자세한 내용은 Amazon RDS Custom 작업 섹션을 참조하세요.
-
Oracle 또는 SQL Server를 사용하는 경우 에디션에서 사용할 DB 엔진 에디션을 선택합니다.
MySQL에는 에디션에 대한 옵션이 하나 뿐이며, MariaDB와 PostgreSQL에는 없습니다.
-
버전에서 엔진 버전을 선택합니다.
-
템플릿에서 사용 사례에 맞는 템플릿을 선택합니다. 프로덕션을 선택하면 이후 단계에서 다음 설정이 미리 선택됩니다.
-
다중 AZ 장애 조치 옵션
-
프로비저닝된 IOPS(io1) 스토리지 옵션
-
삭제 방지 활성화 옵션
어떤 프로덕션 환경이든 이 기능을 권장합니다.
참고
템플릿 옵션은 에디션별로 다릅니다.
-
-
마스터 암호를 입력하려면 다음과 같이 하십시오.
-
설정 섹션에서 자격 증명 설정을 엽니다.
-
암호를 지정하려는 경우 암호 자동 생성(Auto generate a password) 확인란이 선택되어 있으면 선택을 해제합니다.
-
(선택 사항) 기본 사용자 이름(Master username) 값을 변경합니다.
-
마스터 암호 및 암호 확인에 동일한 암호를 입력합니다.
-
-
(선택 사항) 이 DB 인스턴스의 컴퓨팅 리소스에 대한 연결을 설정합니다.
DB 클러스터를 생성하는 동안 Amazon EC2 인스턴스와 새 DB 인스턴스 간의 연결을 구성할 수 있습니다. 자세한 내용은 EC2 인스턴스와의 자동 네트워크 연결 구성 단원을 참조하십시오.
-
VPC 보안 그룹(방화벽) 아래의 연결 섹션에서 새로 만들기를 선택하면 로컬 컴퓨터의 IP 주소가 데이터베이스에 액세스할 수 있도록 허용하는 인바운드 규칙과 함께 VPC 보안 그룹이 생성됩니다.
-
나머지 섹션에서 DB 인스턴스 설정을 지정합니다. 각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하십시오.
-
데이터베이스 생성을 선택합니다.
자동 생성된 암호를 사용하기로 한 경우에는 데이터베이스 페이지에 View credential details(자격 증명 세부 정보 보기) 버튼이 나타납니다.
DB 인스턴스의 마스터 사용자 이름 및 암호를 보려면 View credential details(자격 증명 세부 정보 보기)를 선택합니다.
DB 인스턴스를 마스터 사용자로 연결하려면 화면에 나타난 사용자 이름과 암호를 사용합니다.
중요
마스터 사용자 암호를 다시 볼 수는 없습니다. 따라서 기록을 해두지 않으면 이를 변경해야 합니다. DB 인스턴스가 사용 가능한 상태가 되고 난 후에 마스터 사용자 암호를 변경해야 하는 경우에는 DB 인스턴스를 수정하여 암호를 변경합니다. DB 인스턴스 변경에 대한 자세한 내용은 Amazon RDS DB 인스턴스 수정 단원을 참조하십시오.
-
데이터베이스에서 새 DB 인스턴스의 이름을 선택합니다.
RDS 콘솔에 새 DB 인스턴스의 세부 정보가 표시됩니다. DB 인스턴스를 만들고 사용할 준비가 될 때까지 DB 인스턴스의 상태는 Creating입니다. 상태가 사용 가능으로 변경되면 DB 인스턴스에 연결할 수 있습니다. 할당된 DB 인스턴스 클래스와 스토리지에 따라 새 인스턴스를 사용할 수 있을 때까지 몇 분 정도 걸릴 수 있습니다.
참고
AWS Marketplace를 통한 Db2 라이선스를 사용하려면 먼저 AWS Marketplace를 구독하고 AWS Management Console를 사용하여 IBM에 등록해야 합니다. 자세한 내용은 Db2 Marketplace 리스팅 구독 및 IBM으로 등록 단원을 참조하십시오.
AWS CLI를 사용하여 DB 인스턴스를 생성하려면 다음 파라미터와 함께 create-db-instance 명령을 호출합니다.
-
--db-instance-identifier
-
--db-instance-class
-
--vpc-security-group-ids
-
--db-subnet-group
-
--engine
-
--master-username
-
--master-user-password
-
--allocated-storage
-
--backup-retention-period
각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하세요.
이 예에서는 Microsoft SQL Server를 사용합니다.
예
대상 LinuxmacOS, 또는Unix:
aws rds create-db-instance \ --engine
sqlserver-se
\ --db-instance-identifiermymsftsqlserver
\ --allocated-storage250
\ --db-instance-classdb.t3.large
\ --vpc-security-group-idsmysecuritygroup
\ --db-subnet-groupmydbsubnetgroup
\ --master-usernamemasterawsuser
\ --manage-master-user-password \ --backup-retention-period3
Windows의 경우:
aws rds create-db-instance ^ --engine
sqlserver-se
^ --db-instance-identifiermydbinstance
^ --allocated-storage250
^ --db-instance-classdb.t3.large
^ --vpc-security-group-idsmysecuritygroup
^ --db-subnet-groupmydbsubnetgroup
^ --master-usernamemasterawsuser
^ --manage-master-user-password ^ --backup-retention-period3
다음과 비슷한 출력이 생성됩니다.
DBINSTANCE mydbinstance db.t3.large sqlserver-se 250 sa creating 3 **** n 10.50.2789
SECGROUP default active
PARAMGRP default.sqlserver-se-14 in-sync
참고
AWS Marketplace를 통한 Db2 라이선스를 사용하려면 먼저 AWS Marketplace를 구독하고 AWS Management Console를 사용하여 IBM에 등록해야 합니다. 자세한 내용은 Db2 Marketplace 리스팅 구독 및 IBM으로 등록 단원을 참조하십시오.
Amazon RDS API를 사용하여 DB 인스턴스를 생성하려면 CreateDBInstance 작업을 호출합니다.
각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하십시오.