v AWS CDK 2 개발자 안내서입니다. 이전 CDK v1은 2022년 6월 1일에 유지 관리에 들어갔으며 2023년 6월 1일에 지원이 종료되었습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Cloud Development Kit (AWS CDK) 프로젝트는 CDK 코드가 포함된 파일과 폴더를 나타냅니다. 콘텐츠는 프로그래밍 언어에 따라 달라집니다.
AWS CDK 프로젝트를 수동으로 생성하거나 AWS CDK 명령줄 인터페이스(AWS CDK CLI) cdk init
명령을 사용하여 생성할 수 있습니다. 이 주제에서는 AWS CDK CLI에서 생성된 파일 및 폴더의 프로젝트 구조와 이름 지정 규칙에 대해 알아보겠습니다. 필요에 맞게 CDK 프로젝트를 사용자 지정하고 구성할 수 있습니다.
참고
에서 AWS CDK CLI 생성한 프로젝트 구조는 시간이 지남에 따라 버전마다 다를 수 있습니다.
범용 파일 및 폴더
- .git
-
를
git
설치한 경우는 AWS CDK CLI 프로젝트의 Git리포지토리를 자동으로 초기화합니다..git
디렉터리에는 리포지토리에 대한 정보가 들어 있습니다. - .gitignore
-
Git에서 무시할 파일과 폴더를 지정하는 데 사용하는 텍스트 파일입니다.
- README.md
-
AWS CDK 프로젝트 관리에 대한 기본 지침과 중요한 정보를 제공하는 텍스트 파일입니다. 필요에 따라 이 파일을 수정하여 CDK 프로젝트와 관련된 중요한 정보를 문서화하세요.
- cdk.json
-
AWS CDK에 대한 구성 파일입니다. 이 파일은 앱을 실행하는 방법에 대한 지침을 AWS CDK CLI에 제공합니다.
언어별 파일 및 폴더
다음 파일과 폴더는 지원되는 각 프로그래밍 언어에 고유합니다.
다음은 my-cdk-ts-project
명령을 사용하여 cdk init --language typescript
디렉터리에 생성된 예제 프로젝트입니다.
my-cdk-ts-project ├── .git ├── .gitignore ├── .npmignore ├── README.md ├── bin │ └── my-cdk-ts-project.ts ├── cdk.json ├── jest.config.js ├── lib │ └── my-cdk-ts-project-stack.ts ├── node_modules ├── package-lock.json ├── package.json ├── test │ └── my-cdk-ts-project.test.ts └── tsconfig.json
- .npmignore
-
npm 레지스트리에 패키지를 게시할 때 무시할 파일과 폴더를 지정하는 파일입니다. 이 파일은
.gitignore
와 비슷하지만 npm 패키지에만 해당합니다. - bin/my-cdk-ts-project.ts
-
애플리케이션 파일이 CDK 앱을 정의합니다. CDK 프로젝트는 하나 이상의 애플리케이션 파일을 포함할 수 있습니다. 애플리케이션 파일은
bin
폴더에 저장됩니다.다음은 CDK 앱을 정의하는 기본 애플리케이션 파일의 예입니다.
#!/usr/bin/env node import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { MyCdkTsProjectStack } from '../lib/my-cdk-ts-project-stack'; const app = new cdk.App(); new MyCdkTsProjectStack(app, 'MyCdkTsProjectStack');
- jest.config.js
-
Jest의 구성 파일입니다. Jest는 인기 있는 JavaScript 테스트 프레임워크입니다.
- lib/my-cdk-ts-project-stack.ts
-
스택 파일이 CDK 스택을 정의합니다. 스택 내에서 구문을 사용하여 AWS 리소스와 속성을 정의합니다.
다음은 CDK 스택을 정의하는 기본 스택 파일의 예입니다.
import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; export class MyCdkTsProjectStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // code that defines your resources and properties go here } }
- node_modules
-
Node.js 프로젝트의 종속성이 있는 프로젝트의 공통 폴더입니다.
- package-lock.json
-
종속성의 버전을 관리하기 위해
package.json
파일과 함께 작동하는 메타데이터 파일입니다. - package.json
-
Node.js 프로젝트에 일반적으로 사용되는 메타데이터 파일입니다. 이 파일에는 프로젝트 이름, 스크립트 정의, 종속성 및 기타 가져오기 프로젝트 수준 정보와 같은 CDK 프로젝트에 대한 정보가 포함되어 있습니다.
- test/my-cdk-ts-project.test.ts
-
CDK 프로젝트에 대한 테스트를 구성하기 위해 테스트 폴더가 생성됩니다. 샘플 테스트 파일도 생성됩니다.
TypeScript로 테스트를 작성하고, 테스트를 실행하기 전에 Jest를 사용하여 TypeScript 코드를 컴파일할 수 있습니다.
- tsconfig.json
-
컴파일러 옵션과 프로젝트 설정을 지정하는 TypeScript 프로젝트에 사용되는 구성 파일입니다.