

 AWS Cloud9 는 더 이상 신규 고객이 사용할 수 없습니다. AWS Cloud9 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# AWS 도구 키트 AWS Step Functions 사용 작업
<a name="bulding-stepfunctions"></a>

도구 AWS 키트는에 대한 지원을 제공합니다[AWS Step Functions](https://aws.amazon.com/step-functions/). Step Functions를 사용하면 비즈니스 크리티컬 애플리케이션을 지원하는 AWS Lambda 함수 및 기타 AWS 서비스에 대한 워크플로를 정의하는 상태 시스템을 생성할 수 있습니다.

 AWS 도구 키트를 사용하여 Step Functions에서 다음을 수행할 수 있습니다.
+ 개별 단계로 구성된 워크플로인 상태 머신 생성 및 게시
+ 상태 머신 워크플로를 정의하는 파일 다운로드
+ 입력하거나 선택한 입력으로 상태 머신 워크플로 실행 

**Topics**
+ [사전 조건](#bulding-stepfunctions-pre)
+ [상태 머신 생성 및 게시](#state-machine-create)
+ [AWS 도구 키트에서 상태 시스템 실행](#starting-stepfunctions)
+ [상태 머신 정의 파일 다운로드 및 워크플로 시각화](#sfn-download)

## 사전 조건
<a name="bulding-stepfunctions-pre"></a>

Step Functions는 코드를 실행하고 AWS 리소스(예: Lambda 함수 호출)에 액세스할 수 있습니다. 보안 유지를 위해 사용자는 IAM 역할을 사용하여 이러한 리소스에 대한 Step Functions 액세스 권한을 부여해야 합니다.

 AWS 도구 키트를 사용하면 상태 시스템을 생성하는 AWS 리전에 유효한 자동으로 생성된 IAM 역할을 활용할 수 있습니다. 상태 시스템에 대한 자체 IAM 역할을 생성하려면 *AWS Step Functions 개발자 안내서*의 [IAM AWS Step Functions 으로 작업하는 방법을](https://docs.aws.amazon.com/step-functions/latest/dg/procedure-create-iam-role.html) 참조하세요.

## 상태 머신 생성 및 게시
<a name="state-machine-create"></a>

 AWS 도구 키트를 사용하여 상태 시스템을 생성할 때 비즈니스 사례에 대한 워크플로를 정의하는 스타터 템플릿을 선택합니다. 그런 다음 특정 요구 사항에 맞게 해당 템플릿을 편집하거나 바꿀 수 있습니다. 구조를 나타내는 파일에서 상태 머신을 정의하는 방법에 대한 자세한 내용은 *AWS Step Functions 개발자 가이드*의 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)를 참조하세요.

1. **AWS Explorer** 창에서 **Step Functions**에 대한 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 연 다음 **Step Function 상태 머신 새로 생성**을 선택합니다.

1. 명령 패널에서 상태 머신의 워크플로에 대한 스타터 템플릿을 선택합니다.

1. 그런 다음 상태 머신을 정의하는 ASL(Amazon States Language) 파일의 형식을 선택합니다.

   편집기가 열리고 상태 머신의 워크플로를 정의하는 ASL 파일이 표시됩니다.
**참고**  
ASL 파일을 편집하여 워크플로를 사용자 지정하는 방법에 대한 자세한 내용은 [상태 머신 구조](https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-state-machine-structure.html)를 참조하세요.

1. ASL 파일에서 **Step Functions에 게시**를 선택하여 상태 시스템을 AWS 클라우드에 추가합니다.
**참고**  
ASL 파일에서 **그래프 렌더링(Render graph)**을 선택하여 상태 머신의 워크플로를 시각적으로 표시할 수도 있습니다.  
![Step Functions에 게시를 선택하는 방법을 보여주는 다이어그램](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/publish-stepfunction.png)

1. 명령 패널에서 단계 함수를 호스팅할 AWS 리전을 선택합니다.

1. 다음으로, 새 Step Function을 생성하거나 기존 Step Function을 업데이트하도록 선택할 수 있습니다.

------
#### [ Quick Create  ]

   이 옵션을 사용하면 [step-functions/latest/dg/concepts-standard-vs-express.html](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html)로 ASL 파일에서 새 Step Function을 생성할 수 있습니다. 다음을 지정하라는 메시지가 나타납니다.
   + 단계 함수가 코드를 실행하고 AWS 리소스에 액세스할 수 있도록 허용하는 IAM 역할입니다. (상태 시스템을 생성하는 AWS 리전에 유효한 자동으로 생성된 IAM 역할을 선택할 수 있습니다.)
   + 새 함수의 이름.

    AWS 도구 키트 출력 탭에서 상태 시스템이 성공적으로 생성되었는지 확인하고 ARN을 가져올 수 있습니다.

------
#### [ Quick Update ]

    AWS 리전에 상태 시스템이 이미 있는 경우 현재 ASL 파일로 업데이트할 상태 시스템을 선택할 수 있습니다.

    AWS 도구 키트 출력 탭에서 상태 시스템이 성공적으로 업데이트되었는지 확인하고 ARN을 가져올 수 있습니다.

------

   상태 머신을 생성하면 **AWS Explorer** 창의 **Step Functions** 아래에 해당 상태 머신이 나타납니다. 즉시 나타나지 않으면 **도구 키트(Toolkit)** 메뉴, **탐색기 새로 고침(Refresh Explorer)**을 선택합니다.

## AWS 도구 키트에서 상태 시스템 실행
<a name="starting-stepfunctions"></a>

 AWS 도구 키트를 사용하여 원격 상태 시스템을 실행할 수 있습니다. 실행 중인 상태 시스템은 JSON 텍스트를 입력으로 수신하고 해당 입력을 워크플로의 첫 번째 상태에 전달합니다. 개별 상태는 JSON을 입력으로 수신하고 일반적으로 다음 상태에서 JSON을 출력으로 넘겨줍니다. 자세한 내용은 [Step Functions 입/출력 처리](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-input-output-filtering.html)를 참조하세요.

1. **AWS Explorer** 창에서 **Step Functions**를 선택합니다. 그런 다음 특정 상태 머신에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 **실행 시작(Start Execution)**을 선택합니다.

1. **실행 시작(Start Execution)** 창에서 아래 필드에 직접 텍스트를 입력하거나 로컬 디바이스에서 파일을 업로드하여 상태 머신의 워크플로에 대한 JSON 형식 입력을 추가합니다.

1. **실행(Execute)**을 선택합니다.

    AWS 도구 키트 출력 탭에는 워크플로가 시작되었다는 확인과 프로세스 ID의 ARN이 표시됩니다. 해당 프로세스 ID를 사용하여 AWS Step Functions 콘솔에서 워크플로가 성공적으로 실행되었는지 확인할 수 있습니다. 워크플로가 시작되고 종료된 시간에 대한 타임스탬프도 볼 수 있습니다.

## 상태 머신 정의 파일 다운로드 및 워크플로 시각화
<a name="sfn-download"></a>

상태 머신을 다운로드한다는 것은 해당 상태 머신의 구조를 나타내는 JSON 텍스트가 포함된 파일을 다운로드한다는 의미입니다. 그런 다음 이 파일을 편집하여 새 상태 머신을 생성하거나 기존 상태 머신을 업데이트할 수 있습니다. 자세한 내용은 *AWS Step Functions Developer Guide*의 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)를 참조하세요.

1. **AWS Explorer** 창에서 **Step Functions**를 선택합니다. 그런 다음 특정 상태 시스템에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 **정의 다운로드(Download Definition)**를 선택합니다.
**참고**  
컨텍스트 메뉴는 **이름 복사(Copy Name)** 및 **ARN 복사(Copy ARN)** 옵션도 제공합니다.

1. **저장(Save)** 대화 상자에서 다운로드한 상태 머신 파일을 저장할 환경의 폴더를 선택한 다음 **저장(Save)**을 선택합니다.

   상태 머신의 워크플로를 정의하는 JSON 형식의 파일이 편집기에 표시됩니다.

1. 워크플로의 시각적 표현을 표시하려면 **그래프 렌더링(Render graph)**을 선택합니다.

   상태 머신 워크플로의 상태 시퀀스를 보여주는 순서도가 창에 표시됩니다.  
![상태 머신의 워크플로 시각적 표현](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/render-graph.png)