v AWS CDK 2 개발자 안내서입니다. 이전 CDK v1은 2022년 6월 1일에 유지 관리에 들어갔고 2023년 6월 1일에 지원을 종료했습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이게 뭐야 AWS CDK?
코드로 클라우드 인프라를 정의하고 이를 통해 프로비저닝하기 위한 오픈 소스 소프트웨어 개발 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 앱과 상호 작용하기 위한 명령줄 도구입니다. CDKCLI를 사용하여 AWS CDK 프로젝트를 만들고, 관리하고, 배포할 수 있습니다. CDKCLICDK툴킷이라고도 합니다.
TypeScript,,, JavaScript Python JavaC#/.Net, 및 Go 를 AWS CDK 지원합니다. 지원되는 이러한 프로그래밍 언어를 사용하여 구조라고 하는 재사용 가능한 클라우드 구성 요소를 정의할 수 있습니다. 이들을 함께 스택과 앱으로 구성합니다. 그런 다음 CDK 애플리케이션을 에 AWS CloudFormation 배포하여 리소스를 프로비저닝하거나 업데이트합니다.
의 이점 AWS CDK
AWS CDK 를 사용하여 프로그래밍 언어의 뛰어난 표현력을 갖춘 안정적이고 확장 가능하며 비용 효율적인 애플리케이션을 클라우드에서 개발할 수 있습니다. 이 접근 방식은 다음과 같은 많은 이점을 제공합니다.
- 코드형 인프라 (IaC) 개발 및 관리
-
코드로서의 인프라를 연습하여 프로그래밍, 설명 및 선언적 방식으로 인프라를 생성, 배포 및 유지 관리하세요. IaC를 사용하면 개발자가 코드를 다루는 것과 같은 방식으로 인프라를 취급할 수 있습니다. 그 결과 인프라 관리에 대한 확장 가능하고 구조화된 접근 방식이 가능해집니다. IaC에 대해 자세히 알아보려면 AWS 백서 소개에서 코드로서의 인프라를 참조하십시오. DevOps
를 사용하면 인프라 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시작할 때 새로운 IaC 관리 서비스를 배울 필요가 없습니다. AWS CDK
- 구문을 사용하여 애플리케이션 개발을 빠르게 시작하세요.
-
구조라고 하는 재사용 가능한 구성 요소를 사용하고 공유하여 더 빠르게 개발하세요. 저수준 구조를 사용하여 개별 AWS CloudFormation 리소스와 해당 속성을 정의할 수 있습니다. 고수준 구조를 사용하면 AWS 리소스에 대해 합리적이고 안전한 기본값을 사용하여 애플리케이션의 더 큰 구성 요소를 빠르게 정의하고 더 적은 코드로 더 많은 인프라를 정의할 수 있습니다.
고유한 사용 사례에 맞게 사용자 지정된 자체 구문을 만들어 조직 전체 또는 대중과 공유하세요.
예시: AWS CDK
다음은 AWS CDK 구성 라이브러리를 사용하여 AWS Fargate 시작 유형의 Amazon Elastic 컨테이너 서비스 (AmazonECS) 서비스를 생성하는 예제입니다. 이 예제에 대한 자세한 내용은 을 참조하십시오예: 를 사용하여 AWS Fargate 서비스 생성 AWS CDK.
이 클래스는 500줄이 넘는 AWS CloudFormation 템플릿을
AWS CDK features
리포지토리 AWS CDKGitHub
공식 AWS CDK GitHub 리포지토리에 대해서는 aws-cdk를
오픈 소스이기 때문에 팀에서는 여러분이 이 도구를 더 나은 도구로 만드는 데 기여할 것을 권장합니다. AWS CDK 자세한 내용은 기여를
AWS CDK API레퍼런스
AWS CDK 구성 라이브러리는 CDK 응용 프로그램을 정의하고 응용 프로그램에 CDK 구문을 APIs 추가하는 기능을 제공합니다. 자세한 내용은 AWS CDK API참조를 참조하십시오.
구상 프로그래밍 모델
구성 프로그래밍 모델 (CPM) 은 기본 개념을 추가 AWS CDK 영역으로 확장합니다. 를 사용하는 기타 도구는 다음과 CPM 같습니다.
-
CDK테라폼용
() CDKtf -
CDK쿠버네티스용 ()
CDK8s -
Projen, 프로젝트 구성
빌드용
컨스트럭트 허브
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
— 커뮤니티 작업 공간을 포함한 커뮤니티 기반 허브. AWS CDKSlack -
훌륭합니다 CDK
. AWS CDK 오픈 소스 프로젝트, 가이드, 블로그 및 기타 리소스의 엄선된 목록이 들어 있는 GitHub 저장소입니다. -
AWS 솔루션 구성
— 검증된 IaC (코드형 인프라) 패턴을 통해 프로덕션 준비 애플리케이션으로 쉽게 조합할 수 있는 코드형 인프라 (IaC) 패턴. -
AWS 개발자 도구 블로그 — 필터링된 블로그
게시물입니다. AWS CDK -
AWS CDK on Stack Overflow
— aws-cdk 태그가 지정된 질문 켜짐 Stack Overflow -
AWS CDK 튜토리얼 AWS Cloud9 — 개발 환경에서 를 사용하는 방법에 대한 자습서. AWS CDK AWS Cloud9
와 관련된 주제에 대한 자세한 내용은 AWS CDK다음을 참조하십시오.
-
AWS CloudFormation 개념 — AWS CDK 은 (와) 함께 AWS CloudFormation사용할 수 있도록 만들어졌으므로 주요 AWS CloudFormation 개념을 배우고 이해하는 것이 좋습니다.
-
AWS 용어집 — 여러 곳에서 AWS사용되는 주요 용어에 대한 정의
서버리스 애플리케이션 개발 및 배포를 단순화하는 데 사용할 수 AWS CDK 있는 관련 도구에 대한 자세한 내용은 다음을 참조하십시오.
-
AWS Serverless Application Model
— 서버리스 애플리케이션을 구축하고 실행하는 경험을 단순화하고 개선하는 오픈 소스 개발자 도구입니다. AWS -
AWSChalice
— 서버리스 앱을 작성하기 위한 프레임워크입니다. Python