これは v2 AWS CDK デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 と比較して、一部の機能フラグのデフォルト値が変更されています。これらfalse
を に設定して、特定の v1 AWS CDK 動作に戻すことができます。これらのフラグが必要かどうかを確認するには、cdk diff
コマンドを使用して、合成されたテンプレートへの変更を調べます。
@aws-cdk/core:newStyleStackSynthesis
-
既知の名前を持つブートストラップリソースを前提とする、新しいスタック合成方式を使用します。最新のブートストラップが必要になりますが、その代わりに、CDK Pipelines を介した CI/CD や、クロスアカウントデプロイをすぐに利用できるようになります。
@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 セキュリティポリシーを使用している場合。CDK v2 は、デフォルトでセキュリティポリシー TLSv1.2_2021 を使用します。
@aws-cdk/core:stackRelativeExports
-
アプリケーションで複数のスタックを使用していて、あるスタックのリソースを別のスタックで参照する場合、 AWS CloudFormation エクスポートの構築に絶対パスと相対パスのどちらを使用するかは、この方法で決まります。
@aws-cdk/aws-lambda:recognizeVersionProps
-
false
に設定すると、CDK は、Lambda 関数の変更の有無を検出する際に、メタデータを検出対象に含めるようになります。メタデータのみが変更された場合、重複するバージョンは許可されないため、デプロイが失敗する可能性があります。アプリケーション内のすべての 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
}
}