

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

# Step Functions의 Workflow Studio를 사용하여 워크플로 생성
<a name="workflow-studio-create"></a>

Step Functions Workflow Studio를 사용하여 워크플로를 생성, 편집 및 실행하는 방법을 알아봅니다. 워크플로가 준비되면 저장하고 실행하고 내보낼 수 있습니다.

**Topics**
+ [상태 머신 생성](#workflow-studio-components-create)
+ [워크플로 설계](#workflow-studio-build)
+ [워크로드 실행](#workflow-studio-components-create-run)
+ [워크플로 편집](#workflow-studio-components-create-edit)
+ [워크플로 내보내기](#workflow-studio-components-create-export)
+ [자리 표시자를 사용하여 워크플로 프로토타입 생성](#workflow-studio-components-create-prototype)

## 상태 머신 생성
<a name="workflow-studio-components-create"></a>

Workflow Studio에서는 스타터 템플릿이나 빈 템플릿을 선택하여 워크플로를 만들 수 있습니다.

스타터 템플릿은 워크플로 프로토타입과 정의를 자동으로 생성하고 프로젝트에 필요한 모든 관련 AWS 리소스를에 배포하는 ready-to-run 가능한 샘플 프로젝트입니다 AWS 계정. 이러한 스타터 템플릿을 사용하여 그대로 배포 및 실행하거나 워크플로 프로토타입을 사용하여 이를 기반으로 빌드할 수 있습니다. 스타터 템플릿에 대한 자세한 내용은 [Step Functions용 스타터 템플릿을 사용하여 상태 시스템 배포](starter-templates.md) 섹션을 참조하세요.

빈 템플릿의 경우 [디자인](workflow-studio.md#wfs-interface-design-mode) 또는 [코드](workflow-studio.md#wfs-interface-code-mode) 모드를 사용하여 사용자 지정 워크플로를 만들 수 있습니다.

### 스타터 템플릿을 사용하여 상태 머신 생성
<a name="wfs-create-workflow-templates"></a>

1. [Step Functions 콘솔](https://console.aws.amazon.com/states/home?region=us-east-1#/)을 열고 **상태 시스템 생성**을 선택합니다.

1. **템플릿 선택** 대화 상자에서 다음 중 하나를 수행하여 샘플 프로젝트를 선택합니다.
   + 키워드로 검색 상자에 **Task Timer**를 입력한 다음 검색 결과에서 **태스크 타이머**를 선택합니다.
   + 오른쪽 창의 **전체** 아래에 나열된 샘플 프로젝트를 탐색한 다음 **태스크 타이머**를 선택합니다.

1. **다음**을 선택하여 계속 진행합니다.

1. 사용할 템플릿을 선택합니다.

1. **템플릿 사용**을 선택하여 계속 선택합니다.

1. **데모 실행** - 읽기 전용 상태 머신을 생성합니다. 검토 후 워크플로와 모든 관련 리소스를 생성할 수 있습니다.

1. **이를 기반으로 구축** - 자체 리소스를 사용하여 검토, 사용자 지정 및 배포할 수 있는 편집 가능한 워크플로 정의를 제공합니다. (함수 또는 대기열과 같은 관련 리소스는 자동으로 생성되지 **않습니다**.)

### 빈 템플릿을 사용하여 워크플로 만들기
<a name="wfs-create-workflow-blank"></a>

깨끗한 캔버스에서 시작하려면 빈 템플릿에서 워크플로를 생성합니다.

1. [Step Functions 콘솔](https://console.aws.amazon.com/states/home?region=us-east-1#/)을 엽니다.

1. **상태 머신 생성**을 선택합니다.

1. **새로 생성**을 선택합니다.

1. 상태 머신의 이름을 지정한 다음 **계속**을 선택하여 Workflow Studio에서 상태 머신을 편집합니다.

   이제 [디자인 모드](workflow-studio.md#wfs-interface-design-mode)에서 워크플로를 디자인하거나 [코드 모드](workflow-studio.md#wfs-interface-code-mode)에서 워크플로 정의를 작성할 수 있습니다.

1. **구성**을 선택하여 [구성 모드](workflow-studio.md#wfs-interface-config-mode)에서 워크플로 구성을 관리합니다. 예를 들어 워크플로 이름을 입력하고 해당 유형을 선택합니다.

## 워크플로 설계
<a name="workflow-studio-build"></a>

추가하려는 상태의 이름을 알고 있는 경우 [상태 브라우저](workflow-studio.md#workflow-studio-components-states)의 상단에 있는 검색 상자를 사용하여 찾을 수 있습니다. 그렇지 않으면 브라우저에서 필요한 상태를 찾아 캔버스에 추가합니다.

워크플로의 다른 위치로 상태를 끌어 워크플로의 상태를 재정렬할 수 있습니다. 상태를 캔버스로 드래그하면 다음 스크린샷과 같이 워크플로에 상태가 삽입될 위치를 보여주는 줄이 나타납니다.

![상태의 대상을 나타내는 파란색 선을 보여주는 예시 스크린샷입니다.](http://docs.aws.amazon.com/ko_kr/step-functions/latest/dg/images/wfe-design-02.png)


상태를 캔버스에 놓으면 해당 코드가 자동으로 생성되고 워크플로 정의에 추가됩니다. 정의를 보려면 [Inspector 패널](workflow-studio.md#workflow-studio-components-formdefinition)에서 **정의** 토글을 켭니다. 기본 제공 코드 편집기를 사용하여 정의를 편집하도록 [코드 모드](workflow-studio.md#wfs-interface-code-mode)를 선택할 수 있습니다.

상태를 캔버스에 놓으면 오른쪽의 [Inspector 패널](workflow-studio.md#workflow-studio-components-formdefinition) 패널에서 상태를 구성할 수 있습니다. 이 패널에는 캔버스에 배치하는 각 상태 또는 API 작업에 대한 **구성**, **입력**, **출력** 및 **오류 처리** 탭이 있습니다. **구성** 탭에서 워크플로에 포함할 상태를 구성합니다.

예를 들어 Lambda Invoke API 작업의 **구성** 탭에는 다음 옵션이 제공됩니다.
+ **상태 이름**: 사용자 지정 이름으로 상태를 식별하거나 기본 생성 이름을 수락할 수 있습니다.
+ **API**에서는 상태에서 사용하는 API 작업을 보여줍니다.
+ **통합 유형**: 다른 서비스의 API 작업을 직접 호출하는 데 사용되는 서비스 통합 유형을 선택할 수 있습니다.
+ **함수 이름**은 다음과 같은 옵션을 제공합니다.
  +  **함수 이름 입력**: 함수 이름이나 해당 ARN을 입력할 수 있습니다.
  +  **런타임 시 상태 입력에서 함수 이름 가져오기**: 이 옵션을 사용하면 지정한 경로를 기반으로 상태 입력에서 함수 이름을 동적으로 가져올 수 있습니다.
  +  **함수 이름 선택**: 계정 및 리전에서 사용할 수 있는 함수 중에서 직접 선택할 수 있습니다.
+ **페이로드**: 상태 입력, JSON 객체를 사용하거나 페이로드를 사용하지 않도록 선택하여 Lambda 함수에 페이로드로 전달할 수 있습니다. JSON을 선택하면 정적 값과 상태 입력에서 선택한 값을 모두 포함할 수 있습니다.
+ (선택 사항) 일부 상태에는 **태스크 완료 대기** 또는 **콜백 대기**를 선택할 수 있는 옵션이 있습니다. 가능한 경우 이러한 옵션에서 다음 [서비스 통합 패턴](connect-to-resource.md) 중 하나를 선택할 수 있습니다.
  + **선택한 옵션 없음**: Step Functions에서 [요청 및 응답](connect-to-resource.md#connect-default) 통합 패턴을 사용합니다. Step Functions는 HTTP 응답을 기다린 후 다음 상태로 진행합니다. Step Functions는 작업이 완료될 때까지 기다리지 않습니다. 사용할 수 있는 옵션이 없으면 상태에서 이 패턴을 사용합니다.
  + **태스크 완료 대기**: Step Functions에서 [작업 실행(.sync)](connect-to-resource.md#connect-sync) 통합 패턴을 사용합니다.
  + **콜백 대기**: Step Functions에서 [작업 토큰을 사용하여 콜백 대기](connect-to-resource.md#connect-wait-token) 통합 패턴을 사용합니다.
+ (선택 사항) 워크플로 AWS 계정 내에서 서로 다른에 구성된 리소스에 액세스하기 위해 Step Functions는 [교차 계정 액세스를](concepts-access-cross-acct-resources.md) 제공합니다. **크로스 계정 액세스를 위한 IAM 역할**은 다음과 같은 옵션을 제공합니다.
  + **IAM 역할 ARN 제공**: 적절한 리소스 액세스 권한이 있는 IAM 역할을 지정합니다. 이러한 리소스는 교차 계정 호출을 수행하는 대상 계정에서 사용할 AWS 계정 수 있습니다.
  + **상태 입력에서 런타임 시 IAM 역할 ARN 가져오기**: IAM 역할이 있는 상태의 JSON 입력에 있는 기존 키-값 페어에 대한 참조 경로를 지정합니다.
+ **다음 상태**를 사용하면 다음에 전환할 상태를 선택할 수 있습니다.
+ (선택 사항) **설명** 필드는 워크플로에 영향을 주지 않지만 워크플로에 주석을 다는 데 사용할 수 있습니다.

일부 상태에는 추가 일반적인 구성 옵션이 있습니다. 예를 들어 Amazon ECS `RunTask` 상태 구성에는 자리 표시자 값으로 채워진 `API Parameters` 필드가 있습니다. 이러한 상태에서는 자리 표시자 값을 필요에 맞는 구성으로 바꿀 수 있습니다.

**스테이지를 삭제하는 방법**

백스페이스를 누르고 마우스 오른쪽 버튼을 클릭하여 **상태 삭제**를 선택하거나, [디자인 도구 모음](workflow-studio.md#wfs-interface-design-mode)에서 **삭제**를 선택하면 됩니다.

## 워크로드 실행
<a name="workflow-studio-components-create-run"></a>

워크플로를 실행할 준비가 되면 [Step Functions 콘솔](https://console.aws.amazon.com/states/home)에서 실행하고 실행을 볼 수 있습니다.

**Workflow Studio에서 워크플로 실행하기**

1. **설계**, **코드** 또는 **구성** 모드에서 **실행**을 선택합니다.

   새 탭에 **실행 시작** 대화 상자가 열립니다.

1. **실행 시작** 대화 상자에서 다음을 수행합니다.

   1. (선택 사항) 생성된 기본값을 재정의하려면 사용자 지정 실행 이름을 입력합니다.
**비 ASCII 이름 및 로깅**  
Step Functions는 비 ASCII 문자가 포함된 상태 머신, 실행, 활동 및 레이블 이름을 허용합니다. 이러한 문자는 Amazon CloudWatch에서 데이터 로깅을 방지하므로 Step Functions 지표를 추적할 수 있도록 ASCII 문자만 사용하는 것이 좋습니다.

   1. (선택 사항) **입력** 상자에 입력 값을 JSON 형식으로 입력하여 워크플로를 실행합니다.

   1. **실행 시작**을 선택합니다.

   1. Step Functions 콘솔은 실행 ID가 제목인 페이지로 이동합니다. 이는 *실행 세부 정보* 페이지로 알려져 있습니다. 워크플로가 진행되고 완료된 후 실행 결과를 검토할 수 있습니다.

      실행 결과를 검토하려면 **그래프 보기**에서 개별 상태를 선택한 다음 [단계 세부 정보](concepts-view-execution-details.md#exec-details-intf-step-details) 창에서 개별 탭을 선택하여 입력, 출력 및 정의가 포함된 각 상태의 세부 정보를 각각 봅니다. *실행 세부 정보* 페이지에서 볼 수 있는 실행 정보에 대한 자세한 내용은 [실행 세부 정보 개요](concepts-view-execution-details.md#exec-details-interface-overview) 섹션을 참조하세요.

## 워크플로 편집
<a name="workflow-studio-components-create-edit"></a>

Workflow Studio의 [디자인 모드](workflow-studio.md#wfs-interface-design-mode)에서 기존 워크플로를 시각적으로 편집할 수 있습니다.

[Step Functions 콘솔](https://console.aws.amazon.com/states/home)의 **상태 머신** 페이지에서 편집하려는 워크플로를 선택합니다. Workflow Studio의 **디자인** 모드에서 워크플로가 열립니다.

[코드 모드](workflow-studio.md#wfs-interface-code-mode)에서 워크플로 정의도 편집할 수 있습니다. Workflow Studio에서 워크플로 정의를 보거나 편집하려면 **코드** 버튼을 선택합니다.

**참고**  
워크플로에 오류가 있으면 **디자인** 모드에서 오류를 수정해야 합니다. 워크플로에 오류가 있으면 **코드** 또는 **구성** 모드로 전환할 수 없습니다.

워크플로에 대한 변경 사항을 저장할 때 새 **버전 **도 게시할 수 있습니다. 버전을 사용하면 워크플로의 원본 또는 대체 버전을 실행하도록 선택할 수 있습니다. 버전으로 워크플로를 관리하는 방법에 대한 자세한 내용은 [Step Functions 워크플로의 상태 시스템 버전](concepts-state-machine-version.md) 섹션을 참조하세요.

## 워크플로 내보내기
<a name="workflow-studio-components-create-export"></a>

워크플로 [Amazon States Language](concepts-amazon-states-language.md)(ASL) 정의와 워크플로 그래프를 내보낼 수 있습니다.

1. [Step Functions 콘솔](https://console.aws.amazon.com/states/home)에서 워크플로를 선택합니다.

1. *상태 머신 세부 정보* 페이지에서 **편집**을 선택합니다.

1. **작업** 드롭다운 버튼을 선택한 후 다음 중 하나 또는 둘 다 모두 수행합니다.
   + 워크플로 그래프를 SVG 또는 PNG 파일로 내보내려면 **그래프 내보내기**에서 원하는 형식을 선택합니다.
   + 워크플로 정의를 JSON 또는 YAML 파일로 내보내려면 **내보내기 정의**에서 원하는 형식을 선택합니다.

## 자리 표시자를 사용하여 워크플로 프로토타입 생성
<a name="workflow-studio-components-create-prototype"></a>

Workflow Studio 또는 [Infrastructure Composer의 Workflow Studio](use-wfs-in-app-composer.md)를 사용하여 아직 존재하지 않는 명명된 리소스인 *자리 표시자 리소스*가 포함된 새 워크플로의 프로토타입을 생성할 수 있습니다.

워크플로 프로토타입을 생성하려면

1. [Step Functions 콘솔](https://console.aws.amazon.com/states/home?region=us-east-1#/)에 로그인합니다.

1. **상태 머신 생성**을 선택합니다.

1. **새로 생성**을 선택합니다.

1. 상태 머신의 이름을 지정한 다음 **계속**을 선택하여 Workflow Studio에서 상태 머신을 편집합니다.

1. Workflow Studio의 [디자인 모드](workflow-studio.md#wfs-interface-design-mode)가 열립니다. Workflow Studio에서 워크플로를 설계합니다. 자리 표시자 리소스 포함하기

   1. 자리 표시자 리소스를 포함하려는 상태를 선택한 다음 **구성**에서 다음을 선택합니다.
      + Lambda Invoke 상태의 경우 **함수 이름**을 선택한 다음 **함수 이름 입력**을 선택합니다. 함수 이름에 사용자 지정 이름을 입력할 수도 있습니다.
      + Amazon SQS Send Message 상태의 경우 **대기열 URL**을 선택한 다음 **대기열 URL 입력**을 선택합니다. 자리 표시자 대기열 URL을 입력합니다.
      + Amazon SNS Publish 상태의 경우 **주제**에서 주제 ARN을 선택합니다.
      + **작업**에 나열된 다른 모든 상태의 경우 기본 구성을 사용할 수 있습니다.
**참고**  
워크플로에 오류가 있으면 **디자인** 모드에서 오류를 수정해야 합니다. 워크플로에 오류가 있으면 **코드** 또는 **구성** 모드로 전환할 수 없습니다.

   1. (선택 사항) 자동으로 생성된 워크플로의 ASL 정의를 보려면 **정의**를 선택합니다.

   1. (선택 사항) Workflow Studio에서 워크플로 정의를 업데이트하려면 **코드** 버튼을 선택합니다.
**참고**  
워크플로 정의에 오류가 있으면 **코드** 모드에서 오류를 수정해야 합니다. 워크플로 정의에 오류가 있으면 **디자인** 또는 **구성** 모드로 전환할 수 없습니다.

1. (선택 사항) 상태 머신 이름을 편집하려면 **MyStateMachine**의 기본 상태 머신 이름 옆에 있는 편집 아이콘을 선택하고 **상태 머신 이름** 상자에 이름을 지정합니다.

   [구성 모드](workflow-studio.md#wfs-interface-config-mode)로 전환하여 기본 상태 머신 이름을 편집할 수도 있습니다.

1. 상태 머신 유형 및 실행 역할과 같은 워크플로 설정을 지정합니다.

1. **생성(Create)**을 선택합니다.

이제 프로토타입을 만드는 데 사용할 수 있는 자리 표시자 리소스가 포함된 새 워크플로를 만들었습니다. 워크플로 정의와 워크플로 그래프를 [내보낼](#workflow-studio-components-create-export) 수 있습니다.
+ 워크플로 정의를 JSON 또는 YAML 파일로 내보내려면 **디자인** 또는 **코드** 모드에서 **작업** 드롭다운 버튼을 선택합니다. 그런 다음 **내보내기 정의**의에서 내보내려는 형식을 선택합니다. 이 내보낸 정의를 [AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/building-stepfunctions.html)을 사용한 로컬 개발의 시작점으로 사용할 수 있습니다.
+ 워크플로 그래프를 SVG 또는 PNG 파일로 내보내려면 **디자인** 또는 **코드** 모드에서 **작업** 드롭다운 버튼을 선택합니다. 그런 다음 **내보내기 정의**에서 원하는 형식을 선택합니다.