DMS Schema Conversion 작업을 위한 전체 사전 조건 - AWS Database Migration Service

DMS Schema Conversion 작업을 위한 전체 사전 조건

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

Amazon VPC를 기반으로 VPC 생성

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

DMS Schema Conversion을 위한 VPC를 생성하려면
  1. AWS Management 콘솔에 로그인하고 https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. VPC 생성을 선택합니다.

  3. VPC 생성 페이지에서 다음 설정을 입력합니다.

    • 생성할 리소스VPC 등

    • 이름 태그 자동 생성자동 생성을 선택하고 글로벌 고유 이름을 입력합니다. 예를 들면 sc-vpc를 입력합니다.

    • IPv4 CIDR 블록 - 10.0.1.0/24

    • NAT 게이트웨이In 1 AZ

    • VPC 엔드포인트없음

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

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

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

    온프레미스 데이터베이스에 연결하려면 프라이빗 서브넷이 포함된 서브넷 그룹을 생성하세요. 자세한 내용은 DMS Schema Conversion을 위한 인스턴스 프로파일 생성 섹션을 참조하세요.

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

    AWS DMS가 이 NAT 게이트웨이의 퍼블릭 IP 주소로부터 소스 온프레미스 데이터베이스에 액세스할 수 있도록 네트워크를 구성합니다. 자세한 내용은 VPC에 인터넷 연결 사용 섹션을 참조하세요.

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

Amazon S3 버킷 생성

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

DMS Schema Conversion에 대한 Amazon S3 버킷을 생성하려면
  1. AWS Management 콘솔에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 생성을 선택합니다.

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

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

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

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

참고

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

AWS Secrets Manager에 데이터베이스 자격 증명 정보 저장

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

데이터베이스 자격 증명 정보를 AWS Secrets Manager에 저장하려면
  1. AWS Management 콘솔에 로그인하고 https://console.aws.amazon.com/secretsmanager/에서 AWS Secrets Manager 콘솔을 엽니다.

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

  3. 보안 암호 유형 선택 페이지가 열립니다. 보안 암호 유형에서 저장할 데이터베이스 자격 증명 정보의 유형을 선택합니다.

    • Amazon RDS 데이터베이스의 자격 증명 정보 – Amazon RDS 데이터베이스의 자격 증명을 저장하려면 이 옵션을 선택합니다. 자격 증명 정보에서 데이터베이스에 대한 자격 증명 정보를 입력합니다. 데이터베이스에서 데이터베이스를 선택합니다.

    • 기타 데이터베이스의 자격 증명 정보 – Oracle 또는 SQL Server 소스 데이터베이스의 자격 증명 정보를 저장하려면 이 옵션을 선택합니다. 자격 증명 정보에서 데이터베이스에 대한 자격 증명 정보를 입력합니다.

    • 기타 유형의 보안 암호 - 데이터베이스에 연결하는 데 필요한 사용자 이름과 암호만 저장하려면 이 옵션을 선택합니다. 행 추가를 선택하여 두 개의 키-값 쌍을 추가합니다. 키 이름에는 반드시 usernamepassword를 사용해야 합니다. 이러한 키와 관련된 값에는 데이터베이스의 자격 증명 정보를 입력합니다.

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

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

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

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

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

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

IAM 정책 생성

DMS 스키마 변환이 Amazon S3에 접근할 수 있도록 IAM 정책을 생성하려면
  1. AWS Management 콘솔에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 정책을 선택합니다.

  3. 정책 생성을 선택합니다.

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

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

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

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

AWS Secrets Manager 액세스를 위해 DMS 스키마 변환 액세스를 위한 IAM 정책을 생성하려면
  1. AWS Management 콘솔에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 정책을 선택합니다.

  3. 정책 생성을 선택합니다.

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

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

  6. 허용된 작업에서 GetSecretValueDescribeSecret을 선택합니다.

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

IAM 역할 생성

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

Amazon S3 버킷에 대한 액세스 권한을 부여하는 IAM 역할을 생성하려면
  1. AWS Management 콘솔에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다.

  3. 역할 생성을 선택합니다.

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

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

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

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

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

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

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

  11. AWS DMS 리전 서비스 위탁자의 형식은 다음과 같습니다.

    dms.region-name.amazonaws.com

    region-nameus-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 Secrets Manager에 대한 액세스 권한을 부여하는 IAM 역할을 생성하려면
  1. AWS Management 콘솔에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다.

  3. 역할 생성을 선택합니다.

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

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

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

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

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

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

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

  11. 신뢰 정책 편집 페이지에서 schema-conversion.dms.amazonaws.com 및 AWS DMS 리전 서비스 위탁자를 신뢰할 수 있는 엔터티로 사용하도록 역할의 신뢰 관계를 편집합니다. 이 AWS DMS 리전 서비스 위탁자의 형식은 다음과 같습니다.

    dms.region-name.amazonaws.com

    region-nameus-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
  2. 다음 명령을 사용하여 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
  2. 다음 명령을 사용하여 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