AWS CDK 버전 관리 - AWS Cloud Development Kit (AWS CDK) v2

AWS CDK v2 개발자 안내서입니다. 구형 CDK v1은 2022년 6월 1일에 유지 보수에 들어갔고 2023년 6월 1일에 지원이 종료되었습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS CDK 버전 관리

이 항목에서는 에서 버전 관리를 AWS Cloud Development Kit (AWS CDK) 처리하는 방법에 대한 참조 정보를 제공합니다.

버전 번호는 메이저 버전이라는 세 개의 숫자 버전 부분으로 구성됩니다. 마이너. 패치를 적용하고 시맨틱 버전 관리 모델을 엄격하게 준수하십시오. 즉, 안정적인 API에 대한 주요 변경 사항은 메이저 릴리스에만 국한됩니다.

마이너 릴리스와 패치 릴리스는 이전 버전과 호환됩니다. 동일한 메이저 버전의 이전 버전에서 작성된 코드를 동일한 메이저 버전 내의 새 버전으로 업그레이드할 수 있습니다. 또한 계속해서 빌드 및 실행되어 동일한 출력을 생성합니다.

AWS CDKCLI호환성

AWS CDK CLI는 의미상 더 낮거나 같은 버전 번호의 구조 라이브러리와 항상 호환됩니다. 따라서 동일한 메이저 버전 AWS CDK CLI 내에서 업그레이드하는 것이 항상 안전합니다.

AWS CDK CLI는 의미상 상위 버전의 구성 라이브러리와 항상 호환되는 것은 아닙니다. 호환성은 두 구성 요소가 동일한 클라우드 어셈블리 스키마 버전을 사용하는지 여부에 따라 달라집니다. AWS CDK 프레임워크는 합성 중에 클라우드 어셈블리를 생성한 AWS CDK CLI 다음 배포에 사용합니다. 클라우드 어셈블리의 형식을 정의하는 스키마는 엄격하게 지정되고 버전이 지정됩니다.

AWS 지정된 클라우드 어셈블리 스키마 버전을 사용하는 구성 라이브러리는 해당 스키마 버전 AWS CDK CLI 이상을 사용하는 버전과 호환됩니다. 여기에는 지정된 구성 라이브러리 릴리스보다 이전의 릴리스가 포함될 수 있습니다. AWS CDK CLI

구성 라이브러리에 필요한 클라우드 어셈블리 버전이 에서 지원하는 버전과 호환되지 않는 AWS CDK CLI 경우 다음과 같은 오류 메시지가 표시됩니다.

Cloud assembly schema version mismatch: Maximum schema version supported is 3.0.0, but found 4.0.0.
    Please upgrade your CLI in order to interact with this app.

이 오류를 AWS CDK CLI 해결하려면 필수 클라우드 어셈블리 버전과 호환되는 버전 또는 사용 가능한 최신 버전으로 업데이트하십시오. 대안 (앱에서 사용하는 구성 라이브러리 모듈을 다운그레이드하는 것) 은 일반적으로 권장되지 않습니다.

AWS 라이브러리 버전 관리 구성

AWS 구성 라이브러리의 모듈은 개념에서 완성된 API로 개발되면서 다양한 단계를 거칩니다. 각 단계는 후속 버전에서 다양한 수준의 API 안정성을 제공합니다. AWS CDK

기본 AWS CDK 라이브러리의 API는 aws-cdk-lib 안정적이며 라이브러리는 완전히 의미론적으로 버전이 관리됩니다. 이 패키지에는 모든 AWS 서비스에 대한 AWS CloudFormation (L1) 구문과 모든 안정적인 상위 수준 (L2 및 L3) 모듈이 포함되어 있습니다. (여기에는 및 와 같은 핵심 CDK 클래스도 포함됩니다.) App Stack API는 CDK의 다음 주요 릴리스가 나올 때까지는 이 패키지에서 제거되지 않을 것입니다 (지원 중단될 수도 있음). 어떤 개별 API도 주요 변경 사항을 적용하지는 않을 것입니다. 주요 변경이 필요한 경우 완전히 새로운 API가 추가됩니다.

이미 통합된 서비스를 위해 개발 중인 새 API는 접미사를 사용하여 aws-cdk-lib 식별됩니다. BetaN 접미사는 1에서 N 시작하여 새 API가 크게 변경될 때마다 증가합니다. BetaN API는 제거되지 않고 더 이상 사용되지 않으므로 기존 앱은 최신 버전에서 계속 작동합니다. aws-cdk-lib API가 안정적이라고 판단되면 접미사가 없는 새 API가 추가됩니다. BetaN

이전에는 L1 API만 있었던 AWS 서비스를 위해 상위 수준 (L2 또는 L3) API가 개발되기 시작하면 이러한 API는 처음에 별도의 패키지로 배포됩니다. 이러한 패키지 이름에는 접미사가 “Alpha”이고 해당 버전이 호환되는 첫 번째 버전 (하위 버전 포함) 과 일치합니다. aws-cdk-lib alpha 모듈이 의도한 사용 사례를 지원하면 해당 API가 추가됩니다. aws-cdk-lib

언어 바인딩 안정성

시간이 지나면 추가 프로그래밍 언어에 AWS CDK 대한 지원을 추가할 수 있습니다. 모든 언어에서 설명하는 API는 동일하지만 API가 표현되는 방식은 언어마다 다르며 언어 지원이 발전함에 따라 달라질 수 있습니다. 이러한 이유로 언어 바인딩은 프로덕션 환경에서 사용할 준비가 된 것으로 간주되기 전까지는 한동안 실험적인 것으로 간주됩니다.

Language Stability
TypeScript Stable
JavaScript Stable
Python Stable
Java Stable
C#/.NET Stable
Go Stable