

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

# 를 사용하여 SSIS를 AWS Glue 로 변환 AWS SCT
<a name="CHAP-converting-aws-glue-ssis"></a>

아래에서 Microsoft SQL Server Integration Services(SSIS) 패키지를를 AWS Glue 사용하여 로 변환하는 방법을 확인할 수 있습니다 AWS SCT.

Microsoft SSIS 패키지를 로 변환하려면 AWS SCT 버전 1.0.642 이상을 사용해야 AWS Glue합니다. 또한 로컬 폴더에 ETL 패키지가 포함된 SSIS 프로젝트(`.dtsx`, `.conmgr` 및 `.params` 파일)가 있어야 합니다.

SSIS 서버를 설치할 필요는 없습니다. 변환 프로세스는 로컬 SSIS 파일을 사용하여 수행됩니다.

**를 AWS Glue 사용하여 SSIS 패키지를 로 변환하려면 AWS SCT**

1. 에서 새 프로젝트를 생성 AWS SCT 하거나 기존 프로젝트를 엽니다. 자세한 내용은 [에서 프로젝트 시작 및 관리 AWS SCT](CHAP_UserInterface.Project.md) 단원을 참조하십시오.

1. 메뉴에서 **소스 추가**를 선택하여 프로젝트에 새 소스 SSIS 패키지를 추가합니다.

1.  **SQL Server Integration Services**를 선택하고 다음을 입력합니다.
   + **연결 이름** - 연결에 대한 이름을 입력합니다. AWS SCT 는 이 이름을 메타데이터 트리에 표시합니다.
   + **SSIS packages folder** - 패키지가 있는 SSIS 프로젝트 폴더의 경로를 선택합니다.

   AWS SCT 는 로컬 폴더에서 프로젝트 파일(확장명이 `.dtsx` `.conmgr` 또는 인 파일`.params`)을 읽고 구문 분석합니다. 그런 다음 범주 AWS SCT 트리로 구성합니다.

1. 메뉴에서 **대상 추가**를 선택하여 소스 SSIS 패키지를 변환할 새 대상 플랫폼을 추가합니다.

1.  **AWS Glue**를 선택하고 다음 입력합니다.
   + **연결 이름** - 연결에 대한 이름을 입력합니다. AWS SCT 는 이 이름을 메타데이터 트리에 표시합니다.
   + ** AWS 프로필에서 복사** - 사용할 프로필을 선택합니다.
   + **AWS 액세스 키** - AWS 액세스 키를 입력합니다.
   + **AWS 보안 키** - AWS 보안 키를 입력합니다.
   + **리전** - 목록에서 사용할 AWS 리전 를 선택합니다.
   + **Amazon S3 bucket folder** - 사용하려는 Amazon S3 버킷의 폴더 경로를 입력합니다.

    가상 AWS Glue 대상을 사용할 수 있습니다. 이 경우 연결 보안 인증 정보를 지정하지 않아도 됩니다. 자세한 내용은 [AWS Schema Conversion Tool에서 가상 대상에 매핑](CHAP_Mapping.VirtualTargets.md) 단원을 참조하십시오.

1. 소스 SSIS 패키지와 AWS Glue 대상이 포함된 새 매핑 규칙을 생성합니다. 자세한 내용은 [AWS Schema Conversion Tool에서 새 데이터 유형 매핑](CHAP_Mapping.New.md) 단원을 참조하십시오.

1. **보기** 메뉴에서 **Main view**를 선택합니다.

1. SSIS 트리 보기에서 **Connection managers**의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 **연결 구성**을 선택합니다.

1. 프로젝트 연결 관리자를 구성합니다.

   SSIS 연결 관리자에 대한 연결 매핑을 구성하려면 해당 SSIS AWS Glue 연결 관리자에 대한 연결을 지정합니다. AWS Glue 연결이 이미 생성되어 있는지 확인합니다.

   1. **연결**에서 **Project connections**를 선택합니다.

   1. **Glue 카탈로그 연결**에서 적절한 AWS Glue 연결을 선택합니다.

1. 패키지 연결 관리자를 구성합니다.

   1. **연결**에서 패키지를 선택합니다.

   1. **Glue 카탈로그 연결**에서 적절한 AWS Glue 연결을 선택합니다.

   1. 패키지에 사용할 수 있는 모든 연결에 대해 이 작업을 반복합니다.

1. **적용**을 선택합니다.

1. 패키지를 변환합니다. 소스 트리 보기에서 **패키지**를 찾습니다. 패키지의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 **Convert package**를 선택합니다.

1. 변환된 스크립트를 Amazon S3에 저장합니다. 대상 트리 보기에서 **Package scripts**를 찾습니다. 변환된 스크립트의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 **Save to S3**을 선택합니다.

1.  AWS Glue 작업을 구성합니다. 대상 트리 보기에서 **Package scripts**를 찾습니다. 변환된 스크립트의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 연 다음 ** AWS Glue 작업 구성을** 선택합니다.

1. 3개의 구성 섹션을 완료합니다.

   1. **Design data flow** 섹션을 완료합니다.
      + **Execution strategy** - 작업에서 ETL 스크립트를 실행하는 방법을 선택합니다. 마법사에 지정된 순서대로 스크립트를 실행하려면 **SEQUENTIAL**을 선택합니다. 마법사에 지정된 순서를 무시하고 스크립트를 병렬로 실행하려면 **PARALLEL**을 선택합니다.
      + **스크립트** - 변환된 스크립트의 이름을 선택합니다.
      + **다음**을 선택합니다.

   1. **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\$1100의 정수를 입력할 수 있습니다. 기본값은 2입니다.
      + **최대 동시성** - 이 작업에 허용되는 최대 동시 실행 수를 입력합니다. 기본값은 1입니다.이 임계값에 도달하면가 오류를 AWS Glue 반환합니다.
      + **작업 제한 시간(분)** - 런어웨이 작업을 방지하기 위해 ETL 작업에 대한 제한 시간 값을 입력합니다. 배치 작업의 경우 기본값은 2,880분(48시간)입니다. 작업이 이 제한을 초과하면 작업 실행 상태가 `TIMEOUT`으로 변경됩니다.
      + **지연 알림 임계값(분)** -가 지연 알림을 AWS SCT 보내기 전에 임계값을 분 단위로 입력합니다.
      + **재시도 횟수** - 실패 시 작업을 자동으로 다시 AWS Glue 시작해야 하는 횟수(0\$110)를 입력합니다. 제한 시간에 도달한 작업은 재시작되지 않습니다. 기본값은 0입니다.
      + **다음**을 선택합니다.

   1. 필요한 연결을 구성합니다.

      1. **모든 연결**에서 필요한 AWS Glue 연결을 선택하고 **선택한 연결** 목록에 추가합니다.

      1. **마침**을 클릭합니다.

1. 구성된 AWS Glue 작업을 생성합니다. 대상 트리 보기에서 **ETL Jobs**를 찾아 확장합니다. 구성한 ETL 작업의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 ** AWS Glue 작업 생성을** 선택합니다.

1.  AWS Glue 작업을 실행합니다.

   1. [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) AWS Glue 콘솔을 엽니다.

   1. 탐색 창에서, **작업**을 선택합니다.

   1. **작업 추가**를 선택한 다음 실행하려는 작업을 선택합니다.

   1. **작업** 탭에서 **작업 실행**을 선택합니다.

## 로 변환할 AWS SCT 수 있는 SSIS 구성 요소 AWS Glue
<a name="CHAP-converting-aws-glue-ssis-supported-components"></a>

 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 컨테이너