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

AWS CDK의 이점
AWS CDK를 사용하여 프로그래밍 언어의 상당한 표현력으로 클라우드에서 안정적이고 확장 가능하며 비용 효율적인 애플리케이션을 개발할 수 있습니다. 이 접근 방식은 다음과 같은 많은 이점을 제공합니다.
- 코드형 인프라(IaC) 개발 및 관리
-
코드형 인프라를 연습하여 프로그래밍, 설명 및 선언 방식으로 인프라를 생성, 배포 및 유지 관리합니다. IaC를 사용하면 개발자가 코드를 처리하는 것과 동일한 방식으로 인프라를 처리합니다. 이를 통해 인프라 관리에 대한 확장 가능하고 구조화된 접근 방식을 얻을 수 있습니다. IaC에 대해 자세히 알아보려면 백서의 DevOps 소개에서 코드형 인프라를 참조하세요. DevOps AWS
AWS CDK를 사용하면 인프라, 애플리케이션 코드 및 구성을 모두 한 곳에 배치하여 모든 마일스톤에서 완전한 클라우드 배포 가능 시스템을 확보할 수 있습니다. 코드 검토, 유닛 테스트 및 소스 제어와 같은 소프트웨어 엔지니어링 모범 사례를 사용하여 인프라를 더욱 견고하게 만듭니다.
- 범용 프로그래밍 언어를 사용하여 클라우드 인프라 정의
-
AWS CDK를 사용하면 TypeScript, JavaScript, Python, Java, C#/ 등의 프로그래밍 언어를 사용하여 클라우드 인프라를 정의할 수 있습니다.Net, 및 Go. 선호하는 언어를 선택하고 매개변수, 조건부, 루프, 구성 및 상속과 같은 프로그래밍 요소를 사용하여 인프라의 원하는 결과를 정의하세요.
동일한 프로그래밍 언어를 사용하여 인프라와 애플리케이션 로직을 정의합니다.
구문 강조 표시 및 지능형 코드 완료와 같이 선호하는 IDE(통합 개발 환경)에서 인프라를 개발할 때의 이점을 누릴 수 있습니다.
- AWS CloudFormation을 통해 인프라 배포
-
AWS CDK는 AWS CloudFormation과 통합되어에서 인프라를 배포하고 프로비저닝합니다 AWS. AWS CloudFormation은에서 AWS 서비스를 프로비저닝하기 위한 리소스 및 속성 구성을 광범위하게 지원하는 관리형 서비스입니다 AWS. AWS CloudFormation을 사용하면 오류 시 롤백과 함께 인프라 배포를 예측 가능하고 반복적으로 수행할 수 있습니다. 이미 AWS CloudFormation에 익숙한 경우 AWS CDK를 시작할 때 새 IaC 관리 서비스를 배울 필요가 없습니다.
- 구문으로 애플리케이션 개발을 빠르게 시작
-
구문이라고 하는 재사용 가능한 구문을 사용하고 공유하여 더 빠르게 개발하세요. 하위 수준 구문을 사용하여 개별 AWS CloudFormation 리소스와 해당 속성을 정의합니다. 상위 수준 구문을 사용하여 AWS 리소스에 대한 합리적이고 안전한 기본값을 사용하여 애플리케이션의 더 큰 구성 요소를 빠르게 정의하고 더 적은 코드로 더 많은 인프라를 정의합니다.
고유한 사용 사례에 맞게 사용자 지정된 자체 구문을 생성하고 조직 전체 또는 일반 대중과 공유하세요.
AWS CDK의 예
다음은 AWS CDK Constructs Library를 사용하여 AWS Fargate 시작 유형의 Amazon Elastic Container Service(Amazon ECS) 서비스를 생성하는 예제입니다. 이 예제에 대한 자세한 내용은 예제: AWS CDK를 사용하여 AWS Fargate 서비스 생성을 참조하세요.
이 클래스는 500개 이상의 줄로 구성된 AWS CloudFormation 템플릿을 생성합니다. https://github.com/awsdocs/aws-cdk-guide/blob/main/doc_source/my_ecs_construct-stack.yaml
AWS CDK 기능
AWS CDKGitHub 리포지토리
공식 AWS CDK GitHub리포지토리는 aws-cdk
AWS CDK는 오픈 소스이므로 팀이 더 나은 도구로 만들기 위해 기여할 것을 권장합니다. 자세한 내용은 AWS 클라우드 개발 키트(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 전문가가 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 오버플로
-에서 aws-cdk로 태그가 지정된 질문입니다Stack Overflow. -
AWSAWS Cloud9용 CDK 자습서 - Cloud AWS Cloud9 개발 환경에서 AWS CDK를 사용하는 방법에 대한 자습서입니다.
AWS CDK 관련 주제에 대한 자세한 내용은 다음을 참조하세요.
-
AWS CloudFormation 개념 - AWS CDK는 AWS CloudFormation과 함께 작동하도록 구축되었으므로 주요 AWS CloudFormation 개념을 배우고 이해하는 것이 좋습니다.
-
AWS 용어집 - 사용되는 주요 용어의 정의입니다 AWS.
서버리스 애플리케이션 개발 및 배포를 간소화하는 데 사용할 수 있는 AWS CDK 관련 도구에 대해 자세히 알아보려면 다음을 참조하세요.
-
AWS 서버리스 애플리케이션 모델
- 서버리스 애플리케이션을 구축하고 실행하는 환경을 간소화하고 개선하는 오픈 소스 개발자 도구입니다 AWS. -
AWS Chalice
- Python에서 서버리스 앱을 작성하기 위한 프레임워크입니다.