

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

# DMS Schema Conversion 작업을 위한 전체 사전 조건
<a name="set-up"></a>

DMS Schema Conversion을 설정하려면 다음 작업을 완료하세요. 그런 다음, 인스턴스 프로파일을 설정하고 데이터 공급자를 추가하며 마이그레이션 프로젝트를 생성할 수 있습니다.

**Topics**
+ [Amazon VPC를 기반으로 VPC 생성](#set-up-vpc)
+ [Amazon S3 버킷 생성](#set-up-s3-bucket)
+ [에 데이터베이스 자격 증명 저장 AWS Secrets Manager](#set-up-secrets)
+ [IAM 정책 생성](#set-up-iam-policies)
+ [IAM 역할 생성](#set-up-iam-roles)

## Amazon VPC를 기반으로 VPC 생성
<a name="set-up-vpc"></a>

이 단계에서는에서 Virtual Private Cloud(VPC)를 생성합니다 AWS 계정. 이 VPC는 Amazon Virtual Private Cloud(VPC) 서비스를 기반으로 하며 AWS 리소스를 포함합니다.

**DMS Schema Conversion을 위한 VPC를 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) Amazon VPC 콘솔을 엽니다.

1. **VPC 생성**을 선택합니다.

1. **VPC 생성** 페이지에서 다음 설정을 입력합니다.
   + **생성할 리소스** – **VPC 등**
   + **이름 태그 자동 생성** – **자동 생성**을 선택하고 글로벌 고유 이름을 입력합니다. 예를 들면 **sc-vpc**를 입력합니다.
   + **IPv4 CIDR 블록** - **10.0.1.0/24**
   + **NAT 게이트웨이** – **In 1 AZ**
   + **VPC 엔드포인트** – **없음**

1. 해당 설정의 나머지 부분은 그대로 유지하고 **VPC 만들기**를 선택합니다.

1. **서브넷**을 선택하고 퍼블릭 및 프라이빗 서브넷 ID를 기록해 둡니다.

   Amazon RDS 데이터베이스에 연결하려면 퍼블릭 서브넷이 포함된 서브넷 그룹을 생성하세요.

   온프레미스 데이터베이스에 연결하려면 프라이빗 서브넷이 포함된 서브넷 그룹을 생성하세요. 자세한 내용은 [DMS Schema Conversion을 위한 인스턴스 프로파일 생성](getting-started-instance.md) 단원을 참조하십시오.

1. **NAT 게이트웨이**를 선택합니다. **NAT 게이트웨이**를 선택하고 **탄력적 IP 주소**를 기록해 둡니다.

   가이 NAT 게이트웨이의 퍼블릭 IP 주소에서 소스 온프레미스 데이터베이스에 액세스할 AWS DMS 수 있도록 네트워크를 구성합니다. 자세한 내용은 [VPC에 인터넷 연결 사용](instance-profiles-network.md#instance-profiles-network-internet) 단원을 참조하십시오.

Amazon RDS에서 인스턴스 프로파일과 대상 데이터베이스를 생성할 때 이 VPC를 사용하세요.

## Amazon S3 버킷 생성
<a name="set-up-s3-bucket"></a>

마이그레이션 프로젝트의 정보를 저장하려면 Amazon S3 버킷을 생성하세요. DMS Schema Conversion은 이 Amazon S3 버킷을 사용하여 평가 보고서, 변환된 SQL 코드, 데이터베이스 스키마 객체에 관한 정보 등의 항목을 저장합니다.

**DMS Schema Conversion에 대한 Amazon S3 버킷을 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) Amazon S3 콘솔을 엽니다.

1. **버킷 생성**을 선택합니다.

1. **버킷 만들기** 페이지에서 S3 버킷의 글로벌 고유 이름을 선택합니다. 예를 들면 **sc-s3-bucket**을 입력합니다.

1. **AWS 리전**의 경우, 리전을 선택합니다.

1. **버킷 버전 관리**의 경우, **활성화**를 선택합니다.

1. 해당 설정의 나머지 부분은 그대로 유지하고 **버킷 만들기**를 선택합니다.

**참고**  
DMS 스키마 변환(SC)는 Amazon S3 관리 키로 서버측 암호화(SSE-S3)를 사용하는 S3 버킷에서만 동작합니다. AWS KMS를 사용한 서버 측 암호화(SSE-KMS), 고객 제공 키(SSE-C) 또는 클라이언트 측 암호화를 포함한 다른 암호화 구성은 현재 SC에서 지원되지 않으므로 S3 버킷에 액세스할 수 없습니다. 다른 암호화 방법을 사용하는 경우 DMS 스키마 변환과 함께 사용할 수 있도록 SSE-S3 버킷을 생성해야 합니다.

## 에 데이터베이스 자격 증명 저장 AWS Secrets Manager
<a name="set-up-secrets"></a>

소스 및 대상 데이터베이스 자격 증명을에 저장합니다 AWS Secrets Manager. 이러한 보안 암호를에 복제해야 합니다 AWS 리전. DMS Schema Conversion은 이러한 보안 암호를 사용하여 마이그레이션 프로젝트의 데이터베이스에 연결합니다.

**에 데이터베이스 자격 증명을 저장하려면 AWS Secrets Manager**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) AWS Secrets Manager 콘솔을 엽니다.

1. **새 보안 암호 저장**을 선택합니다.

1. **보안 암호 유형 선택** 페이지가 열립니다. **보안 암호 유형**에서 저장할 데이터베이스 자격 증명 정보의 유형을 선택합니다.
   + **Amazon RDS 데이터베이스의 자격 증명 정보** – Amazon RDS 데이터베이스의 자격 증명을 저장하려면 이 옵션을 선택합니다. **자격 증명 정보**에서 데이터베이스에 대한 자격 증명 정보를 입력합니다. **데이터베이스**에서 데이터베이스를 선택합니다.
   + **기타 데이터베이스의 자격 증명 정보** – Oracle 또는 SQL Server 소스 데이터베이스의 자격 증명 정보를 저장하려면 이 옵션을 선택합니다. **자격 증명 정보**에서 데이터베이스에 대한 자격 증명 정보를 입력합니다.
   + **기타 유형의 보안 암호** - 데이터베이스에 연결하는 데 필요한 사용자 이름과 암호만 저장하려면 이 옵션을 선택합니다. **행 추가**를 선택하여 두 개의 키-값 쌍을 추가합니다. 키 이름에는 반드시 **username**과 **password**를 사용해야 합니다. 이러한 키와 관련된 값에는 데이터베이스의 자격 증명 정보를 입력합니다.

1. **암호화 키**에서 Secrets Manager가 보안 암호 값을 암호화하는 데 사용하는 AWS KMS 키를 선택합니다. **다음**을 선택합니다.

1. **보안 암호 구성** 페이지에서 설명이 포함된 **보안 암호 이름**을 입력합니다. 예를 들면, **sc-source-secret** 또는 **sc-target-secret**을 입력합니다.

1. **보안 암호 복제**를 선택한 다음, **AWS 리전**에서 리전을 선택합니다. **다음**을 선택합니다.

1. **로테이션 구성** 페이지에서 **다음**을 선택합니다.

1. **검토** 페이지에서 보안 암호 세부 정보를 검토한 후 **저장**을 선택합니다.

소스 및 대상 데이터베이스의 자격 증명 정보를 저장하려면 이 단계를 반복하세요.

## IAM 정책 생성
<a name="set-up-iam-policies"></a>

**DMS 스키마 변환이 Amazon S3에 접근할 수 있도록 IAM 정책을 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 탐색 창에서 **Policies**를 선택합니다.

1. **정책 생성**을 선택합니다.

1. **서비스 선택** 페이지의 목록에서 **Amazon S3**를 선택합니다.

1. **허용된 작업**에서 `PutObject`, `GetObject`, `GetObjectVersion`, `GetBucketVersioning`, `GetBucketLocation`, `ListBucket`을 선택합니다.

1. **리소스**에서 이전 섹션에서 생성한 버킷의 ARN을 지정합니다. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 설명이 포함된 이름을 입력합니다. 예를 들어 `sc-s3-policy`입니다. 그런 다음 **정책 생성**을 선택합니다.

**DMS Schema Conversionto 액세스를 위한 IAM 정책을 생성하려면 AWS Secrets Manager**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 탐색 창에서 **Policies**를 선택합니다.

1. **정책 생성**을 선택합니다.

1. **서비스 선택** 페이지의 목록에서 **Secrets Manager**를 선택합니다.

1. **다음**을 선택합니다. **권한 추가** 페이지가 열립니다.

1. **허용된 작업**에서 `GetSecretValue` 및 `DescribeSecret`을 선택합니다.

1. **검토 및 생성** 페이지에서 설명이 포함된 이름을 입력합니다. 예를 들어 `sc-secrets-manager-policy`입니다. 그런 다음 **정책 생성**을 선택합니다.

## IAM 역할 생성
<a name="set-up-iam-roles"></a>

마이그레이션 프로젝트에 사용할 AWS Identity and Access Management (IAM) 역할을 생성합니다. DMS Schema Conversion은 이러한 IAM 역할을 사용하여 AWS Secrets Manager에 저장된 Amazon S3 버킷 및 데이터베이스 자격 증명 정보에 액세스합니다.

**Amazon S3 버킷에 대한 액세스 권한을 부여하는 IAM 역할을 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 탐색 창에서 **Roles**를 선택합니다.

1. **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 선택** 페이지에서 **AWS 서비스**를 선택합니다. **DMS**를 선택합니다.

1. **다음**을 선택합니다. **권한 추가** 페이지가 열립니다.

1. **필터 정책**의 경우 **S3**을 입력합니다. 이전 섹션에서 생성한 **sc-s3-policy** 정책을 선택합니다.

1. **다음**을 선택합니다. **이름, 검토 및 생성** 페이지가 열립니다.

1. **역할 이름**에 설명이 포함된 이름을 입력합니다. 예를 들면 **sc-s3-role**을 입력합니다. **역할 생성**을 선택합니다.

1. **역할** 페이지에서 **역할 이름**에 **sc-s3-role**을 입력합니다. **sc-s3-role**을 선택합니다.

1. **sc-s3-role 페이지**에서 **신뢰 관계** 탭을 선택합니다. **신뢰 정책 편집**을 선택합니다.

1.  AWS DMS 리전 서비스 보안 주체의 형식은 다음과 같습니다.

   ```
   dms.region-name.amazonaws.com
   ```

   `region-name`을 `us-east-1`와 같은 리전 이름으로 바꿉니다. 다음 코드 예제에서는 `us-east-1` 리전의 위탁자를 보여줍니다.

   ```
   dms.us-east-1.amazonaws.com
   ```

   다음 코드 예제에서는 AWS DMS 스키마 변환에 액세스하기 위한 신뢰 정책을 보여줍니다.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "dms.us-east-1.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

**에 대한 액세스를 제공하는 IAM 역할을 생성하려면 AWS Secrets Manager**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 탐색 창에서 **Roles**를 선택합니다.

1. **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 선택** 페이지에서 **AWS 서비스**를 선택합니다. **DMS**를 선택합니다.

1. **다음**을 선택합니다. **권한 추가** 페이지가 열립니다.

1. **필터 정책**의 경우 `s3`을 입력합니다. 이전 섹션에서 생성한 **sc-secrets-manager-policy**를 선택합니다.

1. **다음**을 선택합니다. **이름, 검토 및 생성** 페이지가 열립니다.

1. **역할 이름**에 설명이 포함된 이름을 입력합니다. 예를 들면 **sc-secrets-manager-role**을 입력합니다. **역할 생성**을 선택합니다.

1. **역할** 페이지에서 **역할 이름**에 **sc-secrets-manager-role**을 입력합니다. **sc-secrets-manager-role**을 선택합니다.

1. **sc-secrets-manager-role** 페이지에서 **신뢰 관계 탭**을 선택합니다. **신뢰 정책 편집**을 선택합니다.

1. **신뢰 정책 편집** 페이지에서 및 AWS DMS 리전 서비스 보안 주체를 신뢰할 수 있는 엔터티로 사용할 역할의 신뢰 관계를 편집`schema-conversion.dms.amazonaws.com`합니다. 이 AWS DMS 리전 서비스 보안 주체의 형식은 다음과 같습니다.

   ```
   dms.region-name.amazonaws.com
   ```

   `region-name`을 `us-east-1`와 같은 리전 이름으로 바꿉니다. 다음 코드 예제에서는 `us-east-1` 리전의 위탁자를 보여줍니다.

   ```
   dms.us-east-1.amazonaws.com
   ```

   다음 코드 예제에서는 AWS DMS 스키마 변환에 액세스하기 위한 신뢰 정책을 보여줍니다.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "dms.us-east-1.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

**AWS CLI 또는 AWS DMS API와 함께 사용할 `dms-vpc-role` IAM 역할을 생성하려면**

1. 다음과 같은 IAM 정책이 있는 JSON 파일을 생성합니다. JSON 파일의 이름을 `dmsAssumeRolePolicyDocument.json`으로 지정합니다.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "dms.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   그런 다음 다음 명령을 사용하여 AWS CLI를 사용하여 역할을 생성합니다.

   ```
   aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json                    
   ```

1. 다음 명령을 사용하여 `AmazonDMSVPCManagementRole` 정책을 `dms-vpc-role`에 연결합니다.

   ```
   aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole   
   ```

**AWS CLI 또는 AWS DMS API와 함께 사용할 `dms-cloudwatch-logs-role` IAM 역할을 생성하려면**

1. 다음과 같은 IAM 정책이 있는 JSON 파일을 생성합니다. JSON 파일의 이름을 `dmsAssumeRolePolicyDocument2.json`으로 지정합니다.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "dms.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   그런 다음 다음 명령을 사용하여 AWS CLI를 사용하여 역할을 생성합니다.

   ```
   aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json
   ```

1. 다음 명령을 사용하여 `AmazonDMSCloudWatchLogsRole` 정책을 `dms-cloudwatch-logs-role`에 연결합니다.

   ```
   aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole
   ```