AWS CDK 機能フラグ - AWS Cloud Development Kit (AWS CDK) v2

これは v2 AWS CDK デベロッパーガイドです。古い CDKv1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CDK 機能フラグ

、機能フラグ AWS CDK を使用して、リリースで破壊的な動作を可能にする可能性があります。フラグは コンテキスト値と AWS CDK 値として cdk.json (または ~/.cdk.json) に保存されます。これらは、cdk context --reset または cdk context --clear コマンドによっては削除されません。

機能フラグはデフォルトでは無効になっています。フラグを指定しない既存のプロジェクトは、後続の AWS CDK リリースで以前と同じように動作し続けます。cdk init を使用して作成された新しいプロジェクトには、プロジェクトを作成したリリースで利用可能なすべての機能を有効にするフラグが含まれます。以前の動作を希望するフラグについては、cdk.json を編集して無効にできます。また、 AWS CDKをアップグレードした後で、新しい動作を有効にするためにフラグを追加することもできます。

現在のすべての機能フラグのリストは、 の AWS CDK GitHub リポジトリにありますFEATURE_FLAGS.md。特定のリリースで追加された新しい機能フラグの説明については、そのリリースの 「CHANGELOG」を参照してください。

v1 の動作に戻す

CDK v2 では、一部の機能フラグのデフォルトが v1 に関して変更されています。特定の v1 の動作に戻すfalseには、これらを AWS CDK に戻すことができます。これらのフラグが必要かどうかを確認するには、cdk diff コマンドを使用して、合成されたテンプレートへの変更を調べます。

@aws-cdk/core:newStyleStackSynthesis

既知の名前を持つブートストラップリソースを前提とする、新しいスタック合成方式を使用します。最新のブートストラップが必要ですが、パイプラインを介した CI/CD CDK とクロスアカウントデプロイはすぐに許可されます。

@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId

アプリケーションが複数の Amazon API Gateway APIキーを使用していて、それらを使用量プランに関連付ける場合。

@aws-cdk/aws-rds:lowercaseDbIdentifier

アプリケーションが Amazon RDS データベースインスタンスまたはデータベースクラスターを使用している場合、 と はそれらの識別子を明示的に指定します。

@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021

アプリケーションがディス Amazon CloudFront トリビューションで TLS_V1_2_2019 セキュリティポリシーを使用している場合、v2 CDK はデフォルトでセキュリティポリシー TLSv1.2_2021 を使用します。

@aws-cdk/core:stackRelativeExports

アプリケーションで複数のスタックを使用し、あるスタックのリソースを別のスタックで参照する場合、エクスポートの構築に絶対パスと相対パスのどちらを使用するかを決定します AWS CloudFormation 。

@aws-cdk/aws-lambda:recognizeVersionProps

に設定するとfalse、Lambda 関数が変更されたかどうかを検出するときに、 にメタデータCDKが含まれます。メタデータのみが変更された場合、重複するバージョンは許可されないため、デプロイが失敗する可能性があります。アプリケーション内のすべての Lambda 関数に少なくとも 1 つの変更を加えている場合、このフラグを元に戻す必要はありません。

cdk.json でこれらのフラグを元に戻すための構文を、以下に示します。

{ "context": { "@aws-cdk/core:newStyleStackSynthesis": false, "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": false, "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": false, "@aws-cdk/aws-rds:lowercaseDbIdentifier": false, "@aws-cdk/core:stackRelativeExports": false, "@aws-cdk/aws-lambda:recognizeVersionProps": false } }