DMS 및 SCT를 사용하여 Amazon EC2의 오라클에서 Amazon RDS for MySQL로 마이그레이션 - 권장 가이드

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

DMS 및 SCT를 사용하여 Amazon EC2의 오라클에서 Amazon RDS for MySQL로 마이그레이션

Anil Kunapareddy 및 Harshad Gohil 작성

환경: PoC 또는 파일럿

소스: 데이터베이스: 관계형

대상: Amazon RDS for MySQL

R 유형: 리아키텍트

워크로드: Oracle

기술: 마이그레이션, 데이터베이스

AWS 서비스: Amazon RDS

요약

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 Oracle 데이터베이스를 관리하려면 리소스가 필요하며 비용이 많이 들 수 있습니다. 이러한 데이터베이스를 Amazon Relational Database Service(RDS) for MySQL DB 인스턴스로 이동하면 전체 IT 예산을 최적화하여 작업을 쉽게 수행할 수 있습니다. Amazon RDS for MySQL은 다중 AZ, 확장성 및 자동 백업과 같은 기능도 제공합니다. 

이 패턴은 Amazon EC2의 원본 Oracle 데이터베이스를 대상 Amazon RDS for MySQL DB 인스턴스로 마이그레이션하는 과정을 안내합니다. Database Migration Service(DMS)를 사용하여 데이터를 마이그레이션하고, Schema Conversion Tool(SCT)를 사용하여 원본 데이터베이스 스키마와 객체를 Amazon RDS for MySQL와 호환되는 형식으로 변환합니다.

사전 조건 및 제한 사항

사전 조건 

  • 활성 상태의 계정.

  • ARCHIVELOG 모드에서 실행 중인 인스턴스 및 리스너 서비스가 있는 소스 데이터베이스

  • 데이터 마이그레이션을 위한 충분한 스토리지가 있는 대상 Amazon RDS for MySQL 데이터베이스

제한 사항

  • DMS는 대상 데이터베이스에 스키마를 생성하지 않으므로 사용자가 직접 스키마를 생성해야 합니다. 대상에 스키마 이름이 이미 있어야 합니다. 소스 스키마의 테이블을 사용자/스키마로 가져오면 DMS가 이를 사용하여 대상 인스턴스에 연결합니다. 여러 스키마를 마이그레이션해야 하는 경우, 여러 복제 작업을 만들어야 합니다.

제품 버전

아키텍처

소스 기술 스택

  • EC2 인스턴스의 Oracle 데이터베이스  

대상 기술 스택

  • Amazon RDS for MySQL DB 인스턴스

데이터 마이그레이션 아키텍처

AWS DMS를 사용하여 아마존 EC2의 오라클에서 MySQL용 아마존 RDS로 마이그레이션하기

소스 및 대상 아키텍처· 

AWS DMS와 AWS SCT를 사용하여 아마존 EC2의 오라클에서 MySQL용 아마존 RDS로 마이그레이션하기

도구

  • DMS - Database Migration Service(DMS)는 온프레미스, Amazon RDS DB 인스턴스 또는 EC2 인스턴스의 데이터베이스에 있는 데이터베이스에서 Amazon RDS for MySQL 또는 EC2 인스턴스와 같은 서비스의 데이터베이스로 데이터를 마이그레이션하는 데 사용할 수 있는 웹 서비스입니다. 또한 데이터베이스를 서비스에서 온 프레미스 데이터베이스로 마이그레이션할 수 있습니다. 이기종 또는 동종 데이터베이스 엔진 간에 데이터를 마이그레이션할 수 있습니다.

  • SCT — Schema Conversion Tool(SCT)을 사용하면 원본 데이터베이스 스키마와 대부분의 데이터베이스 코드 객체(보기, 저장 프로시저, 함수 등)를 대상 데이터베이스와 호환되는 형식으로 자동 변환하여 예측 가능한 이기종 데이터베이스 마이그레이션을 수행할 수 있습니다. SCT를 사용하여 데이터베이스 스키마와 코드 객체를 변환한 후, DMS를 사용하여 소스 데이터베이스의 데이터를 대상 데이터베이스로 마이그레이션하여 마이그레이션 프로젝트를 완료할 수 있습니다.

에픽

작업설명필요한 기술

소스 및 대상 데이터베이스 버전과 엔진을 식별합니다.

DBA/개발자

DMS 복제 인스턴스를 식별합니다.

DBA/개발자

스토리지 유형 및 용량과 같은 스토리지 요구 사항을 식별합니다.

DBA/개발자

지연 시간 및 대역폭과 같은 네트워크 요구 사항을 식별합니다.

DBA/개발자

Oracle 호환성 목록 및 용량 요구 사항을 기반으로 소스 및 대상 서버 인스턴스의 하드웨어 요구 사항을 식별합니다.

DBA/개발자

원본 및 대상 데이터베이스의 네트워크 액세스 보안 요구 사항을 확인합니다.

DBA/개발자

SCT 및 Oracle 드라이버를 설치합니다.

DBA/개발자

백업 전략을 결정합니다.

DBA/개발자

가용성 요구 사항을 결정합니다.

DBA/개발자

애플리케이션 마이그레이션 및 전환 전략을 식별하십시오.

DBA/개발자

용량, 스토리지, 네트워크 기능에 따라 적절한 DB 인스턴스 유형을 선택합니다.

DBA/개발자
작업설명필요한 기술

Virtual Private Cloud(VPC)를 생성합니다. 원본, 대상 및 복제 인스턴스는 동일한 VPC에 있어야 합니다. 동일한 가용 영역에 둘 수 있는 것도 좋습니다.

개발자

데이터베이스 액세스에 필요한 보안 그룹을 만듭니다.

개발자

키 페어를 생성하고 구성합니다.

개발자

서브넷, 가용 영역, CIDR 블록을 구성합니다.

개발자
작업설명필요한 기술

필수 사용자 및 역할을 사용하여 Amazon EC2에 Oracle 데이터베이스를 설치합니다.

DBA

다음 열의 세 단계를 수행하여 EC2 인스턴스 외부에서 Oracle에 액세스하십시오.

  1. tnsnames에 있는 로컬 호스트를 Amazon EC2 공개 DNS로 변경합니다.

  2. listener에 있는 로컬 호스트를 Amazon EC2 공개 DNS로 변경합니다.

  3. 리스너를 중지한 후 다시 시작합니다.

DBA

Amazon EC2를 다시 시작하면 퍼블릭 DNS가 변경됩니다. 반드시 'tnsnames' 및 '리스너'에서 Amazon EC2 퍼블릭 DNS를 업데이트하거나 엘라스틱 IP 주소를 사용하십시오.

DBA/개발자

복제 인스턴스와 필요한 클라이언트가 원본 데이터베이스에 액세스할 수 있도록 EC2 인스턴스 보안 그룹을 구성합니다.

DBA/개발자
작업설명필요한 기술

Amazon RDS for MySQL DB 인스턴스를 구성하고 시작합니다.

개발자

Amazon RDS for MySQL DB 인스턴스에서 필요한 테이블스페이스를 생성합니다.

DBA

복제 인스턴스와 필요한 클라이언트가 대상 데이터베이스에 액세스할 수 있도록 보안 그룹을 구성합니다.

개발자
작업설명필요한 기술

SCT 및 오라클 드라이버를 설치합니다.

개발자

적절한 파라미터를 입력하고 소스 및 대상에 연결합니다.

개발자

스키마 변환 보고서를 생성합니다.

개발자

필요에 따라 코드와 스키마, 특히 테이블스페이스와 따옴표를 수정하고 대상 데이터베이스에서 실행합니다.

개발자

데이터를 마이그레이션하기 전에 소스 대 타겟의 스키마를 검증하십시오.

개발자
작업설명필요한 기술

전체 로드 및 변경 데이터 캡처(CDC) 또는 CDC만 사용하려면 추가 연결 속성을 설정해야 합니다.

개발자

DMS 소스 Oracle 데이터베이스 정의에 지정된 사용자에게 필요한 모든 권한을 부여해야 합니다. 전체 목록은 https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed 단원을 참조하십시오.

DBA/개발자

소스 데이터베이스에서 추가 로깅을 활성화합니다.

DBA/개발자

전체 로드 및 변경 데이터 캡처(CDC) 또는 CDC만 사용하려면 원본 데이터베이스에서 ARCHIVELOG 모드를 활성화하십시오.

DBA

소스 및 대상 엔드포인트를 생성하고 연결을 테스트합니다.

개발자

엔드포인트가 성공적으로 연결되면 복제 작업을 생성합니다.

개발자

연속 복제에 대한 변경 사항만 캡처하려면 작업에서 CDC만 (또는) 전체 로드+CDC를 선택하여 각각 연속 복제 (또는) 전체 로드와 진행 중인 변경 사항을 캡처합니다.

개발자

복제 작업을 실행하고 Amazon CloudWatch 로그를 모니터링합니다.

개발자

소스 및 대상 데이터베이스의 데이터를 검증합니다.

개발자
작업설명필요한 기술

애플리케이션 마이그레이션 전략의 단계를 따르십시오.

DBA, 개발자, 앱 소유자

애플리케이션 컷오버/전환 전략의 단계를 따르십시오.

DBA, 개발자, 앱 소유자
작업설명필요한 기술

소스 데이터베이스와 대상 데이터베이스의 스키마와 데이터의 유효성을 검사합니다.

DBA/개발자

마이그레이션 시간, 수동 대비 도구 비율, 비용 절감 등에 대한 지표를 수집합니다.

DBA/개발자/ AppOwner

프로젝트 문서 및 아티팩트를 검토합니다.

DBA/개발자/ AppOwner

임시 리소스를 종료합니다.

DBA/개발자

프로젝트를 마무리하고 피드백을 제공합니다.

DBA/개발자/ AppOwner

관련 리소스