View a markdown version of this page

오프라인 소스 및 가상 대상의 가상 모드 - AWS 데이터베이스 마이그레이션 서비스

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

오프라인 소스 및 가상 대상의 가상 모드

AWS Database Migration Service(DMS)는 스키마 변환 시 데이터 공급자를 위한 가상 모드를 제공합니다. 가상 모드는 두 가지 사용 사례를 지원합니다.

  • 오프라인 소스 - 소스 데이터베이스에 연결하지 않고 내보낸 스크립트 파일에서 스키마를 변환합니다. 소스 데이터베이스에 직접 연결할 수 없는 경우이 옵션을 사용합니다. 오프라인 소스의 가상 모드는 현재 Microsoft SQL Server 소스 데이터베이스에서 사용할 수 있습니다.

  • 가상 대상 - 대상 데이터베이스를 프로비저닝하지 않고 스키마를 변환합니다. 대상 인프라를 프로비저닝하기 전에 호환성을 평가하고, 스키마 코드를 변환 및 검토하고, 다양한 대상 옵션을 테스트할 수 있습니다. 가상 모드는 지원되는 모든 대상 데이터베이스에 사용할 수 있습니다. 지원되는 대상 데이터베이스에 대한 자세한 내용은 섹션을 참조하세요DMS Schema Conversion에서 대상 데이터 공급자 생성 및 설정.

가상 모드에서 데이터 공급자 생성

가상 모드에서 데이터 공급자를 생성하려면 데이터 공급자 생성 페이지에서 가상 모드를 켭니다. 자세한 내용은 DMS Schema Conversion을 위한 데이터 공급자 생성 단원을 참조하십시오.

가상 모드에서 데이터 공급자와의 작업

마이그레이션 프로젝트에서 가상 모드에서 데이터 공급자를 사용하려면
  1. 새 마이그레이션 프로젝트를 생성하거나 기존 마이그레이션 프로젝트를 선택한 다음 수정을 선택합니다.

  2. 소스 또는 대상 데이터 공급자의 경우 가상 모드가 켜져 있는 데이터 공급자를 선택합니다.

  3. 보안 암호에서 기존의 유효한 보안 암호를 선택합니다.

    참고

    마이그레이션 프로젝트를 생성하거나 수정할 때 가상 모드가 켜져 있는 데이터 공급자를 포함하여 모든 데이터 공급자에 대해 보안 암호 및 IAM 역할을 지정합니다. 가상 모드의 데이터 공급자의 경우 이러한 자격 증명은 데이터베이스에 연결하는 데 사용되지 않습니다.

  4. IAM 역할에서 보안 암호에 대한 읽기 액세스 권한이 있는 IAM 역할을 선택합니다.

  5. 변경 사항 저장을 선택합니다.

  6. 스키마 변환 탭을 선택합니다.

  7. 스키마 변환 시작을 선택합니다. 프로젝트가 시작될 때까지 기다립니다.

스키마 변환은 직접 연결과 동일한 방식으로 가상 모드의 데이터 공급자와 함께 작동합니다. DMS Schema Conversion은 데이터베이스 연결이 필요한 작업을 비활성화합니다.

오프라인 소스의 경우 소스 트리의 데이터베이스 노드에서 데이터베이스에서 새로 고침을 사용할 수 있습니다. 이 작업은 객체 트리를 지우고 S3 버킷의 데이터 정의 언어(DDL) 스크립트에서 메타데이터를 다시 로드합니다.

가상 대상의 경우 대상 트리에서 SQL로 저장을 사용하여 변환된 스키마 코드를 내보냅니다.

오프라인 소스

소스 데이터 공급자의 가상 모드를 켜면 소스 데이터베이스에 연결하지 않고도 내보낸 스크립트 파일에서 스키마를 변환할 수 있습니다. 소스 데이터베이스에 직접 연결할 수 없는 경우이 옵션을 사용합니다. 소스 데이터베이스 객체를 설명하는 DDL 스크립트를 제공합니다. 시작하기 전에 다음 요구 사항을 충족하는지 확인합니다.

오프라인 소스의 사전 조건

지원되는 소스 데이터베이스 언어
  • Microsoft SQL Server에서 내보낸 DDL 스크립트

    참고

    SQL Server Management Studio(SSMS) 또는 SQL Server Management Objects(SMO)를 사용하여 데이터베이스 객체를 내보낼 수 있습니다. 자세한 내용은 SQL Server 데이터베이스 객체 내보내기 단원을 참조하십시오.

DDL 스크립트 요구 사항
  • 각 데이터베이스 객체는 유니코드 인코딩과 함께 별도의 .sql 파일로 저장됩니다.

  • 각 데이터베이스에 대한 CREATE DATABASE 문과 함께 별도의 .sql 파일을 포함합니다.

  • 각 객체 파일은 객체가 속한 소스 데이터베이스를 식별하는 USE [database_name] 문으로 시작합니다.

  • 각 파일에는 데이터베이스 객체에 대한 명령CREATE문이 하나씩 포함되어 있습니다.

  • 스크립트에서 참조되는 데이터베이스 객체는 스키마 정규화 이름(예: dbo.TableName)을 사용합니다. 스키마를 지정하지 않으면 dbo가 사용됩니다.

  • 파일의 ALTERDROP 문은 건너뜁니다.

참고

내보낼 때 SQL Server는 기본 문과 함께 동일한 파일에 추가 CREATE 문을 포함할 수 있습니다. DMS Schema Conversion은 다음을 처리합니다.

  • CREATE INDEX - 테이블에 정의된 인덱스

  • CREATE TRIGGER - 테이블과 연결된 트리거

  • ALTER TABLE ... ADD DEFAULT - 열의 기본값

  • ALTER TABLE ... ADD CONSTRAINT DEFAULT - 명명된 기본 제약 조건

  • ALTER TABLE ... ALTER COLUMN ... NOT FOR REPLICATION - 열 복제 설정

파일의 다른 모든 ALTERDROP 문은 건너뜁니다.

S3 폴더 구조

DMS Schema Conversion은 지정한 S3 경로 아래의 모든 폴더를 스캔합니다. 데이터베이스 객체를 로드할 .sql 파일을 검색합니다. S3 경로는 버킷 또는 버킷의 접두사를 가리킬 수 있습니다. 각 파일의 USE [database_name] 문은 해당 객체의 소스 데이터베이스를 식별합니다.

파일 이름과 객체 이름 충돌을 방지하려면 각 데이터베이스의 스크립트를 별도의 폴더에 저장합니다.

S3 버킷 구성
  • Amazon S3 버킷에 DDL 스크립트를 업로드합니다.

  • DMS 서비스 보안 주체(dms.amazonaws.com)가 이를 수임하도록 허용하는 IAM 역할을 생성하고 S3 버킷에 범위가 지정된 s3:GetObjects3:ListBucket 권한을 부여하는 정책을 연결합니다. 자세한 내용은 오프라인 소스에 대한 S3 액세스 권한 구성 단원을 참조하십시오.

가상 대상

대상 데이터 공급자의 가상 모드를 사용하면 대상 데이터베이스를 프로비저닝하지 않고도 스키마 변환을 수행할 수 있습니다. 마이그레이션할 준비가 되면 직접 데이터베이스 연결로 전환할 수 있습니다.

대상 데이터 공급자를 가상 모드에서 직접 데이터베이스 연결로 전환

마이그레이션을 진행할 준비가 되면 데이터 공급자를 수정하여 가상 모드를 지우고 직접 데이터베이스 연결을 사용합니다.

중요

가상 모드를 끄고 데이터 공급자를 저장한 후에는 다시 켤 수 없습니다. 연결된 마이그레이션 프로젝트에서 데이터 공급자에 대한 데이터베이스 연결 세부 정보와 유효한 보안 암호 및 IAM 역할을 제공해야 합니다.

가상 모드에서 직접 데이터베이스 연결로 전환하려면
  1. AWS Management Console에 로그인하고 AWS DMS 콘솔을 엽니다.

  2. 탐색 창에서 데이터 공급자를 선택합니다. 그런 다음 수정할 데이터 공급자를 선택합니다.

  3. 연결된 마이그레이션 프로젝트 섹션에서이 데이터 공급자를 사용하는 모든 마이그레이션 프로젝트를 검토합니다.

  4. 첫 번째로 연결된 프로젝트를 선택합니다.

  5. 스키마 변환 탭을 선택합니다.

  6. 세부 정보 섹션 - 상태를 확인합니다.

  7. 상태가 열기이고 스키마 변환 닫기 버튼이 회색으로 표시되지 않는 경우 해당 상태를 선택하고 프로젝트가 닫힐 때까지 기다립니다.

  8. 관련된 나머지 모든 마이그레이션 프로젝트에 대해 이전 단계를 반복합니다.

  9. 열려 있는 프로젝트가 남아 있지 않은지 확인합니다.

  10. 데이터 공급자로 돌아가 수정을 선택합니다.

  11. 가상 모드를 끕니다.

  12. 데이터베이스의 연결 설정을 입력합니다. 연결 파라미터는 데이터베이스 엔진에 따라 다릅니다. 자세한 정보는 데이터 공급자 생성을 참조하세요.

  13. 변경 사항 저장을 선택합니다.

    참고

    변경 사항을 저장한 후에는 가상 모드를 다시 켤 수 없습니다.

  14. AWS DMS 콘솔로 돌아갑니다.

  15. 탐색 창에서 마이그레이션 프로젝트를 선택합니다. 그런 다음 데이터 공급자를 변경할 마이그레이션 프로젝트를 선택합니다.

  16. 수정을 선택합니다.

  17. 보안 암호에서 데이터베이스의 자격 증명이 포함된 보안 암호를 선택합니다.

  18. IAM 역할에서 보안 암호를 읽는 데 사용할 IAM 역할을 선택합니다. 여기에 지정된 IAM 역할이 올바르고, 연결 자격 증명 보안 암호에 대한 읽기 권한이 부여되었으며, AWS DMS Schema Conversion 서비스에서 사용할 수 있는지 확인합니다.

  19. 변경 사항 저장을 선택합니다.

  20. 스키마 변환 탭을 선택합니다.

  21. 스키마 변환 시작을 선택합니다. 프로젝트가 시작될 때까지 기다립니다.

데이터 공급자를 전환한 후 프로젝트를 처음 시작하면 변환 결과를 볼 수 있습니다. 다음 작업만 수행할 수 있습니다.

  • 노드 스키마 - 데이터베이스에서 새로 고침.

  • 데이터베이스 객체 - 변경 사항을 적용한 다음 SQL로 저장합니다.

적용 작업은 변환된 객체를 데이터베이스에 적용합니다.

데이터베이스에서 새로 고침 작업은 실제 데이터베이스에서 데이터베이스 객체를 로드합니다. 저장되지 않은 변환 객체는 모두 손실됩니다.