

# AWS Glue에서 워크플로 수동 생성 및 구축
<a name="creating_running_workflows"></a>

AWS Glue 콘솔을 사용하여 한 번에 한 노드씩 워크플로를 수동으로 생성하고 구축할 수 있습니다.

워크플로우에는 작업, 크롤러 및 트리거가 포함됩니다. 수동으로 워크플로를 생성하기 전에 워크플로에 포함시킬 작업과 크롤러를 생성합니다. 워크플로에 요청 시 실행되는 크롤러를 지정하는 것이 좋습니다. 워크플로우를 구축하는 동안 새 트리거를 생성할 수도 있고, 기존 트리거를 워크플로우에 *복제*할 수도 있습니다. 트리거를 복제하면 트리거와 연결된 모든 카탈로그 객체(이를 실행하는 작업 또는 크롤러 및 시작하는 작업 또는 크롤러)가 워크플로에 추가됩니다.

**중요**  
워크플로 내 작업, 크롤러, 트리거의 총수를 100개 이하로 제한합니다. 100개가 넘게 포함될 경우 워크플로 실행을 재개하거나 중지하려고 할 때 오류가 발생할 수 있습니다.

워크플로우 그래프에 트리거를 추가하고 각 트리거에 대해 감시되는 이벤트와 작업을 정의하여 워크플로우를 구축합니다. 온디맨드 트리거 또는 일정 트리거인 *시작 트리거*를 시작하고, 이벤트(조건부) 트리거를 추가하여 그래프를 완성합니다.

## 1단계: 워크플로우 생성
<a name="workflow-step1"></a>

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)에서 AWS Glue 콘솔을 엽니다.

1. 탐색 창의 **ETL** 아래에서 **Workflows(워크플로우)**를 선택합니다.

1. **Add workflow(워크플로우 추가)**를 선택하고 **Add a new ETL workflow(새 ETL 워크플로우 추가)** 양식을 작성합니다.

   추가하는 선택적 기본 실행 속성은 워크플로우의 모든 작업에 대한 인수로 사용할 수 있습니다. 자세한 내용은 [AWS Glue에서 워크플로 실행 속성 가져오기 및 설정](workflow-run-properties-code.md) 섹션을 참조하세요.

1. **Add workflow(워크플로우 추가)**를 선택합니다.

   새 워크플로우가 **Workflows(워크플로우)** 페이지의 목록에 나타납니다.

## 2단계: 시작 트리거 추가
<a name="workflow-step2"></a>

1. **Workflows(워크플로우)** 페이지에서 새 워크플로우를 선택합니다. 그런 다음 페이지 하단에서 [**그래프(Graph)**] 탭이 선택되어 있는지 확인합니다.

1. **Add trigger(트리거 추가)**를 선택하고 **Add trigger(트리거 추가)** 대화 상자에서 다음 중 하나를 수행합니다.
   + **Clone existing(기존 복제)**을 선택하고 복제할 트리거를 선택합니다. 그런 다음 **추가**를 선택합니다.

     트리거가 감시하는 작업 및 크롤러와 트리거가 시작하는 작업 및 크롤러와 함께 트리거가 그래프에 나타납니다.

     실수로 잘못된 트리거를 선택한 경우 그래프에서 해당 트리거를 선택한 후 **Remove(제거)**를 선택합니다.
   + **Add new(새로 추가)**를 선택하고 **Add trigger(트리거 추가)** 양식을 작성합니다.

     1. [**트리거 유형(Trigger type)**]에 대해 [**일정(Schedule)**], [**온디맨드(On demand)**] 또는 [**EventBridge 이벤트(EventBridge event)**]를 선택합니다.

        트리거 유형 [**일정(Schedule)**]에서 [**주파수(Frequency)**] 옵션 중 하나를 선택합니다. [**사용자 정의(Custom)**]를 선택하여 `cron` 표현식을 입력합니다.

        트리거 유형 [**EventBridge 이벤트(EventBridge event)**]의 경우 [**이벤트 수(Number of events)**](배치 크기)를 입력하고 선택적으로 [**시간 지연(Time delay)**](배치 기간)을 입력합니다. [**시간 지연(Time delay)**]을 생략하면 배치 기간은 기본적으로 15분으로 설정됩니다. 자세한 내용은 [AWS Glue의 워크플로 개요](workflows_overview.md) 섹션을 참조하세요.

     1. **추가**를 선택합니다.

     자리 표시자 노드(**Add node(노드 추가)**라고 레이블이 지정됨)와 함께 트리거가 그래프에 나타납니다. 아래 예에서 시작 트리거는 `Month-close1`이라는 일정 트리거입니다.

     이때 트리거는 아직 저장되어 있지 않습니다.  
![\[직사각형 노드 2개가 있는 그래프: 트리거와 자리 표시자 노드. 화살표는 트리거 노드에서 자리 표시자 노드 쪽을 가리킵니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/graph-start-trigger.png)

1. 새 트리거를 추가한 경우 다음 단계를 완료합니다.

   1. 다음 중 하나를 수행하세요.
      + 자리 표시자 노드(**Add node(노드 추가)**)를 선택합니다.
      + 시작 트리거가 선택되어 있는지 확인하고, 그래프 위의 **Action(작업)** 메뉴에서 **Add jobs/crawlers to trigger(트리거할 작업/크롤러 추가)**를 선택합니다.

   1. **Add jobs(s) and crawler(s) to trigger(트리거할 작업 및 크롤러 추가)** 대화 상자에서 작업 또는 크롤러를 하나 이상 선택한 후 **Add(추가)**를 선택합니다.

      트리거가 저장되고, 선택한 작업 또는 크롤러가 트리거의 커넥터와 함께 그래프에 나타납니다.

      실수로 잘못된 작업 또는 크롤러를 추가한 경우, 해당 트리거 또는 커넥터를 선택하고 **Remove(제거)**를 선택하면 됩니다.

## 3단계: 트리거 추가
<a name="workflow-step3"></a>

[**이벤트(Event)**] 유형의 트리거를 더 추가하여 워크플로를 계속 구축합니다. 그래프 캔버스를 축소 또는 확대하려면 그래프 오른쪽의 아이콘을 사용합니다. 추가할 각 트리거에 대해 다음 단계를 완료합니다.

**참고**  
워크플로를 저장하는 작업은 없습니다. 마지막 트리거를 추가하고 트리거에 작업을 할당하면 워크플로가 완료되고 저장됩니다. 나중에 언제든지 다시 돌아와서 노드를 더 추가할 수 있습니다.

1. 다음 중 하나를 수행하세요.
   + 기존 트리거를 복제하려면 그래프의 노드가 선택되어 있지 않은지 확인하고, **Action(작업)** 메뉴에서 **Add trigger(트리거 추가)**를 선택합니다.
   + 그래프에서 특정 작업 또는 크롤러를 감시하는 새 트리거를 추가하려면 작업 또는 크롤러 노드를 선택한 후 **Add trigger(트리거 추가)** 자리 표시자 노드를 선택합니다.

     이후 단계에서 이 트리거가 감시할 작업 또는 크롤러를 더 추가할 수 있습니다.

1.  **Add Folder(폴더 추가)** 대화 상자에서 다음 중 하나를 수행합니다.
   + **Add new(새로 추가)**를 선택하고 **Add trigger(트리거 추가)** 양식을 작성합니다. 그런 다음 **추가**를 선택합니다.

     트리거가 그래프에 나타납니다. 이후 단계에서 트리거를 완료합니다.
   + **Clone existing(기존 복제)**을 선택하고 복제할 트리거를 선택합니다. 그런 다음 **추가**를 선택합니다.

     트리거가 감시하는 작업 및 크롤러와 트리거가 시작하는 작업 및 크롤러와 함께 트리거가 그래프에 나타납니다.

     실수로 잘못된 트리거를 선택한 경우 그래프에서 해당 트리거를 선택한 후 **Remove(제거)**를 선택합니다.

1. 새 트리거를 추가한 경우 다음 단계를 완료합니다.

   1. 새 트리거를 선택합니다.

      다음 그래프에 나와 있듯이 트리거 `De-dupe/fix succeeded`가선택되고 감시할 (1) 이벤트와 (2) 작업에 대한 자리 표시자 노드가 나타납니다.  
![\[많은 노드가 있는 그래프, 이 중 두 노드는 번호 1과 2로 부르는 자리 표시자 노드입니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/graph-dual-placeholders.png)

   1. (트리거가 이미 이벤트를 감시하고 감시할 작업 또는 크롤러를 더 추가하려는 경우의 선택 사항) 감시할 이벤트 자리 표시자 노드를 선택하고, **Add job(s) and crawler(s) to watch(감시할 작업 및 크롤러 추가)** 대화 상자에서 작업 또는 크롤러를 하나 이상 선택합니다. 감시할 이벤트를 선택하고(SUCCEEDED, FAILED 등) **Add(추가)**를 선택합니다.

   1. 트리거가 선택되었는지 확인하고, 작업 자리 표시자 노드를 선택합니다.

   1. **Add job(s) and crawler(s) to watch(감시할 작업 및 크롤러 추가)** 대화 상자에서 작업 또는 크롤러를 하나 이상 선택하고 **Add(추가)**를 선택합니다.

      선택한 작업 및 크롤러가 트리거의 커넥터와 함께 그래프에 나타납니다.

워크플로와 블루프린트에 대한 자세한 내용은 다음 주제를 참조하세요.
+ [AWS Glue의 워크플로 개요](workflows_overview.md)
+ [AWS Glue에서 워크플로 실행 및 모니터링](running_monitoring_workflow.md)
+ [AWS Glue의 블루프린트에서 워크플로 생성](creating_workflow_blueprint.md)