

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

# 워크플로 생성
<a name="workflows-creating"></a>

시작하기 전에 역할 `LakeFormationWorkflowRole`에 필요한 데이터 권한과 데이터 위치 권한을 부여했는지 확인합니다. 이는 워크플로가 데이터 카탈로그에 메타데이터 테이블을 생성하고 Amazon S3의 대상 위치에 데이터를 쓸 수 있도록 하기 위한 것입니다. 자세한 내용은 [(선택 사항) 워크플로에 대한 IAM 역할 생성](initial-lf-config.md#iam-create-blueprint-role) 및 [Lake Formation 권한 개요](lf-permissions-overview.md)(을)를 참조하세요.

**참고**  
Lake Formation은 `GetTemplateInstance`, `GetTemplateInstances` 및 `InstantiateTemplate` 작업을 사용하여 블루프린트에서 워크플로를 생성합니다. 해당 작업은 공개적으로 사용할 수 없으며 사용자를 대신하여 리소스를 생성하기 위해 내부적으로만 사용됩니다. 워크플로 생성에 대한 CloudTrail 이벤트를 수신합니다.

**청사진에서 워크플로를 생성하려면**

1. AWS Lake Formation 콘솔([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/))을 엽니다. 데이터 레이크 관리자 또는 데이터 엔지니어 권한이 있는 사용자로 로그인합니다. 자세한 내용은 [Lake Formation 페르소나 및 IAM 권한 참조](permissions-reference.md) 섹션을 참조하세요.

1. 탐색 창에서 **청사진**을 선택한 다음 **청사진 사용**을 선택합니다.

1. **청사진 사용** 페이지에서 타일을 선택하여 청사진 유형을 선택합니다.

1. **소스 가져오기**에서 데이터 소스를 지정합니다.

   JDBC 소스에서 가져오는 경우 다음을 지정합니다.
   + ****데이터베이스 연결**** - 목록에서 연결을 선택합니다. AWS Glue 콘솔을 사용하여 추가 연결을 생성합니다. 연결의 JDBC 사용자 이름과 암호에 따라 워크플로가 액세스할 수 있는 데이터베이스 개체가 결정됩니다.
   + ****소스 데이터 경로**** - 데이터베이스 제품에 따라 *<database>*/*<schema>*/*<table>* 또는 *<database>*/*<table>*을 입력합니다. Oracle Database 및 MySQL은 경로의 스키마를 지원하지 않습니다. *<schema>* 또는 *<table>* 대신에 백분율 문자(%)를 사용할 수 있습니다. 예를 들어 시스템 식별자(SID)가 `orcl`인 Oracle Database의 경우 `orcl/%`를 입력하여 연결에 이름이 지정된 사용자가 액세스할 수 있는 모든 테이블을 가져옵니다.
**중요**  
이 필드는 대/소문자를 구분합니다. 구성 요소 중 하나라도 대/소문자가 일치하지 않으면 워크플로가 실패합니다.

     MySQL 데이터베이스를 지정하는 경우 AWS Glue ETL은 기본적으로 Mysql5 JDBC 드라이버를 사용하므로 MySQL8은 기본적으로 지원되지 않습니다. *AWS Glue 개발자 안내서*의 [JDBC 연결 유형 값](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-jdbc)에 설명된 대로 `customJdbcDriverS3Path` 파라미터를 사용하여 MySQL8을 지원하는 다른 JDBC 드라이버를 사용하도록 ETL 작업 스크립트를 편집할 수 있습니다.

   로그 파일에서 가져오는 경우 워크플로에 지정한 역할('워크플로 역할')에 데이터 소스에 액세스하는 데 필요한 IAM 권한이 있는지 확인합니다. 예를 들어 AWS CloudTrail 로그를 가져오려면 사용자에게 워크플로를 생성하는 동안 CloudTrail 로그 목록을 볼 수 있는 `cloudtrail:DescribeTrails` 및 `cloudtrail:LookupEvents` 권한이 있어야 하고, 워크플로 역할에는 Amazon S3의 CloudTrail 위치에 대한 권한이 있어야 합니다.

1. 다음 중 하나를 수행합니다.
   + **데이터베이스 스냅샷** 청사진 유형의 경우 선택적으로 하나 이상의 제외 패턴을 지정하여 가져올 데이터의 하위 집합을 식별할 수 있습니다. 이러한 제외 패턴은 Unix 스타일 `glob` 패턴입니다. 이러한 패턴은 워크플로에서 생성한 테이블의 속성으로 저장됩니다.

     사용 가능한 제외 패턴에 대한 자세한 내용은 *AWS Glue 개발자 안내서*의 [포함 및 제외 패턴](https://docs.aws.amazon.com/glue/latest/dg/define-crawler.html#crawler-data-stores-exclude)을 참조하세요.
   + **증분 데이터베이스** 청사진 유형의 경우 다음 필드를 지정합니다. 가져올 각 테이블에 대한 행을 추가합니다.  
**테이블 이름**  
가져올 테이블. 모두 소문자여야 합니다.  
**북마크 키**  
북마크 키를 정의하는 열 이름을 쉼표로 구분한 목록입니다. 비어 있는 경우 기본 키를 사용하여 새 데이터를 결정합니다. 각 열의 대/소문자는 데이터 소스에 정의된 대/소문자와 일치해야 합니다.  
기본 키는 간격 없이 순차적으로 증가하거나 감소하는 경우에만 기본 북마크 키로 인정됩니다. 기본 키를 북마크 키로 사용하려는 경우 간격이 있다면 기본 키 열의 이름을 북마크 키로 지정해야 합니다.  
**북마크 순서**  
**오름차순**을 선택하는 경우 북마크 지정된 값보다 큰 값이 있는 행이 새 행으로 식별됩니다. **내림차순**을 선택하는 경우 북마크 지정된 값보다 작은 값이 있는 행이 새 행으로 식별됩니다.  
**파티셔닝 체계**  
(선택 사항) 슬래시(/) 로 구분된 파티션 키 열 목록. 예: ` year/month/day`.  
![\[콘솔의 증분 데이터 섹션에는 테이블 이름, 북마크 키, 북마크 순서, 파티셔닝 체계와 같은 필드가 포함됩니다. 행을 추가하거나 제거할 수 있습니다. 여기서 각 행은 서로 다른 테이블에 대한 것입니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/incremental-data.png)

     자세한 내용은 *AWS Glue 개발자 안내서*의 [처리된 데이터를 작업 북마크로 추적](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)을 참조하세요.

1. **가져오기 대상**에서 대상 데이터베이스, 대상 Amazon S3 위치 및 데이터 형식을 지정합니다.

   워크플로 역할에 데이터베이스 및 Amazon S3 대상 위치에 대한 필수 Lake Formation 권한이 있는지 확인합니다.
**참고**  
현재 청사진은 대상에서의 데이터 암호화를 지원하지 않습니다.

1. 가져오기 빈도를 선택합니다.

   **사용자 지정** 옵션을 사용하여 `cron` 표현식을 지정할 수 있습니다.

1. **가져오기 옵션**에서:

   1. 워크플로 이름을 입력합니다.

   1. 역할의 경우 [(선택 사항) 워크플로에 대한 IAM 역할 생성](initial-lf-config.md#iam-create-blueprint-role)에서 생성한 `LakeFormationWorkflowRole` 역할을 선택합니다.

   1. 필요한 경우 테이블 접두사를 지정합니다. 접두사는 워크플로에서 생성하는 데이터 카탈로그 테이블 이름 앞에 추가됩니다.

1. **생성**을 선택하고 콘솔에서 워크플로가 성공적으로 생성되었음을 보고할 때까지 기다립니다.
**작은 정보**  
다음과 같은 오류 메시지가 표시되나요?  
`User: arn:aws:iam::<account-id>:user/<username> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/<rolename>...`  
그렇다면 모든 정책에서 *<account-id>*를 유효한 AWS 계정 번호로 바꾸었는지 확인하세요.

**추가 참고:**  
[Lake Formation의 청사진 및 워크플로](workflows-about.md)