これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CDK バージョニング
このトピックでは、 AWS クラウド開発キット (AWS CDK) がバージョニングを処理する方法に関するリファレンス情報を提供します。
バージョン番号はメジャー、マイナー、パッチの 3 つの数値バージョン部分で構成され、セマンティックバージョニング
マイナーリリースとパッチリリースは下位互換性があります。同じメジャーバージョンで以前のバージョンで記述されたコードは、同じメジャーバージョン内の新しいバージョンにアップグレードできます。構築と実行も継続され、同じ出力が生成されます。
AWS CDK CLI の互換性
メイン AWS CDK ライブラリ (aws-cdk-lib
) の各バージョンは、 AWS CDK ライブラリのリリース時に最新だった CDK CLI (aws-cdk-cli
) バージョンと互換性があります。また、CDK CLI の新しいバージョンとも互換性があります。CDK ライブラリの各バージョンは、ライブラリの終了日までこの互換性を維持します。したがって、サポートされている CDK ライブラリバージョンを使用している限り、CDK CLI バージョンのアップグレードは常に安全です。
CDK ライブラリの各バージョンは、CDK ライブラリのリリース時に最新であったバージョンよりも古い CDK CLI バージョンでも動作する場合があります。ただし、これは保証されません。互換性は、CDK ライブラリのクラウドアセンブリスキーマのバージョンによって異なります。 AWS CDK は合成中にクラウドアセンブリを生成し、CDK CLI はそれをデプロイに消費します。クラウドアセンブリの形式を定義するスキーマは、厳密に指定されてバージョニングされます。したがって、古いバージョンの CDK CLI では、互換性を確保するために、CDK ライブラリのクラウドアセンブリスキーマバージョンをサポートする必要があります。
CDK ライブラリに必要なクラウドアセンブリバージョンが 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.
このエラーを解決するには、CDK CLI を必要なクラウドアセンブリバージョンと互換性のあるバージョン、または利用可能な最新バージョンに更新します。代替手段 (アプリが使用するコンストラクトライブラリモジュールのダウングレード) は一般的に推奨されません。
注記
連携するバージョンの正確な組み合わせの詳細については、aws-cdk-cli GitHub リポジトリの互換性表
AWS コンストラクトライブラリのバージョニング
AWS コンストラクトライブラリのモジュールは、概念から成熟した API まで、さまざまな段階を経て開発されます。 AWS CDK の後続バージョンでは、ステージによって API の安定性が異なります。
メイン AWS CDK ライブラリAPIs である aws-cdk-lib
は安定しており、ライブラリは完全に意味的にバージョニングされています。このパッケージには、すべての AWS サービスとすべての安定した上位レベル (L2 および L3) モジュール用の AWS CloudFormation (L1) コンストラクトが含まれています。(App
や Stack
などのコア CDK クラスも含まれます)。CDK の次のメジャーリリースまで、API はこのパッケージから削除されません (ただし、廃止される可能性があります)。個々の API に大幅な変更が加えられることは一切ありません。大幅な変更が必要なとき、完全に新しい API が追加されます。
aws-cdk-lib
に既に組み込まれているサービスの開発中の新しい API は、Beta<N>
サフィックスを使用して識別されます。N
は 1 で始まり、新しい API に大幅な変更を加えるたびに増加します。 Beta<N>
API は削除されませんが、廃止されるのみです。そのため、既存のアプリは aws-cdk-lib
の新しいバージョンで引き続き動作します。API が安定していると見なされると、Beta<N>
サフィックスのない新しい API が追加されます。
以前は L1 APIs しかなかった AWS サービスに対して高レベル (L2 または L3) APIs の開発が開始されると、それらの APIsは最初に別のパッケージに分散されます。このようなパッケージには「アルファ」という名前のサフィックスがあり、そのバージョンは alpha
サブバージョンを持ち、互換性がある aws-cdk-lib
の最初のバージョンと一致します。モジュールが意図したユースケースをサポートすると、API が aws-cdk-lib
に追加されます。
言語バインディングの安定性
時間の経過とともに、追加のプログラミング言語のサポートが AWS CDK に追加される可能性があります。すべての言語で説明されている API は同じですが、API の表現方法は言語によって異なり、言語サポートの進化と共に変わる場合があります。このため、本番環境で使用する準備が整うまで、言語バインディングはしばらく実験的に扱われます。
言語 | 安定性 |
---|---|
TypeScript |
安定 |
JavaScript |
安定 |
Python |
安定 |
Java |
安定 |
C#/。NET |
安定 |
Go |
安定 |