Back to Releases
v2.242.0 2026年3月10日

AWS CDK v2.242.0 リリース解説

API Gateway TLS 1.3セキュリティポリシー、AppSync拡張メトリクス設定、OpenSearch S3ベクターエンジン、ECR/S3のMixin機能強化など多数の新機能が追加されました。

coreecrs3ecsapigatewayappsyncopensearchservicessm

概要

AWS CDK v2.242.0では、API GatewayのTLS 1.3セキュリティポリシー、AppSync GraphQL APIの拡張メトリクス設定、OpenSearch ServiceのS3ベクターエンジンサポートなど、多くの新機能が追加されました。また、CDK Mixinsの機能強化として、ECRのRepositoryAutoDeleteImagesやS3のBucketAutoDeleteObjectsなどのMixinがaws-cdk-libに昇格しています。

新機能

API Gateway: TLS 1.3 セキュリティポリシーのサポート (#36303)

API Gatewayのカスタムドメイン名でTLS 1.3セキュリティポリシーが利用可能になりました。ポスト量子暗号やFIPS準拠など、より高度なセキュリティ要件に対応できます。

リージョナル/プライベートエンドポイント向けポリシー:

import * as apigateway from 'aws-cdk-lib/aws-apigateway';
import * as acm from 'aws-cdk-lib/aws-certificatemanager';

// TLS 1.3セキュリティポリシーを使用したドメイン名
const domainName = new apigateway.DomainName(this, 'DomainName', {
  domainName: 'api.example.com',
  certificate: certificate,
  // TLS 1.3セキュリティポリシーを指定
  securityPolicy: apigateway.SecurityPolicy.TLS13_1_3_2025_09,  // Pure TLS 1.3
  // STRICTアクセスモードが必要
  endpointAccessMode: apigateway.EndpointAccessMode.STRICT,     // 拡張セキュリティポリシーに必須
});

新しいSecurityPolicyの値:

ポリシー説明エンドポイントタイプ
TLS13_1_3_2025_09Pure TLS 1.3REGIONAL
TLS13_1_3_FIPS_2025_09FIPS準拠TLS 1.3REGIONAL
TLS13_1_2_PQ_2025_09TLS 1.3 + 1.2(ポスト量子暗号)REGIONAL
TLS13_1_2_PFS_PQ_2025_09TLS 1.3 + 1.2(PFS + ポスト量子暗号)REGIONAL
TLS13_2025_EDGETLS 1.3 for EdgeEDGE
TLS12_PFS_2025_EDGETLS 1.2(PFS)for EdgeEDGE
TLS12_2018_EDGETLS 1.2 for Edge(レガシー)EDGE

エッジ最適化エンドポイントの例:

const edgeDomain = new apigateway.DomainName(this, 'EdgeDomain', {
  domainName: 'edge-api.example.com',
  certificate: certificate,
  endpointType: apigateway.EndpointType.EDGE,
  // エッジ向けTLS 1.3ポリシー
  securityPolicy: apigateway.SecurityPolicy.TLS13_2025_EDGE,  // TLS 1.3 for Edge
  endpointAccessMode: apigateway.EndpointAccessMode.STRICT,
});

注意事項:

  • 拡張セキュリティポリシーにはendpointAccessMode: STRICTが必須
  • mTLS(相互TLS)は拡張セキュリティポリシーと併用不可
  • リージョナル専用ポリシーはEDGEエンドポイントで使用不可(逆も同様)

AppSync: GraphQL API の拡張メトリクス設定 (#35328)

AppSync GraphQL APIで拡張メトリクス設定(Enhanced Metrics Config)が利用可能になりました。リゾルバー、データソース、オペレーションレベルの詳細なメトリクスを有効化できます。

import * as appsync from 'aws-cdk-lib/aws-appsync';

const api = new appsync.GraphqlApi(this, 'Api', {
  name: 'MyApi',
  definition: appsync.Definition.fromFile('schema.graphql'),
  // 拡張メトリクス設定
  enhancedMetricsConfig: {
    // リゾルバーレベルのメトリクス動作
    resolverLevelMetricsBehavior: appsync.ResolverLevelMetricsBehavior.PER_RESOLVER_METRICS,
    // データソースレベルのメトリクス動作
    dataSourceLevelMetricsBehavior: appsync.DataSourceLevelMetricsBehavior.PER_DATA_SOURCE_METRICS,
    // オペレーションレベルのメトリクスを有効化
    operationLevelMetricsEnabled: true,  // true: 有効, false: 無効
  },
});

EnhancedMetricsConfigのプロパティ:

プロパティ説明
resolverLevelMetricsBehaviorResolverLevelMetricsBehaviorリゾルバーメトリクスの収集方法
dataSourceLevelMetricsBehaviorDataSourceLevelMetricsBehaviorデータソースメトリクスの収集方法
operationLevelMetricsEnabledbooleanオペレーションレベルメトリクスの有効/無効

ResolverLevelMetricsBehaviorの値:

  • FULL_REQUEST_RESOLVER_METRICS: リクエスト全体のメトリクス
  • PER_RESOLVER_METRICS: リゾルバーごとのメトリクス

DataSourceLevelMetricsBehaviorの値:

  • FULL_REQUEST_DATA_SOURCE_METRICS: リクエスト全体のメトリクス
  • PER_DATA_SOURCE_METRICS: データソースごとのメトリクス

注意: operationLevelMetricsEnabledを有効にすると、dataSourceLevelMetricsBehaviorのデフォルトはPER_DATA_SOURCE_METRICSになります。

OpenSearch Service: S3 ベクターエンジンのサポート (#36382)

Amazon OpenSearch ServiceでS3をベクターエンジンとして使用できるようになりました。これにより、大規模なベクターインデックスをS3に保存し、コスト効率の良いベクター検索が可能になります。

import * as opensearch from 'aws-cdk-lib/aws-opensearchservice';
import * as ec2 from 'aws-cdk-lib/aws-ec2';

const domain = new opensearch.Domain(this, 'Domain', {
  version: opensearch.EngineVersion.OPENSEARCH_2_19,  // OpenSearch 2.19以降が必要
  capacity: {
    // OpenSearch Optimizedインスタンスが必要
    dataNodeInstanceType: 'or1.medium.search',       // or1 (OpenSearch Optimized) インスタンス
    dataNodes: 2,
  },
  // S3ベクターエンジンを有効化
  s3VectorsEngineEnabled: true,  // true: S3ベクターエンジンを有効化
});

S3ベクターエンジンの要件:

  • OpenSearchバージョン2.19以降
  • OpenSearch Optimizedインスタンス(or1.*
  • リリースの最新パッチバージョン

利点:

  • 大規模ベクターデータをS3に保存することでコスト削減
  • ベクターインデックスのスケーラビリティ向上
  • 永続的なベクターストレージ

ECR: RepositoryAutoDeleteImages Mixin (#37176)

ECRリポジトリのRepositoryAutoDeleteImages Mixinが追加されました。スタック削除時にリポジトリ内のすべてのイメージを自動的に削除できます。

import * as ecr from 'aws-cdk-lib/aws-ecr';
import { Mixins } from 'aws-cdk-lib';

// L2 Repositoryに適用
const repository = new ecr.Repository(this, 'Repository', {
  removalPolicy: cdk.RemovalPolicy.DESTROY,
});

// Mixinを使用して自動削除を有効化
Mixins.of(this).apply(new ecr.mixins.RepositoryAutoDeleteImages());

CfnRepositoryへの直接適用:

// L1 CfnRepositoryに適用
const cfnRepository = new ecr.CfnRepository(this, 'CfnRepository');
Mixins.of(this).apply(new ecr.mixins.RepositoryAutoDeleteImages());

特徴:

  • CloudFormationネイティブのemptyOnDeleteプロパティを使用
  • カスタムリソースやLambda関数は不要(軽量)
  • 既存のautoDeleteImagesプロパティ(カスタムリソース使用)とは独立

S3: BucketAutoDeleteObjects Mixin が aws-cdk-lib に昇格 (#37161)

S3バケットのBucketAutoDeleteObjects Mixinが@aws-cdk/mixins-previewからaws-cdk-libに正式移行しました。

import * as s3 from 'aws-cdk-lib/aws-s3';
import * as cdk from 'aws-cdk-lib';
import { Mixins } from 'aws-cdk-lib';

// CfnBucketに適用
const cfnBucket = new s3.CfnBucket(this, 'CfnBucket');
cfnBucket.applyRemovalPolicy(cdk.RemovalPolicy.DESTROY);
Mixins.of(this).apply(new s3.mixins.BucketAutoDeleteObjects());

// L2 Bucketに適用(既存のautoDeleteObjectsプロパティと同等の動作)
const bucket = new s3.Bucket(this, 'Bucket', {
  removalPolicy: cdk.RemovalPolicy.DESTROY,
});
Mixins.of(this).apply(new s3.mixins.BucketAutoDeleteObjects());

注意:

  • removalPolicy: DESTROYが設定されているバケットにのみ適用可能
  • L2のautoDeleteObjectsプロパティは内部でこのMixinを使用するように変更
  • 既存コードは変更なしで動作

S3/ECS サービス Mixin が aws-cdk-lib に移行 (#37151)

S3とECSのMixinが@aws-cdk/mixins-previewからaws-cdk-libに移行しました。

S3 Mixins:

import * as s3 from 'aws-cdk-lib/aws-s3';
import { Mixins } from 'aws-cdk-lib';

// バージョニングを有効化
Mixins.of(this).apply(new s3.mixins.BucketVersioning());

// パブリックアクセスをブロック
Mixins.of(this).apply(new s3.mixins.BucketBlockPublicAccess());

// バケットポリシーステートメントを追加
Mixins.of(this).apply(new s3.mixins.BucketPolicyStatements({
  statements: [myPolicyStatement],
}));

ECS Mixins:

import * as ecs from 'aws-cdk-lib/aws-ecs';
import { Mixins } from 'aws-cdk-lib';

// クラスター設定を適用
Mixins.of(this).apply(new ecs.mixins.ClusterSettings({
  containerInsights: true,
}));

Core: PropertyMergeStrategy の追加 (#37206)

PropertyMergeStrategyIMergeStrategyaws-cdk-lib/coreに追加されました。CFNプロパティオブジェクトのマージ動作をカスタマイズできます。

import { PropertyMergeStrategy } from 'aws-cdk-lib';

// 深いマージ(デフォルト)- ネストされたオブジェクトを再帰的にマージ
const combineStrategy = PropertyMergeStrategy.combine();

// 上書き - 既存の値を完全に置換
const overrideStrategy = PropertyMergeStrategy.override();

L1 CloudFormationリソース定義の更新 (#37173)

最新のAWS CloudFormationリソース仕様に基づいてL1コンストラクトが更新されました。

バグ修正

aws-cdk-lib: Asset のメモリ使用量を改善 (#37186)

Assetクラスのメモリ使用量が大幅に削減されました。多数のAssetインスタンスを持つ大規模アプリケーションでの影響が特に大きく、約60%のメモリ削減が見込まれます。

主な改善点:

  • Bucket.fromBucketAttributes()Key.fromKeyArn()で毎回作成されていた匿名クラスを、共有可能なスタンドアロンクラスに変更
  • grantsプロパティを遅延初期化に変更(Assetでは通常使用されないため)
  • AssetStagingから不要になったfs.Statsプロパティ(約1.8KB)を削除

影響:

  • 100,000個のAssetインスタンスを持つアプリケーションで約500MBのメモリ削減
  • 合成時間の短縮

メタデータの512MB文字列制限を修正 (#34480)

大量のスタックを持つアプリケーションでmanifest.jsonが512MBの文字列制限を超える問題が修正されました。

修正内容:

  • スタックのメタデータを別ファイルに分離
  • manifest.jsonのホットパスからメタデータを除外
  • 256スタック・約40,000コンストラクトのツリーで合成時間が約5秒短縮

OpenSearch Service: enableAutoSoftwareUpdate: false が反映されない問題を修正 (#37152)

enableAutoSoftwareUpdate: falseを設定してもCloudFormationテンプレートに反映されない問題が修正されました。

修正前の問題: enableAutoSoftwareUpdateのtruthyチェックでfalseがfalsy値として扱われ、SoftwareUpdateOptionsがテンプレートから省略されていました。

修正後:

import * as opensearch from 'aws-cdk-lib/aws-opensearchservice';

const domain = new opensearch.Domain(this, 'Domain', {
  version: opensearch.EngineVersion.OPENSEARCH_2_17,
  // 自動ソフトウェアアップデートを明示的に無効化(修正後は正しく反映される)
  enableAutoSoftwareUpdate: false,  // falseが正しくテンプレートに出力される
});

S3: デフォルトトレイトファクトリで既存バケットポリシーを検出 (#37166)

ResourceWithPolicies.of(cfnBucket)?.addToResourcePolicy()を使用した際に、既存のバケットポリシーが検出されず重複するポリシーリソースが作成される問題が修正されました。

修正内容:

  • CfnBucketWithPolicyクラスが既存のバケットポリシーを検索してから新規作成するように変更
  • トークン解決と参照マッチングにより、様々な方法で参照されたバケットを正しく検出

破壊的変更

SSM: MaintenanceWindow の Id 属性が削除

L1リソースの更新により、AWS::SSM::MaintenanceWindowId属性が削除されました。

影響:

  • CfnMaintenanceWindow.attrIdを使用していた場合、このプロパティが利用できなくなります

対応方法:

  • 代替としてFn::RefまたはCfnMaintenanceWindow.refを使用してMaintenanceWindow IDを取得できます

Alphaモジュール (2.242.0-alpha.0)

mixins-preview: CFNプロパティMixinでリソースオブジェクトを渡せるように (#37148)

CFNプロパティMixinのプロパティにL2コンストラクト参照を直接渡せるようになりました。ARNやIDを手動で解決する必要がなくなります。

import * as kms from 'aws-cdk-lib/aws-kms';
import { CfnS3BucketProps } from '@aws-cdk/mixins-preview';

const key = new kms.Key(this, 'Key');

// KMS KeyコンストラクトをARNではなく直接渡せる
const mixin = new CfnS3BucketProps({
  bucketEncryption: {
    serverSideEncryptionConfiguration: [{
      serverSideEncryptionByDefault: {
        sseAlgorithm: 'aws:kms',
        // kms.Keyを直接渡せる(内部で自動的にARNに解決される)
        kmsMasterKeyId: key,  // 以前は key.keyArn が必要だった
      },
    }],
  },
});

mixins-preview: すべてのイベントに対してEventBridgeパターンを生成 (#37081)

リソースに関連付けられていないEventBridgeイベントに対してもヘルパークラスが生成されるようになりました。

新しくサポートされたサービス:

  • App Mesh
  • AWS B2BI
  • AWS Batch
  • CloudFormation
  • CodeDeploy
  • CodeGuru Profiler
  • CodePipeline
  • DataSync
  • AWS Deadline
  • DevOps Guru
  • DLM(Data Lifecycle Manager)
  • ElastiCache
  • Elastic Load Balancing
  • EMR
  • EventBridge
  • FIS(Fault Injection Simulator)
  • GameLift
  • HealthLake
  • Image Builder
  • IVS(Interactive Video Service)
  • Managed Blockchain
  • QLDB
  • RDS
  • Security Hub
  • SES
  • SSM
  • Synthetics
  • X-Ray

mixins-preview: IMergeStrategy によるカスタムマージ戦略のサポート (#37170)

PropertyMergeStrategyがTypeScript enumからファクトリクラスに変更され、カスタムマージ戦略の実装が可能になりました。

import { PropertyMergeStrategy, IMergeStrategy, CfnS3BucketProps } from '@aws-cdk/mixins-preview';

// 組み込みのcombine戦略(深いマージ)
const mixin1 = new CfnS3BucketProps({
  tags: [{ key: 'Env', value: 'Prod' }],
}, {
  strategy: PropertyMergeStrategy.combine(),  // ネストされたオブジェクトを再帰的にマージ
});

// 組み込みのoverride戦略(完全置換)
const mixin2 = new CfnS3BucketProps({
  tags: [{ key: 'Env', value: 'Prod' }],
}, {
  strategy: PropertyMergeStrategy.override(),  // 既存の値を完全に置換
});

// カスタムマージ戦略の実装
class MyCustomStrategy implements IMergeStrategy {
  apply(source: any, target: any): any {
    // カスタムマージロジック
    return { ...target, ...source };
  }
}

破壊的変更(Alphaモジュール内):

  • PropertyMergeStrategy.MERGEPropertyMergeStrategy.combine()
  • PropertyMergeStrategy.OVERRIDEPropertyMergeStrategy.override()
  • CfnPropertyMixinOptions.strategyの型がPropertyMergeStrategyからIMergeStrategyに変更

まとめ

AWS CDK v2.242.0は、API GatewayのTLS 1.3サポートAppSyncの拡張メトリクスOpenSearchのS3ベクターエンジンなど、セキュリティとパフォーマンスに関する重要な機能強化が含まれるリリースです。

主なポイント:

  • API Gateway TLS 1.3: ポスト量子暗号やFIPS準拠など高度なセキュリティポリシーに対応
  • AppSync拡張メトリクス: リゾルバー、データソース、オペレーションレベルの詳細メトリクスを有効化可能
  • OpenSearch S3ベクターエンジン: S3をベクターストレージとして使用し、コスト効率の良いベクター検索を実現
  • Mixin機能強化: ECRとS3のMixinがaws-cdk-libに正式移行
  • パフォーマンス改善: Assetのメモリ使用量削減、メタデータの512MB制限対応

破壊的変更に注意:

  • AWS::SSM::MaintenanceWindowId属性が削除されました。attrIdを使用していた場合はrefへの移行が必要です。