AWS CLOD DEVELOPENT 키트 (AWS CDK) 는 코드의 클라우드 인프라를 정의하고 AWS CloudFormation을 통해이를 제공하는 오픈 소스 소프트웨어 개발 프레임 워크입니다.
최신 프로그래밍 언어의 힘을 사용하여 AWS 리소스를 필수적으로 정의하기 위해 높은 수준의 객체 지향 추상화를 제공합니다. CDK의 인프라 구성 라이브러리를 사용하여 인프라 정의에서 AWS 모범 사례를 쉽게 캡슐화하고 보일러 플레이트 논리에 대해 걱정하지 않고 공유 할 수 있습니다.
CDK는 다음 언어로 제공됩니다.
JavaScript, TypeScript (node.js ≥ 14.15.0)
Active LTS에서 버전을 사용하는 것이 좋습니다
파이썬 (파이썬 ≥ 3.8)
Java (Java ≥ 8 및 Maven ≥ 3.5.4)
.NET (.NET ≥ 6.0)
GO (Go ≥ 1.16.4)
타사 언어 감가 상각 : 언어 버전은 공급 업체 나 커뮤니티가 공유하는 EOL (수명 끝)까지만 지원되며 사전 통지에 따라 변경 될 수 있습니다.
점프 : 개발자 가이드 | API 참조 | 시작하기 | 도움 받기 | 기고 | RFCS | 로드맵 | 더 많은 자원
개발자는 지원되는 프로그래밍 언어 중 하나에서 CDK 프레임 워크를 사용하여 구조물이라는 재사용 가능한 클라우드 구성 요소를 스택으로 구성하여 "CDK 앱"을 형성합니다.
그런 다음 AWS CDK CLI를 사용하여 CDK 앱과 상호 작용합니다. CLI를 통해 개발자는 AWS CloudFormation 템플릿과 같은 아티팩트를 합성하고, 개발 AWS 계정에 스택을 배포하고, 배포 된 스택에 대한 "Diff"를 배치하여 코드 변경의 영향을 이해할 수 있습니다.
AWS Construct Library에는 각 AWS 서비스에 대한 모듈이 포함되어있어 AWS 사용 방법에 대한 세부 사항을 캡슐화하는 풍부한 API를 제공하는 구성 요소가 포함되어 있습니다. AWS Construct 라이브러리는 다양한 AWS 서비스를 통합하여 AWS에 대한 목표를 달성 할 때 필요한 복잡성과 접착제 로그를 줄이는 것을 목표로합니다.
AWS Construct 라이브러리의 모듈은 우리가이를 구축하는 동안 실험으로 지정됩니다. 실험 모듈은 모든 릴리스에서 API 변경을 중단시킬 수 있습니다. 모듈이 안정적으로 지정된 후에는 시맨틱 버전화를 준수하며 주요 릴리스 만 변경 사항을 깨뜨릴 수 있습니다. 각 모듈의 안정성 지정은 AWS CDK API 참조의 개요 페이지에서 사용할 수 있습니다. 자세한 내용은 CDK 개발자 안내서 버전을 참조하십시오.
자세한 연습은 AWS CDK 개발자 안내서의 자습서를 참조하십시오.
NPM에서 AWS CDK CLI를 설치하거나 업데이트하십시오 (Node.js ≥ 14.15.0 필요). Active LTS에서 버전을 사용하는 것이 좋습니다
NPM I -G AWS -CDK
(서명 된 .zip 파일에서 CDK를 설치하려면 수동 설치를 참조하십시오).
프로젝트 초기화 :
mkdir hello-cdkcd hello-cdk CDK init 샘플-애플-language = typescript
이것은 다음과 같이 보이는 샘플 프로젝트를 만듭니다.
Export Class HelloCDKStack 확장 CDK.stack {
생성자 (스코프 : cdk.app, id : string, props? : cdk.stackprops) {super (scope, id, props); const queue = new sqs.queue (this, 'hellocdkqueue', {VisibilityTimeout : cdk.duration. SECONDS (300)}); const topic = new sns.topic (this, 'hellocdktopic'); topic.addsubscription (new subs.sqssubscription (queue));
}}계정에 배포하십시오.
CDK 배포
cdk 명령 줄 툴킷을 사용하여 프로젝트와 상호 작용하십시오.
cdk deploy : 앱을 AWS 계정에 배포합니다.
cdk synth : 앱의 AWS CloudFormation 템플릿 합성
cdk diff : 배포 된 스택과 앱 비교
우리 팀과 상호 작용하는 가장 좋은 방법은 Github를 통한 것입니다. 문제를 열고 버그 보고서, 기능 요청, 문서 문제 또는 지침을 위해 템플릿 중 하나에서 선택할 수 있습니다.
AWS 지원이있는 지원 계획이있는 경우 새로운 지원 사례를 만들 수도 있습니다.
이러한 커뮤니티 리소스에 대한 도움을받을 수도 있습니다.
API 참조 또는 개발자 안내서를 살펴보십시오
cdk.dev의 #AWS-CDK Slack 채널
스택 오버 플로우에 대한 질문을하고 aws-cdk 로 태그
AWS CDK 로드맵은 개발자에게 다가오는 기능과 우선 순위에 대해 알 수 있도록 CDK를 가장 잘 활용하고 프로젝트에 기여할 기회를 식별하는 방법을 계획하는 데 도움이됩니다. 자세한 내용은 Roadmap.md를 참조하십시오.
우리는 커뮤니티 기여를 환영하고 요청을 당깁니다. 개발 환경을 설정하고 코드를 제출하는 방법에 대한 정보는 Contributing.md를 참조하십시오.
이 솔루션은 AWS가 CDK의 품질과 기능을 향상시키는 데 도움이되는 익명의 운영 지표를 수집합니다. 이 기능을 비활성화하는 방법을 포함한 자세한 내용은 개발자 안내서를 참조하십시오.
CDK 워크숍
Hub 구성 - Open -Source Cloud Development Kit (CDK) 라이브러리 찾기 및 사용
모범 사례
AWS CDK를 사용하여 클라우드 애플리케이션을 개발하기위한 모범 사례
CDK 측면을 사용하여 인프라를 만드는 동안 모범 사례와 일치
파이썬 응용 프로그램에 권장되는 AWS CDK 프로젝트 구조
Construct Hub에서 구성 라이브러리의 발견 가능성을위한 모범 사례
AWS CDK에 대한 모든 개발자 블로그 게시물
CDK Construction Zone- CDK 팀이 주최 한 Twitch 라이브 코딩 시리즈, 시즌 1 에피소드 :
S1E1 : 트리거 (1 부); 참가자 : @netanir, @eladb, @richardhboyd
S1E2 : 트리거 (2 부); 참가자 : @netanir, @eladb, @iliapolo
S1E3 : 트리거 (3 부); 참가자 : @netanir, @eladb, @iliapolo, @romainmuller
트리거 : 배포 시간 조치를 구성하기위한 구조 인 트리거를 구현할 때 우리와 함께하십시오. 에피소드 1-3 :
S1E4 : 토큰 깊은 다이빙; 참가자 : @netanir, @rix0rrr, @iliapolo, @romainmuller
S1E5 : 자산 깊은 다이빙; 참가자 : @netanir, @eladb, @jogold
S1E6 : 모범 사례; 참가자 : @skinny85, @eladb, @rix0rrr, @alexpulver
S1E7 : CDK 팀의 팁과 요령; 참가자 : 모든 CDK 팀!
예
changelog
알아채다
특허