

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

# Infrastructure Composer를 사용하여 첫 번째 애플리케이션 구축
<a name="getting-started-build"></a>

이 자습서에서는 AWS Infrastructure Composer 를 사용하여 데이터베이스의 사용자를 관리하는 생성, 읽기, 업데이트 및 삭제(CRUD) 서버리스 애플리케이션을 빌드합니다.

이 자습서에서는에서 Infrastructure Composer를 사용합니다 AWS Management Console. Google Chrome 또는 및 Microsoft Edge전체 화면 브라우저 창을 사용하는 것이 좋습니다.

**서버리스를 처음 사용하시나요?**  
다음 주제에 대해 기본적으로 이해하는 것이 좋습니다.  
[이벤트 중심 아키텍처](what-is-concepts.md#what-is-concepts-terms-eda)
[코드형 인프라(IaC)](what-is-concepts.md#what-is-concepts-terms-iac)
[서버리스 기술](what-is-concepts.md#what-is-concepts-terms-serverless)
자세한 내용은 [에 대한 서버리스 개념 AWS Infrastructure Composer](what-is-concepts.md)를 참조하세요.

**Topics**
+ [리소스 속성 참조](#getting-started-build-reference)
+ [1단계: 프로젝트 생성](#getting-started-build-start)
+ [2단계: 캔버스에 카드 추가](#getting-started-build-rest-cards)
+ [3단계: API Gateway REST API 구성](#getting-started-build-rest)
+ [4단계: Lambda 함수 구성](#getting-started-build-functions)
+ [5단계: 카드 연결](#getting-started-build-connect)
+ [6단계: 캔버스 구성](#getting-started-build-organize)
+ [7단계: DynamoDB 테이블 추가 및 연결](#getting-started-build-table)
+ [8단계: AWS CloudFormation 템플릿 검토](#getting-started-build-template)
+ [9단계: 개발 워크플로에 통합](#getting-started-build-integrate)
+ [다음 단계](#getting-started-build-next)

## 리소스 속성 참조
<a name="getting-started-build-reference"></a>

애플리케이션을 빌드하는 동안이 표를 참조하여 Amazon API Gateway 및 AWS Lambda 리소스의 속성을 구성합니다.


| 방법 | 경로 | 함수 이름 | 
| --- | --- | --- | 
|  GET  |  /항목  |  getItems  | 
|  GET  |  /items/\$1id\$1  |  getItem  | 
|  PUT  |  /items/\$1id\$1  |  updateItem  | 
|  POST  |  /항목  |  addItem  | 
|  DELETE  |  /items/\$1id\$1  |  deleteItem  | 

## 1단계: 프로젝트 생성
<a name="getting-started-build-start"></a>

CRUD 서버리스 애플리케이션을 시작하려면 Infrastructure Composer에서 새 프로젝트를 생성하고 **로컬 동기화**를 활성화합니다.

**새 빈 프로젝트를 생성하려면**

1. [Infrastructure Composer 콘솔](https://console.aws.amazon.com/composer/home)에 로그인합니다.

1. **홈** 페이지에서 **프로젝트 생성을** 선택합니다.

다음 이미지와 같이 Infrastructure Composer는 시각적 캔버스를 열고 시작(비어 있음) 애플리케이션 템플릿을 로드합니다.

![\[빈 시각적 캔버스가 있는 Infrastructure Composer.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_01.png)


**로컬 동기화를 활성화하려면**

1. Infrastructure Composer **메뉴에서** **저장** > **로컬 동기화 활성화를** 선택합니다.  
![\[로컬 동기화 활성화가 선택된 Infrastructure Composer 메뉴입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_09.png)

1. **프로젝트 위치에서** **폴더 선택을** 누르고 디렉터리를 선택합니다. 여기서 Infrastructure Composer는 설계에 따라 템플릿 파일과 폴더를 저장하고 동기화합니다.

   프로젝트 위치에는 기존 애플리케이션 템플릿이 포함되어서는 안 됩니다.
**참고**  
**로컬 동기화**에는 파일 시스템 액세스 API를 지원하는 브라우저가 필요합니다. 자세한 내용은 [Data Infrastructure Composer는에 액세스할 수 있습니다.](reference-fsa.md#reference-fsa-access) 단원을 참조하십시오.

1. 액세스를 허용하라는 메시지가 표시되면 **파일 보기를** 선택합니다.

1. **활성화**를 눌러 **로컬 동기화**를 켭니다. 변경 사항을 저장하라는 메시지가 표시되면 **변경 사항 저장**을 선택합니다.

   활성화하면 캔버스의 왼쪽 상단에 **자동 저장** 표시기가 표시됩니다.

## 2단계: 캔버스에 카드 추가
<a name="getting-started-build-rest-cards"></a>

API Gateway REST API와 5개의 Lambda 함수로 시작하여 향상된 구성 요소 카드를 사용하여 애플리케이션 아키텍처를 설계합니다.

**캔버스에 API Gateway 및 Lambda 카드를 추가하려면**

**리소스** 팔레트의 **향상된 구성 요소** 섹션에서 다음을 수행합니다.

1. **API Gateway** 카드를 캔버스로 드래그합니다.

1. **Lambda 함수** 카드를 캔버스로 드래그합니다. 캔버스에 **Lambda 함수** 카드를 5개 추가할 때까지 반복합니다.

![\[API 게이트웨이 1개와 Lambda 함수 카드 5개가 있는 Infrastructure Composer 캔버스 보기.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_02.png)


## 3단계: API Gateway REST API 구성
<a name="getting-started-build-rest"></a>

그런 다음 API Gateway 카드에 5개의 경로를 추가합니다.

**API Gateway 카드에 경로를 추가하려면**

1. **API Gateway** 카드의 **리소스 속성** 패널을 엽니다. 패널을 열려면 카드를 두 번 클릭합니다. 또는 카드를 선택한 다음 **세부 정보를** 선택합니다.

1. **리소스 속성** 패널의 **라우팅**에서 다음을 수행합니다.
**참고**  
다음 각 경로에 대해 [리소스 속성 참조 테이블에](#getting-started-build-reference) 지정된 HTTP 메서드 및 경로 값을 사용합니다.

   1. **메**서드에서 지정된 HTTP 메서드를 선택합니다. GET을 예로 들 **수 있습니다**.

   1. **경로**에 지정된 경로를 입력합니다. 예를 들어 **/items**입니다.

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

   1. 지정된 경로 5개를 모두 추가할 때까지 이전 단계를 반복합니다.

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

![\[5개의 경로가 있는 API Gateway 리소스가 있는 Infrastructure Composer 시각적 캔버스입니다. Resource properties 패널에 메서드, 경로 및 경로 추가에 대한 선택 항목이 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_03.png)


## 4단계: Lambda 함수 구성
<a name="getting-started-build-functions"></a>

[리소스 속성 참조 테이블에](#getting-started-build-reference) 지정된 대로 5개의 Lambda 함수 각각에 이름을 지정합니다.

**Lambda 함수의 이름을 지정하려면**

1. **Lambda 함수** 카드의 **리소스 속성** 패널을 엽니다. 패널을 열려면 카드를 두 번 클릭합니다. 또는 카드를 선택한 다음 **세부 정보를** 선택합니다.

1. **리소스 속성** 패널의 **논리적 ID**에 지정된 함수 이름을 입력합니다. 예를 들어 **getItems**입니다.

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

1. 5개 함수의 이름을 모두 지정할 때까지 이전 단계를 반복합니다.

![\[5개의 명명된 Lambda 함수 리소스 카드가 있는 Infrastructure Composer 시각적 캔버스입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_04.png)


## 5단계: 카드 연결
<a name="getting-started-build-connect"></a>

[리소스 속성 참조 표에](#getting-started-build-reference) 지정된 대로 **API Gateway** 카드의 각 경로를 관련 **Lambda 함수** 카드에 연결합니다.

**카드를 연결하려면**

1. **API Gateway** 카드에서 오른쪽 포트를 클릭하고 지정된 **Lambda 함수** 카드의 왼쪽 포트로 끕니다. 예를 들어 **GET /items** 포트를 클릭하고 **getItems**의 왼쪽 포트로 끕니다.

1. **API Gateway** 카드의 경로 5개를 모두 해당 **Lambda 함수** 카드에 연결할 때까지 이전 단계를 반복합니다.

![\[REST API가 5개의 Lambda 함수에 연결된 Infrastructure Composer 시각적 캔버스입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_05.png)


## 6단계: 캔버스 구성
<a name="getting-started-build-organize"></a>

Lambda 함수를 그룹화하고 모든 카드를 정렬하여 시각적 캔버스를 구성합니다.

**함수를 그룹화하려면**

1. **Shift**를 길게 누른 다음 캔버스에서 각 **Lambda 함수** 카드를 선택합니다.

1. **그룹**을 선택합니다.

**그룹 이름을 지정하려면**

1. 그룹 이름(**그룹**) 근처의 그룹 상단을 두 번 클릭합니다.

   **그룹 속성** 패널이 열립니다.

1. **그룹 속성** 패널의 **그룹 이름**에를 입력합니다**API**.

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

**카드를 정렬하려면**

캔버스의 기본 보기 영역 위에서 **정렬**을 선택합니다.

Infrastructure Composer는 다음과 같이 새 그룹(**API**)을 포함하여 시각적 캔버스의 모든 카드를 정렬합니다.

![\[Infrastructure Composer 시각적 캔버스는 모든 Lambda 함수를 함께 그룹화하여 배열됩니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_06.png)


## 7단계: DynamoDB 테이블 추가 및 연결
<a name="getting-started-build-table"></a>

이제 애플리케이션 아키텍처에 DynamoDB 테이블을 추가하고 Lambda 함수에 연결합니다.

**DynamoDB 테이블을 추가하고 연결하려면**

1. 리소스 팔레트(**리소스**)의 **향상된 구성 요소** 섹션에서 **DynamoDB 테이블** 카드를 캔버스로 드래그합니다.

1. **Lambda 함수** 카드에서 오른쪽 포트를 클릭하고 **DynamoDB 테이블** 카드의 왼쪽 포트로 끕니다.

1. 5개의 **Lambda 함수** 카드를 모두 **DynamoDB 테이블** 카드에 연결할 때까지 이전 단계를 반복합니다.

1. (선택 사항) 캔버스에서 카드를 재구성하고 재정렬하려면 **정렬**을 선택합니다.

![\[그룹 API에 DynamoDB 테이블이 연결된 Infrastructure Composer 시각적 캔버스입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_07.png)


## 8단계: AWS CloudFormation 템플릿 검토
<a name="getting-started-build-template"></a>

축하합니다\$1 배포 준비가 완료된 서버리스 애플리케이션을 성공적으로 설계했습니다. 마지막으로 **템플릿을** 선택하여 Infrastructure Composer가 자동으로 생성한 AWS CloudFormation 템플릿을 검토합니다.

템플릿에서 Infrastructure Composer는 다음을 정의했습니다.
+ 템플릿을 (AWS SAM) 템플릿으로 지정하는 `Transform` 선언입니다 AWS Serverless Application Model . 자세한 내용은 *AWS Serverless Application Model 개발자 안내서*의 [AWS SAM 템플릿 구조를](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html) 참조하세요.
+ 5개의 경로가 있는 API Gateway REST API를 지정하는 `AWS::Serverless::Api` 리소스입니다.
+ 환경 변수 및 권한 정책을 포함하여 Lambda 함수의 구성을 지정하는 5개의 `AWS::Serverless::Function` 리소스입니다.
+ DynamoDB 테이블과 해당 속성을 지정하는 `AWS::DynamoDB::Table` 리소스입니다.
+ 리소스 그룹(**API**)에 대한 정보가 포함된 `Metadata` 섹션입니다. 이 섹션에 대한 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [메타데이터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)를 참조하세요.

![\[애플리케이션의 템플릿 코드를 보여주는 Infrastructure Composer 템플릿 보기입니다.\]](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_t2_08.png)


## 9단계: 개발 워크플로에 통합
<a name="getting-started-build-integrate"></a>

추가 테스트 및 배포를 위해 Infrastructure Composer가 생성한 템플릿 파일 및 프로젝트 디렉터리를 사용합니다.
+ **로컬 동기화**를 사용하면 Infrastructure Composer를 로컬 시스템의 IDE에 연결하여 개발 속도를 높일 수 있습니다. 자세한 내용은 [Infrastructure Composer 콘솔을 로컬 IDE에 연결](other-services-ide.md)를 참조하세요.
+ **로컬 동기화**를 사용하면 로컬 시스템의 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)를 사용하여 애플리케이션을 테스트하고 배포할 수 있습니다. 자세한 내용은 [Infrastructure Composer 서버리스 애플리케이션을 AWS 클라우드에 배포](other-services-cfn.md)를 참조하세요.

## 다음 단계
<a name="getting-started-build-next"></a>

이제 Infrastructure Composer를 사용하여 자체 애플리케이션을 빌드할 준비가 되었습니다. Infrastructure Composer 사용에 대한 자세한 내용은 섹션을 참조하세요[에서를 작성하는 방법 AWS Infrastructure Composer](using-composer-basics.md). 애플리케이션을 배포할 준비가 되면 섹션을 참조하세요[Infrastructure Composer 서버리스 애플리케이션을 AWS 클라우드에 배포](other-services-cfn.md).