v AWS CDK 2 개발자 안내서입니다. 이전 CDK v1은 2022년 6월 1일에 유지 관리에 들어갔으며 2023년 6월 1일에 지원이 종료되었습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Cloud Development Kit (AWS CDK) 는 코드에서 클라우드 인프라를 정의하고 이를 프로비저닝하기 위한 오픈 소스 소프트웨어 개발 프레임워크입니다 AWS CloudFormation.
는 두 가지 기본 부분으로 AWS CDK 구성됩니다.
-
AWS CDK Construct Library - 인프라를 빠르게 개발하기 위해 사용, 수정 및 통합할 수 있는 구문이라고 하는 사전 작성된 모듈식 및 재사용 가능한 코드 모음입니다. AWS CDK Construct Library의 목표는 애플리케이션을 구축할 때 AWS 서비스를 정의하고 통합하는 데 필요한 복잡성을 줄이는 것입니다 AWS.
-
AWS CDK 명령줄 인터페이스(AWS CDKCLI) - CDK 앱과 상호 작용하기 위한 명령줄 도구입니다. CDK CLI를 사용하여 AWS CDK 프로젝트를 생성, 관리 및 배포합니다. CDK CLI는 CDK Toolkit라고도 합니다.
는 TypeScript, JavaScript, Python, Java, 및 C#/.Net를 AWS CDK 지원합니다Go. 이러한 지원되는 프로그래밍 언어를 사용하여 구문이라고 하는 재사용 가능한 클라우드 구성 요소를 정의할 수 있습니다. 이를 스택과 앱으로 함께 구성합니다. 그런 다음 AWS CloudFormation 에 CDK 애플리케이션을 배포하여 리소스를 프로비저닝하거나 업데이트합니다.

의 이점 AWS CDK
AWS CDK 를 사용하여 프로그래밍 언어의 상당한 표현력으로 클라우드에서 안정적이고 확장 가능하며 비용 효율적인 애플리케이션을 개발할 수 있습니다. 이 접근 방식은 다음과 같은 많은 이점을 제공합니다.
- 코드형 인프라(IaC) 개발 및 관리
-
코드형 인프라를 연습하여 프로그래밍, 설명 및 선언 방식으로 인프라를 생성, 배포 및 유지 관리합니다. IaC를 사용하면 개발자가 코드를 처리하는 것과 동일한 방식으로 인프라를 처리합니다. 이를 통해 인프라 관리에 대한 확장 가능하고 구조화된 접근 방식을 얻을 수 있습니다. IaC에 대한 자세한 내용은 백서의 DevOps 소개에서 코드형 인프라를 참조하세요. DevOps AWS
를 사용하면 인프라 AWS CDK, 애플리케이션 코드 및 구성을 모두 한 곳에 배치하여 모든 마일스톤에서 완전한 클라우드 배포 가능 시스템을 확보할 수 있습니다. 코드 검토, 유닛 테스트 및 소스 제어와 같은 소프트웨어 엔지니어링 모범 사례를 사용하여 인프라를 더욱 견고하게 만듭니다.
- 범용 프로그래밍 언어를 사용하여 클라우드 인프라 정의
-
를 사용하면 다음 프로그래밍 언어를 사용하여 클라우드 인프라를 정의할 AWS CDK수 있습니다. TypeScript, JavaScript, Python, C#/.Net, Java및 Go. 선호하는 언어를 선택하고 매개변수, 조건부, 루프, 구성 및 상속과 같은 프로그래밍 요소를 사용하여 인프라의 원하는 결과를 정의하세요.
동일한 프로그래밍 언어를 사용하여 인프라와 애플리케이션 로직을 정의합니다.
구문 강조 표시 및 지능형 코드 완료와 같이 선호하는 IDE(통합 개발 환경)에서 인프라를 개발할 때의 이점을 누릴 수 있습니다.
- 를 통해 인프라 배포 AWS CloudFormation
-
AWS CDK 는와 통합되어에서 인프라를 배포하고 프로비저닝합니다 AWS. AWS CloudFormation 는에서 서비스를 프로비저닝 AWS CloudFormation 하기 위한 리소스 및 속성 구성에 대한 광범위한 지원을 AWS 서비스 제공하는 관리형 입니다 AWS. 를 AWS CloudFormation사용하면 오류 시 롤백과 함께 인프라 배포를 예측 가능하고 반복적으로 수행할 수 있습니다. 이미에 익숙하다면 AWS CloudFormation를 시작할 때 새 IaC 관리 서비스를 배울 필요가 없습니다 AWS CDK.
- 구문으로 빠르게 애플리케이션 개발 시작하기
-
구문이라고 하는 재사용 가능한 구문을 사용하고 공유하여 더 빠르게 개발하세요. 하위 수준 구문을 사용하여 개별 AWS CloudFormation 리소스와 해당 속성을 정의합니다. 상위 수준 구문을 사용하여 AWS 리소스에 대한 합리적이고 안전한 기본값을 사용하여 애플리케이션의 더 큰 구성 요소를 빠르게 정의하고 더 적은 코드로 더 많은 인프라를 정의합니다.
고유한 사용 사례에 맞게 사용자 지정된 자체 구문을 생성하고 조직 전체 또는 일반 대중과 공유하세요.
의 예 AWS CDK
다음은 AWS CDK Constructs Library를 사용하여 AWS Fargate 시작 유형의 Amazon Elastic Container Service(Amazon ECS) 서비스를 생성하는 예제입니다. 이 예에 대한 자세한 내용은 예:를 사용하여 AWS Fargate 서비스 생성 AWS CDK 섹션을 참조하세요.
export class MyEcsConstructStack extends Stack {
constructor(scope: App, id: string, props?: StackProps) {
super(scope, id, props);
const vpc = new ec2.Vpc(this, "MyVpc", {
maxAzs: 3 // Default is all AZs in region
});
const cluster = new ecs.Cluster(this, "MyCluster", {
vpc: vpc
});
// Create a load-balanced Fargate service and make it public
new ecs_patterns.ApplicationLoadBalancedFargateService(this, "MyFargateService", {
cluster: cluster, // Required
cpu: 512, // Default is 256
desiredCount: 6, // Default is 1
taskImageOptions: { image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample") },
memoryLimitMiB: 2048, // Default is 512
publicLoadBalancer: true // Default is false
});
}
}
이 클래스는 AWS CloudFormation 500개 이상의 줄을 시도합니다
AWS CDK features
AWS CDK GitHub 리포지토리
공식 AWS CDK GitHub 리포지토리는 aws-cdk
AWS CDK 는 오픈 소스이므로 팀은 더 나은 도구로 만드는 데 기여하도록 권장합니다. 자세한 내용은 Contributing to the AWS Cloud Development Kit (AWS CDK)
AWS CDK API 참조
AWS CDK Construct Library는 CDK 애플리케이션을 정의하고 애플리케이션에 CDK 구문을 추가하는 APIs를 제공합니다. 자세한 내용은 AWS CDK API 참조를 참조하세요.
Construct Programming Model
구성 프로그래밍 모델(CPM)은 이면의 개념을 추가 도메인 AWS CDK 으로 확장합니다. CPM을 사용하는 다른 도구는 다음과 같습니다.
-
CDK for Terraform
(CDKtf) -
CDK for Kubernetes
(CDK8s) -
Projen
- 프로젝트 구성 빌드용
Construct Hub
Construct Hub
다음 단계
사용을 시작하려면 섹션을 AWS CDK참조하세요시작하기 AWS CDK.
자세히 알아보기
에 대해 계속 알아보려면 다음을 AWS CDK참조하세요.
-
AWS CDK 핵심 개념 알아보기 -에 대한 중요한 개념 및 용어입니다 AWS CDK.
-
AWS CDK 워크숍
-를 배우고 사용하기 위한 실습 워크숍입니다 AWS CDK. -
AWS CDK 패턴
- AWS 전문가가를 위해 구축 AWS CDK 한 AWS 서버리스 아키텍처 패턴의 오픈 소스 컬렉션입니다. -
AWS CDK 코드 예제
- 예제 AWS CDK 프로젝트의 GitHub리포지토리입니다. -
cdk.dev
- 커뮤니티 Slack 워크스페이스를 AWS CDK포함한의 커뮤니티 기반 허브입니다. -
Awesome CDK
– AWS CDK 오픈 소스 프로젝트, 가이드, 블로그 및 기타 리소스의 정리된 목록을 포함하는 GitHub 리포지토리입니다. -
AWS 솔루션 구성
- 프로덕션 지원 애플리케이션으로 쉽게 조립할 수 있는 Vetted의 코드형 구성 인프라(IaC) 패턴입니다. -
AWS 개발자 도구 블로그
-에 대해 필터링된 블로그 게시물입니다 AWS CDK. -
AWS CDK on Stack Overflow
-에서 aws-cdk로 태그가 지정된 질문입니다Stack Overflow. -
자AWS CDK 습서 AWS Cloud9- AWS Cloud9 개발 환경에서를 사용하는 방법에 대한 자습서 AWS CDK 입니다.
관련 주제에 대한 자세한 내용은 다음을 AWS CDK참조하세요.
-
AWS CloudFormation 개념 - AWS CDK 는 함께 작동하도록 빌드되었으므로 주요 AWS CloudFormation 개념을 배우고 이해하는 AWS CloudFormation것이 좋습니다.
-
AWS 용어집 - 전체적으로 사용되는 주요 용어의 정의입니다 AWS.
서버리스 애플리케이션 개발 및 배포를 간소화하는 데 사용할 수 AWS CDK 있는와 관련된 도구에 대한 자세한 내용은 다음을 참조하세요.
-
AWS Serverless Application Model
– AWS에서 서버리스 애플리케이션을 빌드하고 실행하는 경험을 간소화하고 개선하는 오픈 소스 개발자 도구입니다. -
AWSChalice
- Python에서 서버리스 앱을 작성하기 위한 프레임워크입니다.