

# Amazon RDS Custom for SQL Server의 DB 인스턴스 생성 및 연결
<a name="custom-creating-sqlserver"></a>

RDS Custom DB 인스턴스를 생성한 다음 AWS Systems Manager 또는 원격 데스크톱 프로토콜(RDP)을 사용하여 연결할 수 있습니다.

**중요**  
RDS Custom for SQL Server DB 인스턴스를 생성하거나 연결하기 전에 [Amazon RDS Custom for SQL Server를 위한 환경 설정](custom-setup-sqlserver.md)에 나와 있는 작업을 완료해야 합니다.  
RDS Custom DB 인스턴스를 생성할 때 태그를 지정할 수 있지만, RDS Custom 자동화에 필요한 `AWSRDSCustom` 태그를 생성하거나 수정해서는 안 됩니다. 자세한 내용은 [RDS Custom for SQL Server 리소스 태깅](custom-managing-sqlserver.tagging.md) 섹션을 참조하세요.  
RDS Custom for SQL Server DB 인스턴스를 처음 생성할 때 다음 오류가 표시될 수 있습니다. 서비스 연결 역할이 생성되고 있습니다. 나중에 다시 시도해 주세요. 이 경우에는 몇 분 정도 기다렸다가 다시 DB 인스턴스를 생성하면 됩니다.

**Topics**
+ [RDS Custom for SQL Server DB 인스턴스 생성](#custom-creating-sqlserver.create)
+ [RDS Custom 서비스 연결 역할](custom-creating-sqlserver.slr.md)
+ [AWS Systems Manager를 사용하여 RDS Custom DB 인스턴스에 연결](custom-creating-sqlserver.ssm.md)
+ [RDP를 사용하여 RDS Custom DB 인스턴스에 연결](custom-creating-sqlserver.rdp.md)

## RDS Custom for SQL Server DB 인스턴스 생성
<a name="custom-creating-sqlserver.create"></a>

AWS Management Console 또는 AWS CLI를 사용하여 SQL Server DB 인스턴스용 Amazon RDS Custom을 생성할 수 있습니다. 생성 절차는 Amazon RDS DB 인스턴스를 생성하는 절차와 유사합니다.

자세한 내용은 [Amazon RDS DB 인스턴스 생성](USER_CreateDBInstance.md) 섹션을 참조하세요.

### 콘솔
<a name="custom-creating-sqlserver.CON"></a>

**RDS Custom for SQL Server DB 인스턴스를 생성하는 방법**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

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

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

1. 데이터베이스 생성 방법으로 **표준 생성(Standard Create)**을 선택합니다.

1. **엔진 옵션(Engine options)**에서 엔진 유형으로 **Microsoft SQL Server**를 선택합니다.

1. **데이터베이스 관리 유형(Database management type)**에서 **Amazon RDS Custom**을 선택합니다.

1. **에디션(Edition)** 섹션에서 사용하려는 DB 엔진 에디션을 선택합니다.

1. (선택 사항) CEV에서 DB 인스턴스를 만들어야 하는 경우 **Use custom engine version (CEV)**(사용자 지정 엔진 버전(CEV) 사용) 확인란을 선택합니다. 드롭다운 목록에서 CEV를 선택합니다.

1. **데이터베이스 버전**은 기본값 버전을 유지합니다.

1. **Templates**(템플릿)의 경우, **Production**(프로덕션)을 선택합니다.

1. **설정(Settings)** 섹션에서 고유한 **DB 인스턴스 식별자(DB instance identifier)** 이름을 입력합니다.

1. 마스터 암호를 입력하려면 다음과 같이 하세요.

   1. **Settings**(설정) 섹션에서 **Credential Settings**(보안 인증 정보 설정)를 엽니다.

   1. **Auto generate a password**(암호 자동 생성) 확인란의 선택을 취소합니다.

   1. **마스터 사용자 이름(Master username)** 값을 변경하고 **마스터 암호(Master password)** 및 **암호 확인(Confirm password)**에 동일한 암호를 입력합니다.

   기본적으로 새로운 RDS Custom DB 인스턴스는 마스터 사용자를 위해 자동 생성된 암호를 사용합니다.

1. **DB 인스턴스 크기(DB instance size)** 섹션에서 **DB 인스턴스 클래스(DB instance class)** 값을 선택합니다.

   지원되는 클래스는 [RDS Custom for SQL Server DB 인스턴스 클래스 지원](custom-reqs-limits.instancesMS.md) 섹션을 참조하세요.

1. **스토리지(Storage)** 설정을 선택합니다.

1. **RDS Custom 보안**을 위해서는 다음을 수행합니다.

   1. **IAM 인스턴스 프로파일**에 RDS Custom for SQL Server DB 인스턴스의 인스턴스 프로파일을 선택하는 옵션이 두 개 있습니다.

      1. **새 인스턴스 프로파일 생성**을 선택하고 인스턴스 프로파일 이름 접미사를 제공합니다. 자세한 내용은 [AWS Management Console을 사용한 자동 인스턴스 프로파일 생성](custom-setup-sqlserver.md#custom-setup-sqlserver.instanceProfileCreation) 섹션을 참조하세요.

      1. 기존 인스턴스 프로파일을 선택합니다. 드롭다운 목록에서 `AWSRDSCustom`으로 시작하는 인스턴스 프로파일을 선택합니다.

   1. **암호화(Encryption)**의 경우 **키 ARN 입력(Enter a key ARN)**을 선택하여 사용 가능한 AWS KMS 키를 나열합니다. 그런 다음 목록에서 키를 선택합니다.

      AWS KMS 키는 RDS Custom에 필수입니다. 자세한 내용은 [대칭 암호화 AWS KMS 키 보유 여부 확인](custom-setup-sqlserver.md#custom-setup-sqlserver.cmk) 섹션을 참조하세요.

1. 나머지 섹션에서 원하는 대로 RDS Custom DB 인스턴스 설정을 지정합니다. 각 설정에 대한 자세한 내용은 [DB 인스턴스에 대한 설정](USER_CreateDBInstance.Settings.md) 섹션을 참조하세요. 다음 설정은 콘솔에 표시되지 않으며 지원되지 않습니다.
   + **프로세서 기능**
   + **Storage autoscaling(스토리지 Autoscaling**
   + **가용성 및 지속성(Availability & durability**
   + **데이터베이스 인증(Database authentication)**의 **암호 및 Kerberos 인증(Password and Kerberos authentication)** 옵션(**암호 인증(Password authentication)**만 지원)
   + **추가 구성(Additional configuration)**의 **데이터베이스 옵션(Database options)** 그룹
   + **성능 개선 도우미** 
   + **로그 내보내기**
   + **마이너 버전 자동 업그레이드 활성화**
   + **삭제 방지**

   **백업 보존 기간**은 지원되지만, **0일**을 선택할 수 없습니다.

1. **Create database**(데이터베이스 생성)를 선택합니다.

   **자격 증명 세부 정보 보기(View credential details)** 버튼이 **데이터베이스** 페이지에 표시됩니다.

   RDS Custom DB 인스턴스의 마스터 사용자 이름 및 암호를 보려면 **자격 증명 세부 정보 보기(View credential details)**를 선택합니다.

   DB 인스턴스를 마스터 사용자로 연결하려면 화면에 나타난 사용자 이름과 암호를 사용합니다.
**중요**  
마스터 사용자 암호를 다시 볼 수는 없습니다. 따라서 기록을 해두지 않으면 이를 변경해야 합니다. RDS Custom DB 인스턴스가 사용 가능한 상태가 되고 난 후에 마스터 사용자 암호를 변경하려면 DB 인스턴스를 수정하면 됩니다. DB 인스턴스 수정에 대한 자세한 내용은 [Amazon RDS Custom for SQL Server DB 인스턴스 관리](custom-managing-sqlserver.md) 섹션을 참조하세요.

1. **데이터베이스(Databases)**를 선택하여 RDS Custom DB 인스턴스 목록을 확인합니다.

1. 방금 생성한 RDS Custom DB 인스턴스를 선택합니다.

   RDS 콘솔에 새로운 RDS Custom DB 인스턴스의 세부 정보가 표시됩니다.
   + RDS Custom DB 인스턴스를 만들고 사용할 준비가 될 때까지 DB 인스턴스의 상태는 **생성 중(creating)**입니다. 상태가 **available**로 변경되면 DB 인스턴스에 연결할 수 있습니다. 할당된 인스턴스 클래스 및 스토리지에 따라 새 DB 인스턴스를 사용할 수 있게 되기까지 몇 분 정도 걸릴 수 있습니다.
   + **역할(Role)**에는 **인스턴스(RDS Custom)(Instance (RDS Custom))** 값이 있습니다.
   + **RDS Custom 자동화 모드(RDS Custom automation mode)**에는 **완전 자동화(Full automation)** 값이 있습니다. 이 설정은 DB 인스턴스가 자동 모니터링 및 인스턴스 복구를 제공함을 의미합니다.

### AWS CLI
<a name="custom-creating-sqlserver.CLI"></a>

[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) AWS CLI 명령을 사용하여 RDS Custom DB 인스턴스를 생성합니다.

다음 옵션이 필요합니다.
+ `--db-instance-identifier`
+ `--db-instance-class`(지원되는 인스턴스 클래스 목록은 섹션 참조)[RDS Custom for SQL Server DB 인스턴스 클래스 지원](custom-reqs-limits.instancesMS.md)
+ `--engine`(`custom-sqlserver-ee`, `custom-sqlserver-se` 또는 `custom-sqlserver-web`)
+ `--kms-key-id`
+ `--custom-iam-instance-profile`

다음 예제에서는 `my-custom-instance`라는 RDS Custom for SQL Server DB 인스턴스를 생성합니다. 백업 보존 기간은 3일로 설정합니다.

**참고**  
사용자 지정 엔진 버전(CEV)에서 DB 인스턴스를 만들려면 `--engine-version` 파라미터에 기존 CEV 이름을 제공합니다. 예: `--engine-version 15.00.4249.2.my_cevtest`

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
 1. aws rds create-db-instance \
 2.     --engine {{custom-sqlserver-ee}} \
 3.     --engine-version {{15.00.4073.23.v1}} \
 4.     --db-instance-identifier {{my-custom-instance}} \
 5.     --db-instance-class {{db.m5.xlarge}} \
 6.     --allocated-storage {{20}} \
 7.     --db-subnet-group {{mydbsubnetgroup}} \
 8.     --master-username {{myuser}} \
 9.     --master-user-password {{mypassword}} \
10.     --backup-retention-period {{3}} \
11.     --no-multi-az \
12.     --port {{8200}} \
13.     --kms-key-id {{mykmskey}} \
14.     --custom-iam-instance-profile {{AWSRDSCustomInstanceProfileForRdsCustomInstance}}
```
Windows의 경우:  

```
 1. aws rds create-db-instance ^
 2.     --engine {{custom-sqlserver-ee}} ^
 3.     --engine-version {{15.00.4073.23.v1}} ^
 4.     --db-instance-identifier {{my-custom-instance}} ^
 5.     --db-instance-class {{db.m5.xlarge}} ^
 6.     --allocated-storage {{20}} ^
 7.     --db-subnet-group {{mydbsubnetgroup}} ^
 8.     --master-username {{myuser}} ^
 9.     --master-user-password {{mypassword}} ^
10.     --backup-retention-period {{3}} ^
11.     --no-multi-az ^
12.     --port {{8200}} ^
13.     --kms-key-id {{mykmskey}} ^
14.     --custom-iam-instance-profile {{AWSRDSCustomInstanceProfileForRdsCustomInstance}}
```
보안 모범 사례로 여기에 표시된 프롬프트 이외의 암호를 지정하는 것이 좋습니다.

`describe-db-instances` 명령을 사용하여 인스턴스에 대한 세부 정보를 가져옵니다.

```
1. aws rds describe-db-instances --db-instance-identifier my-custom-instance
```

다음 부분 출력은 엔진, 파라미터 그룹 및 기타 정보를 보여줍니다.

```
 1. {
 2.     "DBInstances": [
 3.         {
 4.             "PendingModifiedValues": {},
 5.             "Engine": "custom-sqlserver-ee",
 6.             "MultiAZ": false,
 7.             "DBSecurityGroups": [],
 8.             "DBParameterGroups": [
 9.                 {
10.                     "DBParameterGroupName": "default.custom-sqlserver-ee-15",
11.                     "ParameterApplyStatus": "in-sync"
12.                 }
13.             ],
14.             "AutomationMode": "full",
15.             "DBInstanceIdentifier": "my-custom-instance",
16.             "TagList": []
17.         }
18.     ]
19. }
```