기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Word RDS 및 RDSSQLWord를 AWS DMS 사용하여 AWS Word 및 SCT를 사용하여 Amazon Word for Oracle을 Amazon CLI AWS for AWSPostgre CloudFormation로 마이그레이션
작성자: Pinesh Singal(AWS)
환경: PoC 또는 파일럿 | 소스: Amazon RDS for Oracle | 대상: PostgreSQL용 Amazon RDS |
R 타입: 리아키텍트 | 워크로드: Oracle, 오픈 소스 | 기술: 마이그레이션, 데이터베이스 |
AWS 서비스: AWS DMS, Amazon RDS, AWS SCT |
요약
이 패턴은 Word AWS 명령줄 인터페이스(Word RDS)를 사용하여 Oracle DB 인스턴스용 다중 테라바이트 Amazon Relational Database Service(Amazon Word)를 Amazon Word for PostgreWord DB 인스턴스로 마이그레이션하는 방법을 보여줍니다CLI. RDS SQL AWS 이 접근 방식은 가동 중지 시간을 최소화하며 AWS Management Console에 로그인할 필요가 없습니다.
이 패턴은 AWS Schema Conversion Tool(AWS SCT) 및 AWS Database Migration Service(AWS DMS) 콘솔을 사용하여 수동 구성 및 개별 마이그레이션을 방지하는 데 도움이 됩니다. 이 솔루션은 여러 데이터베이스에 대한 일회성 구성을 설정하고 AWS에서 SCT 및 AWS DMS를 사용하여 마이그레이션을 수행합니다AWSCLI.
패턴은 AWS SCT를 사용하여 데이터베이스 스키마 객체를 Amazon RDS for Oracle에서 Amazon RDS for PostgreSQL로 변환한 다음 AWSDMS 사용하여 데이터를 마이그레이션합니다. AWS CLI에서 Python 스크립트를 사용하여 AWS SCT CloudFormation 템플릿을 사용하여 AWS 객체 및 AWS DMS 태스크를 생성합니다.
사전 조건 및 제한 사항
사전 조건
활성 상태의 AWS 계정.
기존 Amazon RDS for Oracle DB 인스턴스입니다.
기존 Amazon RDS for PostgreSQL DB 인스턴스입니다.
스크립트 실행을 위한 Windows 또는 Linux OS가 있는 Amazon EC2 인스턴스 또는 로컬 시스템입니다.
Word DMS AWS 작업 유형
full-load
,cdc
,에 대한 이해full-load-and-cdc
. 자세한 내용은 DMS AWS 설명서의 작업 생성을 참조하세요.AWS SCT, Oracle 및 SQL JDBC) 드라이버로 설치 및 구성됨. 자세한 내용은 AWS SCT 설명서의 Word 설치 및 필요한 데이터베이스 드라이버 설치를 참조하세요. AWS SCT
설치된 AWS SCT 폴더의
AWSSchemaConversionToolBatch.jar
파일로, 작업 디렉터리에 복사됩니다.
작업 디렉토리에서
cli-sct-dms-cft.zip
파일(첨부됨)이 다운로드 및 추출되었습니다.
최신 AWS DMS 복제 인스턴스 엔진 버전입니다. 자세한 내용은 AWS 지원 설명서의 DMS 복제 인스턴스 생성 방법
및 Word Word 설명서의 DMS AWS 3.4.4 릴리스 정보를 참조하세요AWSDMS. AWS 스크립트가 실행되는 Amazon Elastic Compute Cloud(Amazon CLI) 인스턴스 또는 운영 체제(OS)의 액세스 키 ID, 보안 액세스 키 및 기본 Word AWS 리전 이름으로 설치 및 구성된 AWS EC2 버전 2. 자세한 내용은 AWS CLI 설명서의 Word Word 버전 2 설치, 업데이트 및 제거 및 AWS CLI 구성을 참조AWSCLI하세요.
AWS CloudFormation Word 템플릿에 익숙합니다. 자세한 내용은 AWS CloudFormation Word 설명서의 WordWord 개념을 참조하세요. AWS CloudFormation
스크립트가 실행되는 Amazon EC2 인스턴스 또는 OS에 설치 및 구성된 Python 버전 3. 자세한 내용은 Python 설명서
를 참조하세요.
제한 사항
소스 Amazon RDS for Oracle DB 인스턴스의 최소 요구 사항은 다음과 같습니다.
Enterprise, Standard, Standard One 및 Standard Two 에디션용 Oracle 버전 12c(v12.1.0.2, v12.2.0.1), 18c (v18.0.0.0) 및 19c(v19.0.0.0)입니다.
Amazon RDS는 Oracle 18c(v18.0.0.0)를 지원하지만 Oracle은 end-of-support 날짜 이후 18c에 대한 패치를 더 이상 제공하지 않으므로이 버전은 사용 중단 경로에 있습니다. 자세한 내용은 Amazon RDS 설명서의 Amazon Word에서 Oracle을 참조하세요. RDS
Amazon RDS for Oracle 11g는 더 이상 지원되지 않습니다.
대상 Amazon RDS for PostgreSQL DB 인스턴스의 최소 요구 사항은 다음과 같습니다.
PostgreSQL 버전 9(버전 9.5 및 9.6), 10.x, 11.x, 12.x 및 13.x
제품 버전
Amazon RDS for Oracle DB 인스턴스 버전 12.1.0.2 이상
Amazon RDS for PostgreSQL DB 인스턴스 버전 11.5 이상
AWS CLI 버전 2
AWSSCT의 최신 버전
Python 3의 최신 버전
아키텍처
소스 기술 스택
Amazon RDS for Oracle
대상 기술 스택
Amazon RDS for PostgreSQL
소스 및 대상 아키텍처·
다음 다이어그램은 RDS 및 Python 스크립트를 사용하여 Amazon RDS for Oracle DB 인스턴스를 Amazon DMS AWS for PostgreSQL DB 인스턴스로 마이그레이션하는 방법을 보여줍니다.
이 다이어그램은 다음의 마이그레이션 워크플로우를 보여줍니다.
Python 스크립트는 SCT AWS를 사용하여 소스 및 대상 DB 인스턴스에 연결합니다.
사용자는 Python 스크립트로 SCT AWS를 시작하고 Oracle 코드를 PostgreSQL 코드로 변환한 다음 대상 DB 인스턴스에서 실행합니다.
Python 스크립트는 소스 및 대상 DB 인스턴스에 대한 DMS AWS 복제 작업을 생성합니다.
사용자는 Python 스크립트를 배포하여 DMS AWS 작업을 시작한 다음 데이터 마이그레이션이 완료된 후 작업을 중지합니다.
자동화 및 규모 조정
단일 프로그램의 여러 기능에 대한 추가 파라미터와 보안 관련 변경 사항을 Python 스크립트에 추가하여 이 마이그레이션을 자동화할 수 있습니다.
도구
AWS 명령줄 인터페이스(AWS CLI)는 명령줄 쉘의 명령을 통해 AWS 서비스와 상호 작용하는 데 도움이 되는 오픈 소스 도구입니다.
AWS CloudFormationWord는 AWS 리소스를 설정하고, 빠르고 일관되게 프로비저닝하고, AWS 계정 및 리전의 수명 주기 전반에 걸쳐 리소스를 관리하는 데 도움이 됩니다. 이 패턴은 Python 스크립트를 사용하여 .csv 입력 파일을 .json 입력 파일로 변환합니다. .json 파일은 CLI AWS 명령에서 Amazon 리소스 이름(AWS CloudFormation ), 마이그레이션 유형, 작업 설정 및 테이블 매핑을 사용하여 여러 AWS Word 복제 작업을 생성하는 DMS ARNsWord스택을 생성하는 데 사용됩니다.
AWS Database Migration Service(AWS DMS)를 사용하면 데이터 스토어를 AWS Cloud로 마이그레이션하거나 클라우드와 온프레미스 설정의 조합 간에 마이그레이션할 수 있습니다. 이 패턴은 AWS DMS를 사용하여 명령줄을 통해 실행되는 Python 스크립트로 작업을 생성, 시작 및 중지하고 AWS CloudFormation Word 템플릿을 생성합니다.
AWS Schema Conversion Tool(AWS SCT)은 소스 데이터베이스 스키마와 사용자 지정 코드의 대부분을 대상 데이터베이스와 호환되는 형식으로 자동 변환하여 이기종 데이터베이스 마이그레이션을 지원합니다. 이 패턴에는 설치된 AWS SCT 디렉터리의
AWSSchemaConversionToolBatch.jar
파일이 필요합니다.
코드
cli-sct-dms-cft.zip
파일(첨부됨)에는 이 패턴의 전체 소스 코드가 들어 있습니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS SCT에서 실행되도록 AWS CLI를 구성합니다. | 1. 다음 형식을 사용하여
2. | DBA |
run_aws_sct.py Python 스크립트를 실행합니다. | 다음 명령을 사용하여
Python 스크립트는 데이터베이스 객체를 Oracle에서 PostgreSQL로 변환하고 PostgreSQL 형식으로 SQL 파일을 생성합니다. 또한 스크립트는 데이터베이스 객체에 대한 자세한 권장 사항 및 변환 통계를 제공하는 | DBA |
Amazon RDS for PostgreSQL에서 객체를 생성합니다. |
| DBA |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS DMS 복제 인스턴스를 생성합니다. | AWS Management Console에 로그인하고 AWS DMS 콘솔을 연 다음 요구 사항에 따라 구성된 복제 인스턴스를 생성합니다. 자세한 내용은 DMS AWS Word 설명서의 복제 인스턴스 생성 및 AWS 지원 설명서의 Word DMS 복제 인스턴스 생성 방법을 참조하세요 | DBA |
소스 엔드포인트를 생성합니다. | AWS DMS 콘솔에서 엔드포인트를 선택한 다음 요구 사항에 따라 Oracle 데이터베이스에 대한 소스 엔드포인트를 생성합니다. 참고: 추가 연결 속성은 자세한 내용은 DMS AWS 설명서의 소스 및 대상 엔드포인트 생성을 참조하세요.
| DBA |
대상 엔드포인트를 생성합니다. | AWS DMS 콘솔에서 엔드포인트를 선택한 다음 요구 사항에 따라 PostgreSQL 데이터베이스의 대상 엔드포인트를 생성합니다. 자세한 내용은 DMS AWS 설명서의 소스 및 대상 엔드포인트 생성을 참조하세요. | DevOps 엔지니어 |
AWS DMS에서 실행되도록 AWS CLI 복제 세부 정보를 구성합니다. | 다음 형식을 사용하여 소스 엔드포인트 DMS AWS, 대상 엔드포인트 ARN 및 복제 인스턴스 ARN를 사용하여
| DBA |
dms-create-task.py Python 스크립트를 실행하여 AWS DMS 작업을 생성합니다. | 1. 다음 명령을 사용하여
2. 마이그레이션 유형에 따라 다음 명령을 사용하여 세 가지 유형의 DMS AWS Word 작업을 생성할 수 있습니다.
3. AWS CloudFormation Word 스택 및 AWS DMS 작업이 생성됩니다.
| DBA |
AWS DMS 작업이 준비되었는지 확인합니다. | AWS 콘솔의 상태 섹션에서 DMS AWS 작업이 | DBA |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS DMS 작업을 시작합니다. | 다음 명령을 사용하여
참고: 시작 날짜 및 시간은 AWS DMS 콘솔의 작업 페이지에 있는 마이그레이션 작업의 테이블 통계 탭에서 AWS DMS 작업 상태를 검토할 수 있습니다. | DBA |
데이터를 검증합니다. |
자세한 내용은 AWS DMS 설명서의 Word Word 데이터 검증을 참조하세요. AWS DMS | DBA |
AWS DMS 작업을 중지합니다. | 다음 명령을 사용하여 Python 스크립트를 실행합니다.
참고: DMS AWS Word 작업은 검증 | DBA |
문제 해결
문제 | Solution |
---|---|
AWS SCT 소스 및 대상 테스트 연결 실패 | 들어오는 트래픽을 수락하도록 JDBC 드라이버 버전 및 VPC 보안 그룹 인바운드 규칙을 구성합니다. |
소스 또는 대상 엔드포인트 테스트 실행 실패 | 엔드포인트 설정 및 복제 인스턴스가 자세한 내용은 DMS AWS Support 설명서의 Word 엔드포인트 연결 실패 문제를 해결하려면 어떻게 |
전체 로드 실행 실패 | 소스 및 대상 데이터베이스의 데이터 유형 및 크기가 일치하는지 확인합니다. 자세한 내용은 AWS DMS 설명서의 Word Word에서 마이그레이션 작업 문제 해결을 참조하세요. AWS DMS |
실행 오류 검증 | 비 프라이머리 키 테이블은 검증되지 않으므로 테이블에 프라이머리 키가 있는지 확인합니다. 테이블에 프라이머리 키와 오류가 있는 경우 소스 엔드포인트의 추가 연결 속성에 자세한 내용은 AWS 설명서의 Word Word, DMS 및 문제 해결의 소스로 Oracle을 사용할 때 추가 연결 속성을 참조하세요. OracleSettings https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting AWS DMS |
관련 리소스
DMSAWS Word 소개
(동영상) cloudformation
(AWS CLI 설명서) cloudformation create-stack
(AWS CLI 설명서) dms
(AWS CLI 설명서)
첨부
이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.