

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

# AWS Infrastructure Composer 와 함께 사용 AWS Step Functions
<a name="using-composer-services-sf"></a>

AWS Infrastructure Composer 는 와의 통합을 지원합니다[AWS Step Functions Workflow Studio](https://docs.aws.amazon.com/step-functions/latest/dg/workflow-studio.html). Infrastructure Composer를 사용하여 다음을 수행합니다.
+ Infrastructure Composer 내에서 Workflow Studio 직접 Step Functions를 시작합니다.
+ 새 워크플로를 생성 및 관리하거나 기존 워크플로를 Infrastructure Composer로 가져옵니다.
+ Infrastructure Composer 캔버스를 사용하여 워크플로를 다른 AWS 리소스와 통합합니다.

다음 이미지는 Step Functions 상태 시스템 카드입니다.

![\[Step Functions 상태 시스템 카드.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_sf_01.png)


Infrastructure ComposerWorkflow Studio의 Step Functions를 사용하면 두 개의 강력한 시각적 디자이너의 이점을 한 곳에서 사용할 수 있습니다. 워크플로와 애플리케이션을 설계할 때 Infrastructure Composer는 코드형 인프라(IaC)를 생성하여 배포를 안내합니다.

**Topics**
+ [IAM 정책](#using-composer-services-sf-use-iam)
+ [Infrastructure ComposerWorkflow Studio에서 Step Functions 시작하기](#using-composer-services-sf-gs)
+ [Infrastructure ComposerWorkflow Studio에서 Step Functions 사용](#using-composer-services-sf-use)
+ [자세히 알아보기](#using-composer-services-sf-learn)

## IAM 정책
<a name="using-composer-services-sf-use-iam"></a>

워크플로의 작업을 리소스에 연결하면 Infrastructure Composer는 리소스 간의 상호 작용을 승인하는 데 필요한 AWS Identity and Access Management (IAM) 정책을 자동으로 생성합니다. 다음은 예제입니다.

```
Transform: AWS::Serverless-2016-10-31
Resources:
  StockTradingStateMachine:
    Type: AWS::Serverless::StateMachine
    Properties:
      ...
      Policies:
        - LambdaInvokePolicy:
            FunctionName: !Ref CheckStockValue
      ...
  CheckStockValue:
    Type: AWS::Serverless::Function
    ...
```

필요한 경우 템플릿에 IAM 정책을 더 추가할 수 있습니다.

## Infrastructure ComposerWorkflow Studio에서 Step Functions 시작하기
<a name="using-composer-services-sf-gs"></a>

시작하려면 새 워크플로를 생성하거나 기존 워크플로를 가져올 수 있습니다.

### 새 워크플로를 생성하려면
<a name="using-composer-services-sf-gs-create"></a>

1. **리소스** 팔레트에서 **Step Functions 상태 시스템** 향상된 구성 요소 카드를 캔버스로 드래그합니다.  
![\[Step Functions 상태 시스템 카드.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_sf_02.png)

   **Step Functions 상태 시스템** 카드를 캔버스로 드래그하면 Infrastructure Composer가 다음을 생성합니다.
   + 상태 시스템을 정의하는 `[ AWS::Serverless::StateMachine](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html)` 리소스입니다. 기본적으로 Infrastructure Composer는 표준 워크플로를 생성합니다. Express 워크플로를 생성하려면 템플릿의 `Type` 값을에서 `STANDARD`로 변경합니다`EXPRESS`.
   + 상태 시스템에 대한 Amazon CloudWatch 로그 그룹을 정의하는 `[AWS::Logs::LogGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)` 리소스입니다.

1. 카드의 **리소스 속성** 패널을 열고 **Workflow Studio에서 편집**을 선택하여 Infrastructure Composer Workflow Studio 내에서 엽니다.

   Step Functions가 **디자인** 모드에서 Workflow Studio 열립니다. 자세한 내용은 *AWS Step Functions 개발자 안내서*의 [디자인 모드를](https://docs.aws.amazon.com/step-functions/latest/dg/workflow-studio-components.html#wfs-interface-design-mode) 참조하세요.
**참고**  
Infrastructure Composer를 수정하여 상태 시스템 정의를 외부 파일에 저장할 수 있습니다. 자세한 내용은 [외부 파일 작업](#using-composer-services-sf-use-external)를 참조하세요.

1. 워크플로를 생성하고 **저장**을 선택합니다. 를 종료하려면 **인프라 컴포저로 돌아가기**를 Workflow Studio선택합니다.

   Infrastructure Composer는 `AWS::Serverless::StateMachine` 리소스의 `Defintion` 속성을 사용하여 워크플로를 정의합니다.

1. 다음 중 하나를 수행하여 워크플로를 수정할 수 있습니다.
   + 를 Workflow Studio 다시 열고 워크플로를 수정합니다.
   + 콘솔에서 Infrastructure Composer의 경우 애플리케이션의 **템플릿** 보기를 열고 템플릿을 수정할 수 있습니다. **로컬 동기화**를 사용하는 경우 로컬 IDE에서 워크플로를 수정할 수 있습니다. Infrastructure Composer는 Infrastructure Composer에서 변경 사항을 감지하고 워크플로를 업데이트합니다.
   + Toolkit for VS Code의 Infrastructure Composer의 경우 템플릿을 직접 수정할 수 있습니다. Infrastructure Composer는 Infrastructure Composer에서 변경 사항을 감지하고 워크플로를 업데이트합니다.

### 기존 워크플로를 가져오려면
<a name="using-composer-services-sf-gs-import"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿을 사용하여 정의된 애플리케이션에서 워크플로를 가져올 수 있습니다. `AWS::Serverless::StateMachine` 리소스 유형으로 정의된 상태 시스템을 사용하면를 시작하는 데 사용할 수 있는 **Step Functions 상태 시스템** 향상된 구성 요소 카드로 시각화됩니다Workflow Studio.

`AWS::Serverless::StateMachine` 리소스는 다음 속성 중 하나를 사용하여 워크플로를 정의할 수 있습니다.
+ `[ Definition](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definition)` - 워크플로는 AWS SAM 템플릿 내에서 객체로 정의됩니다.
+ `[ DefinitionUri](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionuri)` - 워크플로는 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)를 사용하여 외부 파일에 정의됩니다. 그러면 파일의 로컬 경로가이 속성으로 지정됩니다.

#### 정의 속성
<a name="using-composer-services-sf-gs-import-definition"></a>

**콘솔의 Infrastructure Composer**  
`Definition` 속성을 사용하여 정의된 워크플로의 경우 단일 템플릿 또는 전체 프로젝트를 가져올 수 있습니다.  
+ **템플릿** - 템플릿 가져오기에 대한 지침은 섹션을 참조하세요[Infrastructure Composer 콘솔에서 기존 프로젝트 템플릿 가져오기](using-composer-project-import-template.md). Infrastructure Composer 내에서 변경한 내용을 저장하려면 템플릿을 내보내야 합니다.
+ **프로젝트** - 프로젝트를 가져올 때 **로컬 동기화**를 활성화해야 합니다. 변경 사항은 로컬 시스템에 자동으로 저장됩니다. 프로젝트 가져오기에 대한 지침은 섹션을 참조하세요[Infrastructure Composer 콘솔에서 기존 프로젝트 폴더 가져오기](using-composer-project-import-folder.md).

**Toolkit for VS Code의 Infrastructure Composer**  
`Definition` 속성을 사용하여 정의된 워크플로의 경우 템플릿에서 Infrastructure Composer를 열 수 있습니다. 지침은 [에서 Infrastructure Composer에 액세스 AWS Toolkit for Visual Studio Code](setting-up-composer-access-ide.md) 섹션을 참조하세요.

#### DefinitionUri 속성
<a name="using-composer-services-sf-gs-import-definitionuri"></a>

**콘솔의 Infrastructure Composer**  
`DefinitionUri` 속성을 사용하여 정의된 워크플로의 경우 프로젝트를 가져오고 **로컬 동기화**를 활성화해야 합니다. 프로젝트 가져오기에 대한 지침은 섹션을 참조하세요[Infrastructure Composer 콘솔에서 기존 프로젝트 폴더 가져오기](using-composer-project-import-folder.md).

**Toolkit for VS Code의 Infrastructure Composer**  
`DefinitionUri` 속성을 사용하여 정의된 워크플로의 경우 템플릿에서 Infrastructure Composer를 열 수 있습니다. 지침은 [에서 Infrastructure Composer에 액세스 AWS Toolkit for Visual Studio Code](setting-up-composer-access-ide.md) 섹션을 참조하세요.

## Infrastructure ComposerWorkflow Studio에서 Step Functions 사용
<a name="using-composer-services-sf-use"></a>

### 빌드 워크플로
<a name="using-composer-services-sf-use-build"></a>

Infrastructure Composer는 정의 대체를 사용하여 워크플로 작업을 애플리케이션의 리소스에 매핑합니다. 정의 대체에 대한 자세한 내용은 *AWS Serverless Application Model 개발자 안내서*`[ DefinitionSubstitutions](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionsubstitutions)`의 섹션을 참조하세요.

에서 작업을 생성할 때 각 작업에 대한 정의 대체를 Workflow Studio지정합니다. 그런 다음 Infrastructure Composer 캔버스의 리소스에 작업을 연결할 수 있습니다.

**에서 정의 대체를 지정하려면 Workflow Studio**

1. 작업의 **구성** 탭을 열고 **API 파라미터** 필드를 찾습니다.  
![\[에 있는 작업의 구성 탭입니다Workflow Studio.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_sf_05.png)

1. **API 파라미터** 필드에 드롭다운 옵션이 있는 경우 ** CloudFormation 대체 항목 입력을** 선택합니다. 그런 다음 고유한 이름을 입력합니다.

   동일한 리소스에 연결하는 작업의 경우 각 작업에 대해 동일한 정의 대체를 지정합니다. 기존 정의 대체를 사용하려면 ** CloudFormation 대체 선택을** 선택하고 사용할 대체를 선택합니다.

1. **API 파라미터** 필드에 JSON 객체가 포함된 경우 정의 대체를 사용할 리소스 이름을 지정하는 항목을 수정합니다. 다음 예제에서는를 `"MyDynamoDBTable"`로 변경합니다`"${RecordTransaction}"`.  
![\[에 있는 작업의 구성 탭입니다Workflow Studio.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_sf_06.png)

1. **저장**을 선택하고 **인프라 컴포저로 돌아가기**를 선택합니다.

워크플로의 작업은 **Step Functions 상태 시스템** 카드에 시각화됩니다.

![\[작업이 시각화된 Step Functions 상태 머신 카드입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_sf_03.png)


### 워크플로 작업에 리소스 연결
<a name="using-composer-services-sf-use-connect"></a>

Infrastructure Composer에서 지원되는 워크플로 작업과 지원되는 Infrastructure Composer 카드 간의 연결을 생성할 수 있습니다.
+ **지원되는 워크플로 작업** - Step Functions에 최적화된에 대한 작업 AWS 서비스 입니다. 자세한 내용은 *AWS Step Functions 개발자 안내서*의 [ Step Functions에 최적화된 통합을 참조하세요](https://docs.aws.amazon.com/step-functions/latest/dg/connect-supported-services.html).
+ **지원되는 Infrastructure Composer 카드** - 향상된 구성 요소 카드가 지원됩니다. Infrastructure Composer의 카드에 대한 자세한 내용은 섹션을 참조하세요[Infrastructure Composer에서 카드 구성 및 수정](using-composer-cards.md).

연결을 생성할 때 작업과 카드 AWS 서비스 의가 일치해야 합니다. 예를 들어 Lambda 함수를 호출하는 워크플로 태스크를 **Lambda 함수** 향상된 구성 요소 카드에 연결할 수 있습니다.

연결을 생성하려면 작업 포트를 클릭하고 향상된 구성 요소 카드의 왼쪽 포트로 끕니다.

![\[Lambda 함수 리소스 카드에 연결된 작업이 있는 Step Functions 상태 시스템 카드입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_sf_04.png)


Infrastructure Composer는 연결을 정의하기 위해 `DefinitionSubstitution` 값을 자동으로 업데이트합니다. 다음은 예제입니다.

```
Transform: AWS::Serverless-2016-10-31
Resources:
  StateMachine:
    Type: AWS::Serverless::StateMachine
    Properties:
      Definition:
        StartAt: Check Stock Value
        States:
          Check Stock Value:
            Type: Task
            Resource: arn:aws:states:::lambda:invoke
            Parameters:
              Payload.$: $
              FunctionName: ${CheckStockValue}
            Next: Choice
          ...
      DefinitionSubstitutions:
        CheckStockValue: !GetAtt CheckStockValue.Arn
        ...
  CheckStockValue:
    Type: AWS::Serverless::Function
    Properties:
      ...
```

### 외부 파일 작업
<a name="using-composer-services-sf-use-external"></a>

**Step Functions 상태 시스템** 카드에서 워크플로를 생성하면 Infrastructure Composer는 `Definition` 속성을 사용하여 템플릿 내에 상태 시스템 정의를 저장합니다. 상태 시스템 정의를 외부 파일에 저장하도록 Infrastructure Composer를 구성할 수 있습니다.

**참고**  
의 Infrastructure Composer에서이 기능을 사용하려면 **로컬 동기화**가 활성화되어 있어야 AWS Management Console합니다. 자세한 내용은 [Infrastructure Composer 콘솔에서 프로젝트를 로컬로 동기화하고 저장](using-composer-project-local-sync.md) 단원을 참조하십시오.

**상태 시스템 정의를 외부 파일에 저장하려면**

1. **Step Functions 상태 시스템** 카드의 **리소스 속성** 패널을 엽니다.

1. **상태 시스템 정의에 외부 파일 사용** 옵션을 선택합니다.

1. 상태 시스템 정의 파일의 상대 경로와 이름을 제공합니다.

1. **저장**을 선택합니다.

Infrastructure Composer는 다음을 수행합니다.

1. 상태 시스템 정의를 `Definition` 필드에서 외부 파일로 이동합니다.

1. Amazon States Language를 사용하여 상태 시스템 정의를 외부 파일에 저장합니다.

1. `DefinitionUri` 필드를 사용하여 외부 파일을 참조하도록 템플릿을 수정합니다.

## 자세히 알아보기
<a name="using-composer-services-sf-learn"></a>

Infrastructure Composer의 Step Functions에 대한 자세한 내용은 다음을 참조하세요.
+ *AWS Step Functions 개발자 안내서*[Workflow Studio의 Infrastructure Composer](https://docs.aws.amazon.com/step-functions/latest/dg/use-wfs-in-app-composer.html)에서 사용.
+ *AWS Step Functions 개발자 안내서*[의 AWS SAM 템플릿의 DefinitionSubstitutions](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-sam-sfn.html#sam-definition-substitution-eg).