다음과 함께 확장 팩 사용 AWS Schema Conversion Tool - AWS Schema Conversion Tool

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

다음과 함께 확장 팩 사용 AWS Schema Conversion Tool

AWS SCT 확장 팩은 객체를 대상 데이터베이스로 변환할 때 필요한 소스 데이터베이스에 있는 함수를 에뮬레이션하는 추가 기능 모듈입니다. AWS SCT 확장 팩을 설치하려면 먼저 데이터베이스 스키마를 변환해야 합니다.

각 AWS SCT 확장 팩에는 다음과 같은 구성 요소가 포함되어 있습니다.

  • DB 스키마 — 특정 온라인 트랜잭션 처리 (OLTP) 및 온라인 분석 처리 () 데이터베이스 개체 (예: 시퀀스) 를 에뮬레이션하기 위한 SQL 함수, 프로시저 및 테이블을 포함합니다. OLAP 또한 원본 built-in-functions 데이터베이스에서 지원되지 않는 에뮬레이션도 가능합니다. 이 스키마 이름의 형식은 aws_database_engine_name_ext와 같습니다.

  • AWS Lambda 함수 (특정 OLTP 데이터베이스용) - 작업 예약 및 이메일 전송과 같은 복잡한 데이터베이스 기능을 에뮬레이션하는 AWS Lambda 함수를 포함합니다.

  • OLAP데이터베이스용 사용자 지정 라이브러리 — Microsoft SQL Server Integration Services (SSIS) 의 추출, 변환 및 로드 (ETL) 스크립트를 AWS Glue 또는 로 마이그레이션하는 데 사용할 수 있는 Java 및 Python 라이브러리 세트가 포함되어 AWS Glue Studio있습니다.

    Java 라이브러리에는 다음과 같은 모듈이 포함됩니다.

    • spark-excel_2.11-0.13.1.jar - Excel 소스 및 대상 구성 요소의 기능을 에뮬레이션합니다.

    • spark-xml_2.11-0.9.0.jar,poi-ooxml-schemas-4.1.2.jar, xmlbeans-3.1.0.jar — XML 소스 구성 요소의 기능을 에뮬레이션합니다.

    Python 라이브러리에는 다음과 같은 모듈이 포함됩니다.

    • sct_utils.py— 소스 데이터 유형을 에뮬레이션하고 Spark SQL 쿼리를 위한 매개 변수를 준비합니다.

    • ssis_datetime.py - 날짜 및 시간 내장 함수를 에뮬레이션합니다.

    • ssis_null.py - ISNULLREPLACENULL 내장 함수를 에뮬레이션합니다.

    • ssis_string.py - 문자열 내장 함수를 에뮬레이션합니다.

    이러한 라이브러리에 대한 자세한 내용은 AWS SCT 확장 팩용 사용자 지정 라이브러리 사용 섹션을 참조하세요.

AWS SCT 확장 팩은 다음 두 가지 방법으로 적용할 수 있습니다.

  • AWS SCT 컨텍스트 메뉴에서 데이터베이스에 적용을 선택하여 대상 데이터베이스 스크립트를 적용할 때 확장 팩을 자동으로 적용할 수 있습니다. AWS SCT 다른 모든 스키마 개체를 적용하기 전에 확장 팩을 적용합니다.

  • 확장 팩을 수동으로 적용하려면 대상 데이터베이스를 선택한 다음 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴에서 Apply extension pack for를 선택합니다. 대부분의 경우 자동 적용 방법으로 충분합니다. 하지만 팩을 실수로 삭제한 경우에는 수동으로 팩을 적용해야 할 수 있습니다.

대상 데이터 저장소에 AWS SCT 확장 팩을 적용할 때마다 구성요소를 덮어쓰고 이에 대한 알림이 AWS SCT 표시됩니다. 이러한 알림을 끄려면 설정, 전역 설정, 알림Hide the extension pack replacement alert를 차례로 선택합니다.

Microsoft SQL Server에서 Postgre로 변환하려면 에서 Server에서 SQL Postgre로 변환하는 확장 SQL 팩을 사용할 수 있습니다. SQL AWS SCT이 확장 팩은 SQL 서버 에이전트와 서버 데이터베이스 메일을 에뮬레이션합니다. SQL 자세한 내용은 확장 팩을 사용하여 SQL Postgre에서 SQL 서버 에이전트 에뮬레이션확장 팩을 사용하여 SQL Postgre에서 SQL 서버 데이터베이스 메일 에뮬레이션 단원을 참조하세요.

다음에서 AWS SCT 확장 팩 사용에 대한 자세한 정보를 확인할 수 있습니다.

AWS SCT 확장 팩 사용 권한

Amazon Aurora용 AWS SCT 확장 팩은 함수를 사용하여 메일 전송, 작업 예약, 대기열 및 기타 작업을 에뮬레이션합니다. AWS Lambda 대상 Aurora 데이터베이스에 AWS SCT 확장 팩을 적용하면 new AWS Identity and Access Management (IAM) 역할과 인라인 IAM 정책이 AWS SCT 생성됩니다. 다음으로, 새 Lambda 함수를 AWS SCT 생성하고 아웃바운드 연결을 위해 Aurora DB 클러스터를 구성합니다. AWS Lambda이러한 작업을 실행하려면 사용자에게 다음과 같은 필수 권한을 부여해야 합니다. IAM

  • iam:CreateRole— AWS 계정의 새 IAM 역할을 만들려면

  • iam:CreatePolicy— AWS 계정에 대한 새 IAM 정책을 만들려면

  • iam:AttachRolePolicy— 지정된 정책을 IAM 역할에 연결합니다.

  • iam:PutRolePolicy— IAM 역할에 포함된 인라인 정책 문서를 업데이트합니다.

  • iam:PassRole— 지정된 IAM 역할을 규칙 엔진에 전달합니다.

  • iam:TagRole— IAM 역할에 태그를 추가합니다.

  • iam:TagPolicy— IAM 정책에 태그를 추가합니다.

  • lambda:ListFunctions - Lambda 함수 목록을 볼 수 있습니다.

  • lambda:ListTags - Lambda 함수의 태그 목록을 볼 수 있습니다.

  • lambda:CreateFunction – 새 Lambda 함수를 생성합니다.

  • rds:AddRoleToDBCluster— Aurora DB 클러스터에 IAM 역할을 연결합니다.

Amazon Redshift용 AWS SCT 확장 팩은 변환된 객체를 Amazon Redshift에 적용할 때 필요한 소스 데이터 웨어하우스 기반 함수를 에뮬레이션합니다. 변환된 코드를 Amazon Redshift에 적용하기 전에 Amazon Redshift용 확장 팩을 적용해야 합니다. 그러려면 정책에 iam:SimulatePrincipalPolicy 작업을 포함시키십시오. IAM

AWS SCT IAM정책 시뮬레이터를 사용하여 Amazon Redshift 확장 팩 설치에 필요한 권한을 확인합니다. IAM사용자를 올바르게 구성했더라도 IAM 정책 시뮬레이터에 오류 메시지가 표시될 수 있습니다. 이는 IAM 정책 시뮬레이터의 알려진 문제입니다. 또한 IAM 정책에 iam:SimulatePrincipalPolicy 조치가 없는 경우 정책 시뮬레이터에 오류 메시지가 표시됩니다. IAM 이러한 경우에는 오류 메시지를 무시하고 확장 팩 마법사를 사용하여 확장 팩을 적용할 수 있습니다. 자세한 내용은 확장 팩 적용 단원을 참조하십시오.

확장 팩 스키마 사용

데이터베이스 또는 데이터 웨어하우스 스키마를 변환할 때 AWS SCT 가 대상 데이터베이스에 추가 스키마를 추가합니다. 이 스키마는 변환된 스키마를 대상 데이터베이스에 쓸 때 필요한 원본 데이터베이스의 SQL 시스템 함수를 구현합니다. 이 추가 스키마를 확장 팩 스키마라고 합니다.

데이터베이스의 확장 팩 스키마는 원본 OLTP 데이터베이스에 따라 다음과 같이 이름이 지정됩니다.

  • 마이크로소프트 SQL 서버: AWS_SQLSERVER_EXT

  • 마이SQL: AWS_MYSQL_EXT

  • Oracle: AWS_ORACLE_EXT

  • 포스트그레: SQL AWS_POSTGRESQL_EXT

OLAP데이터 웨어하우스 응용 프로그램의 확장 팩 스키마는 원본 데이터 저장소에 따라 다음과 같이 이름이 지정됩니다.

  • Greenplum: AWS_GREENPLUM_EXT

  • 마이크로소프트 SQL 서버: AWS_SQLSERVER_EXT

  • Netezza: AWS_NETEZZA_EXT

  • Oracle: AWS_ORACLE_EXT

  • Teradata: AWS_TERADATA_EXT

  • Vertica: AWS_VERTICA_EXT

AWS SCT 확장 팩용 사용자 지정 라이브러리 사용

경우에 따라 원본 데이터베이스 기능을 대상 데이터베이스의 해당 기능으로 변환할 AWS SCT 수 없습니다. 관련 AWS SCT 확장 팩에는 대상 데이터베이스의 일부 소스 데이터베이스 기능을 에뮬레이션하는 사용자 지정 라이브러리가 포함되어 있습니다.

트랜잭션 데이터베이스를 변환하는 경우 AWS SCT 확장 팩의 AWS Lambda 함수 사용 섹션을 참조합니다.

확장 팩 적용

AWS SCT 확장 팩 마법사를 사용하거나 변환된 코드를 대상 데이터베이스에 적용할 때 확장 팩을 적용할 수 있습니다.

확장 팩 마법사를 사용하여 확장 팩을 적용하려면
  1. 대상 데이터베이스 트리에서 컨텍스트 (마우스 오른쪽 버튼 클릭) 메뉴를 열고 확장 팩 적용을 선택한 다음 원본 데이터베이스 플랫폼을 선택합니다. AWS Schema Conversion Tool

    확장 팩 적용 컨텍스트 메뉴

    확장 팩 마법사가 표시됩니다.

  2. 시작 페이지를 읽은 후 다음을 선택합니다.

  3. AWS profile settings 페이지에서 다음 작업을 수행합니다.

    • 확장 팩 스키마만 다시 설치하는 경우에는 Skip this step for now를 선택하고 다음을 선택합니다. 지금은 이 단계 건너뛰기 옵션은 온라인 트랜잭션 처리 (OLTP) 데이터베이스에만 사용할 수 있습니다.

    • 새 라이브러리를 업로드하는 경우 AWS 계정에 연결하는 데 필요한 보안 인증 정보를 제공합니다. OLAP데이터베이스 또는 ETL 스크립트를 변환할 때만 이 단계를 사용하십시오. AWS Command Line Interface (AWS CLI) 자격 증명이 AWS CLI 설치되어 있으면 사용할 수 있습니다. 또한 이전에 전역 애플리케이션 설정의 프로필에 저장한 후 프로젝트와 연결한 보안 인증 정보를 사용할 수도 있습니다. 필요한 경우 글로벌 설정으로 이동을 선택하여 다른 프로필을 구성하거나 AWS SCT 프로젝트에 연결할 수 있습니다. 자세한 내용은 프로필 관리: AWS Schema Conversion Tool 단원을 참조하십시오.

  4. 새 라이브러리를 업로드하는 경우 Library upload 페이지에서 I need to upload a library를 선택합니다. OLAP데이터베이스 또는 ETL 스크립트를 변환할 때만 이 단계를 사용하십시오. 다음으로 Amazon S3 경로를 입력한 다음 Upload library to S3을 선택합니다.

    라이브러리를 이미 업로드한 경우 Library upload 페이지에서 I already have libraries uploaded, use my existing S3 bucket을 선택합니다. 다음으로, Amazon S3 경로를 입력합니다.

    완료되면 다음을 선택합니다.

  5. Function emulation 페이지에서 Create extension pack을 선택합니다. 확장 팩 작업 상태가 포함된 메시지가 표시됩니다.

    모두 마쳤으면 완료를 선택합니다.

변환된 코드를 적용할 때 확장 팩을 적용하려면
  1. AWS 서비스 프로필에 Amazon S3 버킷을 지정합니다. OLAP데이터베이스 또는 ETL 스크립트를 변환할 때만 이 단계를 사용하십시오. 자세한 내용은 프로필 관리: AWS Schema Conversion Tool 단원을 참조하십시오.

    Amazon S3 버킷 정책에는 다음 권한이 포함되어야 합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["s3:PutObject"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["iam:SimulatePrincipalPolicy"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["iam:GetUser"], "Resource": ["arn:aws:iam::111122223333:user/DataExtractionAgentName"] } ] }

    위 예제에서는 다음을 대체하십시오.111122223333:user/DataExtractionAgentName IAM사용자 이름으로.

  2. 소스 데이터 웨어하우스 스키마를 변환합니다. 자세한 내용은 데이터 웨어하우스 스키마 변환 단원을 참조하십시오.

  3. 오른쪽 창에서 변환된 스키마를 선택합니다.

  4. 스키마 요소의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 Apply to database를 선택합니다.

  5. AWS SCT 필수 구성 요소가 포함된 확장 팩을 생성하고 대상 트리에 aws_database_engine_name_ext 스키마를 추가합니다. 그런 다음 변환된 코드와 확장 팩 스키마를 대상 데이터 웨어하우스에 AWS SCT 적용합니다.

    Amazon AWS Glue Redshift와 대상 데이터베이스 플랫폼을 함께 사용하는 경우 확장 팩에 스키마를 AWS SCT 추가합니다.

AWS SCT 확장 팩의 AWS Lambda 함수 사용

AWS SCT 이메일을 위한 Lambda 함수, 작업 예약 및 Amazon에서 호스팅되는 데이터베이스의 기타 기능을 포함하는 확장 팩을 제공합니다. EC2

AWS Lambda 함수를 사용하여 데이터베이스 기능을 에뮬레이션합니다.

경우에 따라 데이터베이스 기능을 동등한 Amazon RDS 기능으로 변환할 수 없습니다. 예를 들어 Oracle은 다음을 사용하는 UTL_SMTP 전자 메일 호출을 보내고 Microsoft SQL Server는 작업 스케줄러를 사용할 수 있습니다. EC2Amazon에서 데이터베이스를 호스팅하고 자체 관리하는 경우 AWS 서비스를 대체하여 이러한 기능을 에뮬레이션할 수 있습니다.

AWS SCT 확장 팩 마법사는 이메일, 작업 예약 및 기타 기능을 에뮬레이션하도록 Lambda 함수를 설치, 생성 및 구성하는 데 도움을 줍니다.

확장 팩을 적용하여 Lambda 함수 지원

확장 팩 마법사를 사용하거나 변환된 코드를 대상 데이터베이스에 적용할 때 확장 팩을 적용하여 Lambda 함수를 지원할 수 있습니다.

중요

AWS 서비스 에뮬레이션 기능은 Amazon에 설치되고 자체 관리되는 데이터베이스에만 지원됩니다. EC2 대상 데이터베이스가 Amazon RDS DB 인스턴스에 있는 경우 서비스 에뮬레이션 기능을 설치하지 마십시오.

확장 팩 마법사를 사용하여 확장 팩을 적용하려면
  1. 대상 데이터베이스 트리에서 컨텍스트 (마우스 오른쪽 버튼 클릭) 메뉴를 열고 확장 팩 적용을 선택한 다음 원본 데이터베이스 플랫폼을 선택합니다. AWS Schema Conversion Tool

    확장 팩 적용 컨텍스트 메뉴

    확장 팩 마법사가 표시됩니다.

  2. 시작 페이지를 읽은 후 다음을 선택합니다.

  3. AWS profile settings 페이지에서 다음 작업을 수행합니다.

    • 확장 팩 스키마만 다시 설치하는 경우에는 Skip this step for now를 선택하고 다음을 선택합니다.

    • AWS 서비스를 설치하는 경우 연결에 필요한 자격 증명을 제공하십시오 AWS 계정. 자격 증명이 AWS CLI 설치되어 있으면 AWS CLI 자격 증명을 사용할 수 있습니다. 또한 이전에 전역 애플리케이션 설정의 프로필에 저장한 후 프로젝트와 연결한 보안 인증 정보를 사용할 수도 있습니다. 필요한 경우 Navigate to Project Settings를 선택하여 다른 프로필과 프로젝트를 연결합니다. 필요한 경우 전역 설정을 선택하여 새 프로필을 생성합니다. 자세한 내용은 프로필 관리: AWS Schema Conversion Tool 단원을 참조하십시오.

  4. Email Sending Service 페이지에서 다음을 수행합니다.

    • 확장 팩 스키마만 다시 설치하는 경우에는 Skip this step for now를 선택하고 다음을 선택합니다.

    • AWS 서비스를 설치 중이고 기존 Lambda 함수가 있는 경우 이를 제공할 수 있습니다. 그렇지 않으면 마법사에서 자동으로 생성합니다. 완료되면 다음을 선택합니다.

  5. Job Emulation Service 페이지에서 다음을 수행합니다.

    • 확장 팩 스키마만 다시 설치하는 경우에는 Skip this step for now를 선택하고 다음을 선택합니다.

    • AWS 서비스를 설치 중이고 기존 Lambda 함수가 있는 경우 이를 제공할 수 있습니다. 그렇지 않으면 마법사에서 자동으로 생성합니다. 완료되면 다음을 선택합니다.

  6. Function emulation 페이지에서 Create extension pack을 선택합니다. 확장 팩 작업 상태가 포함된 메시지가 표시됩니다.

    모두 마쳤으면 완료를 선택합니다.

참고

확장 팩을 업데이트하고 이전 확장 팩 구성 요소를 덮어쓰려면 최신 버전을 사용해야 합니다. AWS SCT자세한 내용은 설치 및 구성 AWS Schema Conversion Tool 단원을 참조하십시오.

AWS SCT 확장 팩의 함수 구성

확장 팩에는 사용하기 전에 구성해야 하는 기능이 포함되어 있습니다. 상수는 서비스 팩이 사용하는 언어를 CONVERSION_LANG 정의합니다. 함수는 영어와 독일어로 사용할 수 있습니다.

언어를 영어 또는 독일어로 설정하려면 함수 코드를 다음과 같이 변경합니다. 다음 상수 선언을 찾아보십시오.

CONVERSION_LANG CONSTANT VARCHAR := '';

영어로 CONVERSION_LANG 설정하려면 줄을 다음과 같이 변경하십시오.

CONVERSION_LANG CONSTANT VARCHAR := 'English';

영어로 CONVERSION_LANG 설정하려면 줄을 다음과 같이 변경하십시오.

CONVERSION_LANG CONSTANT VARCHAR := 'Deutsch';

다음 기능에 대해 이 설정을 설정하십시오.

  • aws_sqlserver_ext.conv_datetime_to_string

  • aws_sqlserver_ext.conv_date_to_string

  • aws_sqlserver_ext.conv_string_to_date

  • aws_sqlserver_ext.conv_string_to_datetime

  • aws_sqlserver_ext.conv_string_to_datetime

  • aws_sqlserver_ext.parse_to_date

  • aws_sqlserver_ext.parse_to_datetime

  • aws_sqlserver_ext.parse_to_time