AWS SCT를 사용하여 SSIS를 AWS Glue로 변환
다음에서는 AWS SCT를 사용하여 Microsoft SQL Server Integration Services(SSIS) 패키지를 AWS Glue로 변환하는 방법을 알아볼 수 있습니다.
Microsoft SSIS 패키지를 AWS Glue로 변환하려면 AWS SCT 버전 1.0.642 이상을 사용해야 합니다. 또한 로컬 폴더에 ETL 패키지가 포함된 SSIS 프로젝트(.dtsx, .conmgr 및 .params 파일)가 있어야 합니다.
SSIS 서버를 설치할 필요는 없습니다. 변환 프로세스는 로컬 SSIS 파일을 사용하여 수행됩니다.
AWS SCT를 사용하여 SSIS 패키지를 AWS Glue로 변환하려면
-
AWS SCT에서 새 프로젝트를 생성하거나 기존 프로젝트를 엽니다. 자세한 내용은 AWS SCT에서 프로젝트 시작 및 관리 섹션을 참조하세요.
-
메뉴에서 소스 추가를 선택하여 프로젝트에 새 소스 SSIS 패키지를 추가합니다.
-
SQL Server Integration Services를 선택하고 다음을 입력합니다.
-
연결 이름 - 연결에 대한 이름을 입력합니다. AWS SCT는 이 이름을 메타데이터 트리에 표시합니다.
-
SSIS packages folder - 패키지가 있는 SSIS 프로젝트 폴더의 경로를 선택합니다.
AWS SCT가 로컬 폴더에서 프로젝트 파일(확장자가
.dtsx,.conmgr또는.params인 파일)을 읽고 구문 분석합니다. 그런 다음 AWS SCT 범주 트리로 구성합니다. -
-
메뉴에서 대상 추가를 선택하여 소스 SSIS 패키지를 변환할 새 대상 플랫폼을 추가합니다.
-
AWS Glue를 선택하고 다음 입력합니다.
-
연결 이름 - 연결에 대한 이름을 입력합니다. AWS SCT는 이 이름을 메타데이터 트리에 표시합니다.
-
Copy from AWS profile - 사용할 프로필을 선택합니다.
-
AWS 액세스 키 – AWS 액세스 키를 입력합니다.
-
AWS 비밀 키 - AWS 비밀 키를 입력합니다.
-
리전 – 목록에서 사용하려는 AWS 리전을 선택합니다.
-
Amazon S3 bucket folder - 사용하려는 Amazon S3 버킷의 폴더 경로를 입력합니다.
가상 AWS Glue 대상을 사용할 수 있습니다. 이 경우 연결 보안 인증 정보를 지정하지 않아도 됩니다. 자세한 내용은 AWS Schema Conversion Tool에서 가상 대상에 매핑 섹션을 참조하세요.
-
-
소스 SSIS 패키지와 AWS Glue 대상을 포함하는 새 매핑 규칙을 생성합니다. 자세한 내용은 AWS Schema Conversion Tool에서 새 데이터 유형 매핑 섹션을 참조하세요.
-
보기 메뉴에서 Main view를 선택합니다.
-
SSIS 트리 보기에서 Connection managers의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 연결 구성을 선택합니다.
-
프로젝트 연결 관리자를 구성합니다.
SSIS 연결 관리자의 연결 매핑을 구성하려면 해당 SSIS 연결 관리자의 AWS Glue 연결을 지정합니다. AWS Glue 연결이 이미 생성되어 있는지 확인합니다.
-
연결에서 Project connections를 선택합니다.
-
Glue catalog connection에서 적절한 AWS Glue 연결을 선택합니다.
-
-
패키지 연결 관리자를 구성합니다.
-
연결에서 패키지를 선택합니다.
-
Glue catalog connection에서 적절한 AWS Glue 연결을 선택합니다.
-
패키지에 사용할 수 있는 모든 연결에 대해 이 작업을 반복합니다.
-
-
적용을 선택합니다.
-
패키지를 변환합니다. 소스 트리 보기에서 패키지를 찾습니다. 패키지의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 Convert package를 선택합니다.
-
변환된 스크립트를 Amazon S3에 저장합니다. 대상 트리 보기에서 Package scripts를 찾습니다. 변환된 스크립트의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 Save to S3을 선택합니다.
-
AWS Glue 작업을 구성합니다. 대상 트리 보기에서 Package scripts를 찾습니다. 변환된 스크립트의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 Configure AWS Glue job을 선택합니다.
-
3개의 구성 섹션을 완료합니다.
-
Design data flow 섹션을 완료합니다.
-
Execution strategy - 작업에서 ETL 스크립트를 실행하는 방법을 선택합니다. 마법사에 지정된 순서대로 스크립트를 실행하려면 SEQUENTIAL을 선택합니다. 마법사에 지정된 순서를 무시하고 스크립트를 병렬로 실행하려면 PARALLEL을 선택합니다.
-
스크립트 - 변환된 스크립트의 이름을 선택합니다.
-
다음을 선택합니다.
-
-
Job properties 섹션을 완료합니다.
-
이름 – AWS Glue 작업의 이름을 입력합니다.
-
IAM 역할 – 작업을 실행하고 데이터 스토어에 액세스하는 데 사용되는 리소스에 권한을 부여하는 데 사용할 IAM 역할을 선택합니다.
-
스크립트 파일 이름 - 변환된 스크립트의 이름을 입력합니다.
-
Script file S3 path - 변환된 스크립트의 Amazon S3 경로를 입력합니다.
-
Encrypt script using SSE-S3 – Amazon S3 관리형 암호화 키(SSE-S3)를 통한 서버 측 암호화를 사용하여 데이터를 보호하려면 이 옵션을 선택합니다.
-
임시 디렉터리 - 중간 결과를 위한 Amazon S3 임시 디렉터리 경로를 입력합니다. AWS Glue 및 AWS Glue 기본 제공 변환에서 이 디렉터리를 사용하여 Amazon Redshift를 읽거나 씁니다.
-
AWS SCT는 Python 라이브러리의 경로를 자동으로 생성합니다. Generated python library path에서 이 경로를 검토할 수 있습니다. 자동으로 생성된 이 경로는 편집할 수 없습니다. 추가 Python 라이브러리를 사용하려면 User python library path에 경로를 입력합니다.
-
User python library path - 추가 사용자 Python 라이브러리의 경로를 입력합니다. 쉼표로 Amazon S3 경로를 구분합니다.
-
종속된 jar 경로 - 종속된 jar 파일의 경로를 입력합니다. 쉼표로 Amazon S3 경로를 구분합니다.
-
참조된 파일 경로 - 스크립트에 필요한 추가 파일(예: 구성 파일)의 경로를 입력합니다. 쉼표로 Amazon S3 경로를 구분합니다.
-
최대 용량 – 이 작업이 실행될 때 할당할 수 있는 AWS Glue 데이터 처리 장치(DPU)의 최대 수입니다. 2~100의 정수를 입력할 수 있습니다. 기본값은 2입니다.
-
최대 동시성 - 이 작업에 허용되는 최대 동시 실행 수를 입력합니다. 기본값은 1입니다. 이 임계값에 도달하면 AWS Glue에서 오류가 반환됩니다.
-
작업 제한 시간(분) - 런어웨이 작업을 방지하기 위해 ETL 작업에 대한 제한 시간 값을 입력합니다. 배치 작업의 경우 기본값은 2,880분(48시간)입니다. 작업이 이 제한을 초과하면 작업 실행 상태가
TIMEOUT으로 변경됩니다. -
Delay 알림 임계값(분) - AWS SCT에서 지연 알림을 보내기 전의 임계값(분)을 입력합니다.
-
재시도 횟수 - 작업이 실패할 경우 AWS Glue에서 자동으로 작업을 재시작할 횟수(0~10)를 입력합니다. 제한 시간에 도달한 작업은 재시작되지 않습니다. 기본값은 0입니다.
-
다음을 선택합니다.
-
-
필요한 연결을 구성합니다.
-
모든 연결에서 필요한 AWS Glue 연결을 선택하고 Selected connections 목록에 추가합니다.
-
마침을 클릭합니다.
-
-
-
구성된 AWS Glue 작업을 생성합니다. 대상 트리 보기에서 ETL Jobs를 찾아 확장합니다. 구성한 ETL 작업의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 Create AWS Glue Job을 선택합니다.
-
AWS Glue 작업을 실행합니다.
-
https://console.aws.amazon.com/glue/
에서 AWS Glue 콘솔을 엽니다. -
탐색 창에서, 작업을 선택합니다.
-
작업 추가를 선택한 다음 실행하려는 작업을 선택합니다.
-
작업 탭에서 작업 실행을 선택합니다.
-
AWS SCT가 AWS Glue로 변환할 수 있는 SSIS 구성 요소
AWS SCT를 사용하여 데이터 흐름과 제어 흐름 구성 요소뿐만 아니라 컨테이너, 파라미터 및 변수도 변환할 수 있습니다.
지원되는 데이터 흐름 구성 요소는 다음과 같습니다.
ADO NET Destination
ADO NET Source
Aggregate
Cache Transformation
Character Map Transformation
Conditional Split Transformation
Copy Column Transformation
Data Conversion Transformation
Derived Column Transformation
Excel Destination
Excel Source
Export Column Transformation
Flat File Destination
Flat File Source
Fuzzy Lookup Transformation
Import Column Transformation
Lookup Transformation
Merge Join Transformation
Merge Transformation
Multicast Transformation
ODBC Destination
ODBC Source
OLE DB Command Transformation
OLE DB Destination
OLE DB Source
Percentage Sampling Transformation
Pivot Transformation
Raw File Destination
Raw File Source
RecordSet Destination
Row Count Transformation
Row Sampling Transformation
Sort Transformation
SQL Server Destination
Union All Transformation
Unpivot Transformation
XML Source
지원되는 제어 흐름 구성 요소는 다음과 같습니다.
대량 삽입 작업
패키지 실행 작업
SQL 실행 작업
T-SQL 문 실행 작업
표현식 작업
파일 시스템 작업
운영자에게 알림 작업
메일 전송 작업
지원되는 SSIS 컨테이너는 다음과 같습니다.
For Loop 컨테이너
Foreach Loop 컨테이너
Sequence 컨테이너