

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

# AWS DMS와 AWS SCT를 사용하여 Microsoft SQL Server 데이터베이스를 Aurora MySQL로 마이그레이션
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct"></a>

*Mark Szalkiewicz, Pavan Pusuluri, Amazon Web Services*

## 요약
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-summary"></a>

이 패턴은 온프레미스 또는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 Microsoft SQL Server 데이터베이스를 Amazon Aurora MySQL로 마이그레이션하는 방법을 설명합니다. 이 패턴은 데이터 마이그레이션 및 스키마 변환을 위해 AWS Database Migration Service(AWS DMS) 및 AWS Schema Conversion Tool(AWS SCT)을 사용합니다.

## 사전 조건 및 제한 사항
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**사전 조건 **
+ 활성 상태의 AWS 계정
+ 온프레미스 데이터 센터 또는 EC2 인스턴스에 있는 Microsoft SQL Server 소스 데이터베이스 
+ AWS SCT가 설치된 로컬 시스템 또는 EC2 인스턴스에 설치된 AWS SCT 커넥터용 자바 데이터베이스 연결(JDBC) 드라이버 

 

**제한 사항 **
+ 데이터베이스 크기 한도: 64TB

**제품 버전**
+ Enterprise, Standard, Workgroup 및 Developer 버전용 Microsoft SQL Server 버전 2008, 2008R2, 2012, 2014, 2016, 2017. Web 및 Express 버전은 AWS DMS에서 지원하지 않습니다. 지원되는 버전의 최신 목록은 [Microsoft SQL Server 데이터베이스를 AWS DMS용 소스로 사용하기](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) 섹션을 참조하세요. 가장 종합적인 버전 및 기능 지원을 위해 최신 버전의 AWS DMS를 사용하는 것을 권장합니다. AWS SCT에서 지원하는 Microsoft SQL Server 버전에 대한 자세한 내용은 [AWS SCT 설명서](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)를 참조하세요.
+ MySQL 버전 5.5, 5.6 및 5.7. 지원되는 버전의 최신 목록은 [MySQL 호환 데이터베이스를 AWS DMS용 타겟으로 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)을 참조하세요.

## 아키텍처
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-architecture"></a>

**소스 기술 스택**

다음 중 하나입니다. 
+ 온프레미스 Microsoft SQL Server 데이터베이스
+ EC2 인스턴스의 Microsoft SQL Server 데이터베이스

**대상 기술 스택**
+ Aurora MySQL

**데이터 마이그레이션 아키텍처**
+ AWS 클라우드에서 실행되는 Microsoft SQL Server 데이터베이스에서 

![](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/c675ada4-e92c-4ddb-b49f-69668f532504.png)

+ 온프레미스 데이터 센터에서 실행되는 Microsoft SQL Server 데이터베이스에서

![](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/b6ce0199-fc56-4bf2-a8cc-67de161e3cf0.png)


## 도구
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)(AWS DMS)를 사용하면 Oracle, SQL Server, MySQL 및 PostgreSQL을 비롯하여 널리 사용되는 상용 및 오픈 소스 데이터베이스에서 데이터를 마이그레이션할 수 있습니다. AWS DMS를 사용하여 데이터를 AWS 클라우드로, 온프레미스 인스턴스 간(AWS 클라우드 설정을 통해) 또는 클라우드와 온프레미스 설정 조합 간에 마이그레이션할 수 있습니다.
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)(AWS SCT)을 사용하면 소스 데이터베이스 스키마와 대부분의 사용자 지정 코드를 대상 데이터베이스와 호환되는 형식으로 자동 변환하여 이기종 데이터베이스를 쉽게 마이그레이션할 수 있습니다.

## 에픽
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-epics"></a>

### 마이그레이션 준비
<a name="prepare-for-the-migration"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 소스 및 대상 데이터베이스 버전과 엔진의 유효성을 확인합니다. |  | DBA | 
| 소스 및 대상 데이터베이스를 위한 아웃바운드 보안 그룹을 생성합니다. |  | SysAdmin | 
| 필요한 경우 AWS SCT용 EC2 인스턴스를 생성하고 구성합니다. |  | DBA | 
| 최신 버전의 AWS SCT 및 관련 드라이버를 다운로드합니다. |  | DBA | 
| 원본 데이터베이스에 필수 사용자 및 권한을 추가하고 검증합니다. |  | DBA | 
| 워크로드용 AWS SCT 프로젝트를 생성하고 소스 데이터베이스에 연결합니다. |  | DBA | 
| 평가 보고서를 작성하고 타당성을 평가하세요. |  | DBA | 

### 대상 데이터베이스를 준비합니다.
<a name="prepare-the-target-database"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Amazon Aurora를 데이터베이스 엔진으로 사용하여 대상 Amazon RDS DB 인스턴스를 생성합니다. |  | DBA | 
| 소스에서 사용자, 역할 및 권한 목록을 추출합니다. |  | DBA | 
| 기존 데이터베이스 사용자를 새 데이터베이스 사용자에 매핑합니다. |  | 앱 소유자 | 
| 대상 데이터베이스에서 사용자를 생성합니다. |  | DBA | 
| 대상 데이터베이스에 이전 단계의 역할을 적용합니다. |  | DBA | 
| 원본 데이터베이스의 데이터베이스 옵션, 파라미터, 네트워크 파일 및 데이터베이스 링크를 검토한 다음 대상 데이터베이스에 적용할 수 있는지 평가하세요. |  | DBA | 
| 모든 관련 설정을 대상에 적용합니다. |  | DBA | 

### 객체 전송
<a name="transfer-objects"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 대상 데이터베이스에 대한 AWS SCT 연결을 구성합니다. |  | DBA | 
| AWS SCT를 사용하여 스키마를 변환합니다. | AWS SCT는 소스 데이터베이스 스키마와 대부분의 사용자 지정 코드를 대상 데이터베이스와 호환되는 형식으로 자동 변환합니다. 도구가 자동으로 변환할 수 없는 코드는 명확하게 표시되므로 직접 변환할 수 있습니다. | DBA | 
| 생성된 SQL 보고서를 검토하고 모든 오류 및 경고를 저장합니다. |  | DBA | 
| 자동화된 스키마 변경을 대상에 적용하거나.sql 파일로 저장합니다. |  | DBA | 
| AWS SCT가 대상에 객체를 생성했는지 확인합니다. |  | DBA | 
| 자동 변환에 실패한 모든 항목을 수동으로 재작성, 거부 또는 재설계하세요. |  | DBA | 
| 생성된 역할 및 사용자 부여를 적용하고 예외를 검토하세요. |  | DBA | 

### 데이터 마이그레이션
<a name="migrate-the-data"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 마이그레이션 방법을 결정하세요. |  | DBA | 
| AWS DMS 콘솔에서 복제 인스턴스를 생성합니다. | AWS DMS 사용에 대한 자세한 내용은 ‘관련 리소스’ 섹션의 링크를 참조하세요. | DBA | 
| 원본 및 대상 엔드포인트를 생성합니다. |  | DBA | 
| 복제 작업을 생성합니다. |  | DBA | 
| 복제 작업을 시작하고 로그를 모니터링합니다. |  | DBA | 

### 애플리케이션 마이그레이션
<a name="migrate-the-application"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| AWS SCT를 사용하여 애플리케이션 코드 내의 SQL 항목을 분석하고 변환합니다. | 한 엔진에서 다른 엔진으로 데이터베이스 스키마를 변환할 때는 이전 데이터베이스 엔진 대신 새 데이터베이스 엔진과 상호 작용하도록 애플리케이션의 SQL 코드도 업데이트해야 합니다. 변환된 SQL 코드를 보고, 분석하고, 편집하고, 저장할 수 있습니다. AWS SCT 사용에 대한 자세한 내용은 ‘관련 리소스’ 섹션의 링크를 참조하세요. | 앱 소유자 | 
| AWS에 새 애플리케이션 서버를 생성합니다. |  | 앱 소유자 | 
| 애플리케이션 코드를 새 서버로 마이그레이션합니다. |  | 앱 소유자 | 
| 대상 데이터베이스 및 드라이버에 맞게 애플리케이션 서버를 구성합니다. |  | 앱 소유자 | 
| 애플리케이션의 소스 데이터베이스 엔진 관련 코드를 모두 수정하세요. |  | 앱 소유자 | 
| 대상 엔진에 맞게 애플리케이션 코드를 최적화하세요. |  | 앱 소유자 | 

### 전환
<a name="cut-over"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 모든 신규 사용자, 권한 및 코드 변경 사항을 대상에 적용하세요. |  | DBA | 
| 변경 사항이 있을 경우 애플리케이션을 잠급니다. |  | 앱 소유자 | 
| 모든 변경 사항이 대상 데이터베이스에 전파되었는지 확인합니다. |  | DBA | 
| 새 애플리케이션 서버가 대상 데이터베이스를 가리키도록 합니다. |  | 앱 소유자 | 
| 모든 것을 다시 확인해 보세요. |  | 앱 소유자 | 
| 가동을 시작합니다. |  | 앱 소유자 | 

### 프로젝트 닫기
<a name="close-the-project"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 임시 AWS 리소스(AWS DMS 복제 인스턴스 및 AWS SCT에 사용되는 EC2 인스턴스)를 종료합니다. |  | DBA, 앱 소유자 | 
| 내부 팀을 위한 AWS DMS 프로세스에 대한 피드백을 업데이트합니다. |  | DBA, 앱 소유자 | 
| AWS DMS 프로세스를 수정하고 필요한 경우 템플릿을 개선합니다. |  | DBA, 앱 소유자 | 
| 프로젝트 문서를 검토하고 검증하세요. |  | DBA, 앱 소유자 | 
| 마이그레이션 시간, 수동 대비 도구 비용 절감 비율 등에 대한 지표를 수집하세요. |  | DBA, 앱 소유자 | 
| 프로젝트를 종료하고 피드백을 제공하세요. |  | DBA, 앱 소유자 | 

## 관련 리소스
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-related-resources"></a>

**참조**
+ [AWS DMS 사용 설명서](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [AWS SCT 사용 설명서](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)  
+ [Amazon Aurora 요금](https://aws.amazon.com/rds/aurora/pricing/) 

**자습서 및 동영상**
+ [AWS Database Migration Service 시작하기](https://aws.amazon.com/dms/getting-started/)
+ [AWS Schema Conversion Tool 사용 시작하기](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Amazon RDS 리소스](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS 단계별 안내](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) 