

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

# Infrastructure Composer에서 카드 구성 및 수정
<a name="using-composer-cards"></a>

Infrastructure Composer에서 카드는 애플리케이션 아키텍처를 설계하는 데 사용하는 리소스를 나타냅니다. Infrastructure Composer에서 카드를 구성할 때 애플리케이션의 리소스 세부 정보를 정의합니다. 여기에는 카드의 **논리적 ID** 및 **파티션 키**와 같은 세부 정보가 포함됩니다. 이 정보가 정의되는 방식은 **향상된 구성 요소 카드**와 **표준 카드**에 따라 다릅니다.

**향상된 구성 요소 카드는** 사용 편의성과 기능을 향상하고 다양한 사용 사례에 맞게 설계된 단일 큐레이션된 카드에 결합된 CloudFormation 리소스 모음입니다. **표준 IaC 리소스 카드는** 단일 AWS CloudFormation 리소스를 나타냅니다. 캔버스로 끌면 각 표준 IaC 리소스 카드에 **표준 구성 요소** 레이블이 지정됩니다.

이 주제에서는 **향상된 구성 요소 카드** 및 **표준 구성 요소 카드** 구성에 대한 세부 정보를 제공합니다.

**참고**  
이 주제는 CloudFormation 콘솔 모드에서 Infrastructure Composer 콘솔, AWS Toolkit for Visual Studio Code 확장 및의 카드를 사용하는 데 적용됩니다. Lambda 관련 카드(**Lambda 함수** 및 **Lambda 계층**)에는 CloudFormation 콘솔 모드의 Infrastructure Composer에서 사용할 수 없는 코드 빌드 및 패키징 솔루션이 필요합니다. 자세한 내용은 [CloudFormation 콘솔 모드에서 Infrastructure Composer 사용](using-composer-console-cfn-mode.md) 단원을 참조하십시오.

**Topics**
+ [

# Infrastructure Composer의 향상된 구성 요소 카드
](using-composer-cards-use-enhanced-component.md)
+ [

# Infrastructure Composer의 표준 카드
](using-composer-standard-cards.md)

# Infrastructure Composer의 향상된 구성 요소 카드
<a name="using-composer-cards-use-enhanced-component"></a>

향상된 구성 요소 카드를 구성하기 위해 Infrastructure Composer는 **리소스 속성** 패널에 양식을 제공합니다. 이 양식은 각 향상된 구성 요소 카드를 구성하는 과정을 안내하기 위해 고유하게 큐레이션됩니다. 양식을 작성하면 Infrastructure Composer가 인프라 코드를 수정합니다.

일부 향상된 구성 요소 카드에는 추가 기능이 있습니다. 이 섹션에서는 향상된 구성 요소 카드 사용의 기본 사항을 검토하고 추가 기능이 있는 카드에 대한 세부 정보를 제공합니다.

향상된 구성 요소 카드에 대한 자세한 내용은 [Infrastructure Composer의 향상된 구성 요소 카드](using-composer-cards-component-intro-enhanced.md) 및 섹션을 참조하세요. [Infrastructure Composer의 향상된 구성 요소 카드](using-composer-cards-component-intro-enhanced.md) 

# 절차


**리소스 속성** 패널은 구성을 간소화하고 카드 구성을 간소화하는 가이드레일을 추가합니다. 이 패널을 사용하려면 다음 단계를 수행합니다.

1. 카드를 두 번 클릭하여 **리소스 속성** 패널을 불러옵니다.

1. 카드를 클릭하고 **세부 정보를** 선택하여 리소스 속성 패널을 불러옵니다.

1. 의 Infrastructure Composer에서 **템플릿을** AWS Management Console선택하여 애플리케이션 코드를 표시합니다. 여기에서 직접를 구성합니다.

   다음 이미지는이 작업을 수행하는 방법을 보여줍니다.  
![\[템플릿 보기 선택 및 여기에서 인프라 코드 수정.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_ref_11.gif)

# Amazon Relational Database Service(RDS)에서 Infrastructure Composer 사용
<a name="using-composer-services-rds"></a>

AWS Infrastructure Composer 는 Amazon Relational Database Service(RDS)와의 통합을 지원합니다. Infrastructure Composer에서 **RDS 데이터베이스(외부)** 향상된 구성 요소 카드를 사용하여 애플리케이션을 다른 CloudFormation 또는 AWS Serverless Application Model (AWS SAM) 템플릿에 정의된 Amazon RDS DB 클러스터, 인스턴스 및 프록시에 연결할 수 있습니다.

**RDS 데이터베이스(외부)** 향상된 구성 요소 카드는 다른 템플릿에 정의된 Amazon RDS 리소스를 나타냅니다. 여기에는 다음이 포함됩니다.
+ 다른 템플릿에 정의된 Amazon RDS DB 클러스터 또는 인스턴스
+ Amazon RDS DB 프록시

**RDS 데이터베이스(외부)** 향상된 구성 요소 카드는 **리소스** 팔레트에서 사용할 수 있습니다.

![\[Amazon RDS 데이터베이스(외부) 향상된 구성 요소 카드.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_rds_01.png)


이 카드를 사용하려면 Infrastructure Composer 캔버스로 끌어서 구성하고 다른 리소스에 연결합니다.

Lambda 함수를 통해 애플리케이션을 외부 Amazon RDS DB 클러스터 또는 인스턴스에 연결할 수 있습니다.

## 요구 사항
<a name="using-composer-services-rds-requirements"></a>

이 기능을 사용하려면 다음 요구 사항을 충족해야 합니다.

1. 외부 Amazon RDS DB 클러스터, 인스턴스 또는 프록시는를 사용하여 사용자 암호를 AWS Secrets Manager 관리해야 합니다. 자세한 내용은 [Amazon RDS 사용 설명서의 Amazon RDS를 사용한 암호 관리 및 AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) 섹션을 참조하세요. ** 

1. Infrastructure Composer의 애플리케이션은 새 프로젝트이거나 Infrastructure Composer에서 원래 생성되었어야 합니다.

## 절차
<a name="using-composer-services-rds-connect"></a>

### 1단계: 외부 RDS 데이터베이스 카드 구성
<a name="using-composer-services-rds-connect-step1"></a>

**리소스** 팔레트에서 **RDS 데이터베이스(외부)** 향상된 구성 요소 카드를 캔버스로 드래그합니다.

카드를 선택하고 **세부 정보를** 선택하거나 카드를 두 번 클릭하여 **리소스 속성** 패널을 불러옵니다. 카드의 리소스 속성 패널이 나타납니다.

![\[RDS 데이터베이스(외부) 향상된 구성 요소 카드의 리소스 속성 패널입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_rds_03.png)


여기에서 다음을 구성할 수 있습니다.
+ **논리적 ID** - 외부 Amazon RDS DB 클러스터, 인스턴스 또는 프록시의 고유한 이름입니다. 이 ID는 외부 Amazon RDS DB 리소스의 논리적 ID 값과 일치할 필요가 없습니다.
+ **데이터베이스 보안** 암호 - Amazon RDS DB 클러스터, 인스턴스 또는 프록시와 연결된 AWS Secrets Manager 보안 암호의 식별자입니다. 이 필드는 다음 값을 허용합니다.
  + **정적 값** - 보안 암호 ARN과 같은 데이터베이스 보안 암호의 고유 식별자입니다. 예를 들면, `arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c`입니다. 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [AWS Secrets Manager 개념](https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html)을 참조하세요.
  + **출력 값** - Secrets Manager 보안 암호가 배포되면 AWS CloudFormation출력 값이 생성됩니다. `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)` 내장 함수를 사용하여 여기에서 출력 값을 지정할 수 있습니다. 예를 들어 `!ImportValue MySecret`입니다.
  + **SSM 파라미터 스토어의 값 **- SSM 파라미터 스토어에 보안 암호를 저장하고 동적 참조를 사용하여 해당 값을 지정할 수 있습니다. 예를 들어 `{{resolve:ssm:MySecret}}`입니다. 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [SSM 파라미터를](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-ssm) 참조하세요.
+ **데이터베이스 호스트 이름** - Amazon RDS DB 클러스터, 인스턴스 또는 프록시에 연결하는 데 사용할 수 있는 호스트 이름입니다. 이 값은 Amazon RDS 리소스를 정의하는 외부 템플릿에 지정됩니다. 허용되는 값은 다음과 같습니다.
  + **정적 값** - 엔드포인트 주소와 같은 데이터베이스 호스트 이름의 고유 식별자입니다. 예를 들면, `mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com`입니다.
  + **출력 값** - 배포된 Amazon RDS DB 클러스터, 인스턴스 또는 프록시의 출력 값입니다. `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)` 내장 함수를 사용하여 출력 값을 지정할 수 있습니다. 예를 들어 `!ImportValue myStack-myDatabase-abcd1234`입니다.
  + **SSM 파라미터 스토어의 값 **- SSM 파라미터 스토어에 데이터베이스 호스트 이름을 저장하고 동적 참조를 사용하여 값을 지정할 수 있습니다. 예를 들어 `{{resolve:ssm:MyDatabase}}`입니다.
+ **데이터베이스 포트** - Amazon RDS DB 클러스터, 인스턴스 또는 프록시에 연결하는 데 사용할 수 있는 포트 번호입니다. 이 값은 Amazon RDS 리소스를 정의하는 외부 템플릿에 지정됩니다. 허용되는 값은 다음과 같습니다.
  + **정적 값** - 데이터베이스 포트입니다. 예를 들어 `3306`입니다.
  + **출력 값** - 배포된 Amazon RDS DB 클러스터, 인스턴스 또는 프록시의 출력 값입니다. 예를 들어 `!ImportValue myStack-MyRDSInstancePort`입니다.
  + **SSM 파라미터 스토어의 값 **- SSM 파라미터 스토어에 데이터베이스 호스트 이름을 저장하고 동적 참조를 사용하여 값을 지정할 수 있습니다. 예를 들어 `{{resolve:ssm:MyRDSInstancePort}}`입니다.

**참고**  
논리적 ID 값만 여기에서 구성해야 합니다. 원하는 경우 배포 시 다른 속성을 구성할 수 있습니다.

### 2단계: Lambda 함수 카드 연결
<a name="using-composer-services-rds-connect-step2"></a>

**리소스** 팔레트에서 **Lambda 함수** 향상된 구성 요소 카드를 캔버스로 드래그합니다.

**Lambda 함수** 카드의 왼쪽 포트를 **RDS 데이터베이스(외부)** 카드의 오른쪽 포트에 연결합니다.

![\[RDS 데이터베이스(외부) 향상된 구성 요소 카드에 연결된 Lambda 함수 카드입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_rds_02.png)


Infrastructure Composer는이 연결을 용이하게 하기 위해 템플릿을 프로비저닝합니다.

## 연결을 생성하기 위해 Infrastructure Composer가 수행하는 작업
<a name="using-composer-services-rds-ref-how"></a>

위에 나열된 절차를 완료하면 Infrastructure Composer는 Lambda 함수를 데이터베이스에 연결하는 특정 작업을 수행합니다.

### 외부 Amazon RDS DB 클러스터, 인스턴스 또는 프록시를 지정하는 경우
<a name="using-composer-services-rds-ref-how-specify"></a>

**RDS 데이터베이스(외부)** 카드를 캔버스로 드래그하면 Infrastructure Composer는 필요에 따라 템플릿의 `Metadata` 및 `Parameters` 섹션을 업데이트합니다. 다음은 예제입니다.

```
Metadata:
  AWS::Composer::ExternalResources:
    ExternalRDS:
      Type: externalRDS
      Settings:
        Port: !Ref ExternalRDSPort
        Hostname: !Ref ExternalRDSHostname
        SecretArn: !Ref ExternalRDSSecretArn
Parameters:
  ExternalRDSPort:
    Type: Number
  ExternalRDSHostname:
    Type: String
  ExternalRDSSecretArn:
    Type: String
```

[메타데이터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)는 CloudFormation 템플릿에 대한 세부 정보를 저장하는 데 사용되는 템플릿 섹션입니다. Infrastructure Composer와 관련된 메타데이터는 `AWS::Composer::ExternalResources` 메타데이터 키 아래에 저장됩니다. 여기서 Infrastructure Composer는 Amazon RDS DB 클러스터, 인스턴스 또는 프록시에 대해 지정한 값을 저장합니다.

 CloudFormation 템플릿의 [ 파라미터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) 섹션은 배포 시 템플릿 전체에 삽입할 수 있는 사용자 지정 값을 저장하는 데 사용됩니다. 제공하는 값의 유형에 따라 Infrastructure Composer는 Amazon RDS DB 클러스터, 인스턴스 또는 프록시에 대한 값을 여기에 저장하고 템플릿 전체에서 지정할 수 있습니다.

`Metadata` 및 `Parameters` 섹션의 문자열 값은 **RDS 데이터베이스(외부)** 카드에 지정한 논리적 ID 값을 사용합니다. 논리적 ID를 업데이트하면 문자열 값이 변경됩니다.

### Lambda 함수를 데이터베이스에 연결하는 경우
<a name="using-composer-services-rds-ref-how-connecting"></a>

**Lambda 함수** 카드를 **RDS 데이터베이스(외부)** 카드에 연결하면 Infrastructure Composer는 환경 변수 및 AWS Identity and Access Management (IAM) 정책을 프로비저닝합니다. 다음은 예제입니다.

```
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Environment:
        Variables:
          EXTERNALRDS_PORT: !Ref ExternalRDSPort
          EXTERNALRDS_HOSTNAME: !Ref ExternalRDSHostname
          EXTERNALRDS_SECRETARN: !Ref ExternalRDSSecretArn
      Policies:
        - AWSSecretsManagerGetSecretValuePolicy:
            SecretArn: !Ref ExternalRDSSecretArn
```

[환경](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-environment) 변수는 런타임 시 함수에서 사용할 수 있는 변수입니다. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda 환경 변수 사용을](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) 참조하세요.

[정책은](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-policies) 함수에 대한 권한을 프로비저닝합니다. 여기서 Infrastructure Composer는 함수에서 Secrets Manager로의 읽기 액세스를 허용하는 정책을 생성하여 Amazon RDS DB 클러스터, 인스턴스 또는 프록시에 액세스하기 위한 암호를 가져옵니다.

# 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).

# Infrastructure Composer의 표준 카드
<a name="using-composer-standard-cards"></a>

모든 CloudFormation 리소스는 리소스 팔레트에서 **표준 IaC 리소스 카드로** 사용할 수 **있습니다**. 시각적 캔버스로 끌면 **표준 IaC 리소스 카드**가 **표준 구성 요소 카드**가 됩니다. 이는 카드가 하나 이상의 표준 IaC 리소스임을 의미합니다. 추가 예제 및 세부 정보는이 섹션의 주제를 참조하세요.

**템플릿** 보기와 **리소스 속성** 창을 통해 인프라 코드를 수정할 수 있습니다. 예를 들어 다음은 `Alexa::ASK::Skill` 표준 IaC 리소스의 시작 템플릿 예제입니다.

```
Resources:
  Skill:
    Type: Alexa::ASK::Skill
    Properties:
      AuthenticationConfiguration:
        RefreshToken: <String>
        ClientSecret: <String>
        ClientId: <String>
      VendorId: <String>
      SkillPackage:
        S3Bucket: <String>
        S3Key: <String>
```

표준 IaC 리소스 카드 시작 템플릿은 다음으로 구성됩니다.
+  CloudFormation 리소스 유형입니다.
+ 필수 또는 일반적으로 사용되는 속성입니다.
+ 각 속성에 제공할 값의 필수 유형입니다.

**참고**  
Amazon Q를 사용하여 표준 리소스 카드에 대한 인프라 코드 제안을 생성할 수 있습니다. 자세한 내용은 [AWS Infrastructure Composer 와 함께 사용 Amazon Q Developer](using-composer-ide-cw.md)를 참조하세요.

## 절차
<a name="using-composer-cards-use-standard-component"></a>

리소스 **속성** 패널을 통해 표준 구성 요소 카드의 각 리소스에 대한 인프라 코드를 수정할 수 있습니다.

**표준 구성 요소 카드를 수정하려면**

1. 표준 IaC 구성 요소 카드의 **리소스 속성** 패널을 엽니다.

1. **편집** 필드의 드롭다운 목록에서 편집할 표준 IaC 리소스를 선택합니다.

1. 인프라 코드를 수정하고 **저장합니다**.