Back to Releases
v2.189.0 2025年4月9日

AWS CDK v2.189.0 リリース解説

API Gateway v2でデュアルスタック(IPv4/IPv6)サポート、Amazon S3 Tablesの新しいL2コンストラクト、Amazon Nova Reel 1.1サポート、CodePipelineのV2タイプサポートが追加されました。

apigatewayv2s3tablesbedrockpipelinesec2codepipelinecustom-resources

概要

AWS CDK v2.189.0では、API Gateway v2にデュアルスタック(IPv4/IPv6)サポート、Amazon S3 TablesのL2コンストラクト、Amazon Nova Reel 1.1のサポート、CodePipelineのV2タイプサポートなどが追加されました。また、SubnetV2にmapPublicIpOnLaunchプロパティが実装され、CodePipelineとカスタムリソースのバグ修正も行われています。

新機能

API Gateway v2: デュアルスタックサポート

API Gateway v2(HTTP APIとWebSocket API)にデュアルスタック(IPv4/IPv6)サポートが追加されました。ipAddressTypeプロパティを使用して、APIのIPアドレスタイプを設定できます。

HTTP API でのデュアルスタック設定

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

const httpApi = new apigatewayv2.HttpApi(this, 'MyDualStackHttpApi', {
  apiName: 'my-dualstack-http-api',
  // IPアドレスタイプを設定(デフォルト: IPV4)
  ipAddressType: apigatewayv2.IpAddressType.DUAL_STACK,  // IPv4とIPv6の両方をサポート
});

WebSocket API でのデュアルスタック設定

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

const webSocketApi = new apigatewayv2.WebSocketApi(this, 'MyDualStackWebSocketApi', {
  apiName: 'my-dualstack-websocket-api',
  // IPアドレスタイプを設定(デフォルト: IPV4)
  ipAddressType: apigatewayv2.IpAddressType.DUAL_STACK,  // IPv4とIPv6の両方をサポート
});

利用可能なIpAddressTypeの値:

  • IPV4: IPv4のみ(デフォルト)
  • DUAL_STACK: IPv4とIPv6の両方をサポート

この機能により、IPv6クライアントからのアクセスをサポートし、将来のIPv6移行に備えることができます。

参考: PR #34054

Amazon S3 Tables: 新しいL2コンストラクト(Alpha)

Amazon S3 Tablesは、Apache Icebergのサポートを組み込んだクラウドオブジェクトストアで、大規模なテーブルデータを効率的に保存・管理できます。このリリースでは、S3 TablesのL2コンストラクトがAlphaモジュールとして追加されました。

Table Bucketの作成

import * as s3tables from '@aws-cdk/aws-s3tables-alpha';
import * as iam from 'aws-cdk-lib/aws-iam';

// Table Bucketを作成
const tableBucket = new s3tables.TableBucket(this, 'MyTableBucket', {
  tableBucketName: 'my-table-bucket',
  // オプション: 未参照ファイルの自動削除設定
  unreferencedFileRemoval: {
    status: 'Enabled',                    // 未参照ファイル削除を有効化
    unreferencedDays: 7,                  // ファイルが未参照になってから削除するまでの日数
    noncurrentDays: 30,                   // 非カレントバージョンを保持する日数
  },
});

// リソースポリシーを追加
const policyStatement = new iam.PolicyStatement({
  effect: iam.Effect.ALLOW,
  actions: ['s3tables:GetTableBucket', 's3tables:ListTables'],
  principals: [new iam.ServicePrincipal('example.amazonaws.com')],
  resources: ['*'],
});

tableBucket.addToResourcePolicy(policyStatement);

Table Bucket のGrant メソッド

Table Bucketには、IAM権限を簡単に付与するための便利なメソッドが用意されています:

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

const role = new iam.Role(this, 'MyRole', {
  assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
});

// バケット全体への読み取り権限を付与
tableBucket.grantRead(role);

// バケット全体への書き込み権限を付与
tableBucket.grantWrite(role);

// バケット全体への読み書き権限を付与
tableBucket.grantReadWrite(role);

主な機能:

  • TableBucket: Apache Iceberg形式のテーブルデータを保存するバケット
  • TableBucketPolicy: Table Bucketのリソースポリシーを管理
  • unreferencedFileRemoval: 未参照ファイルの自動削除設定
  • Grant メソッド: IAM権限の簡単な付与

この機能により、大規模な分析ワークロードやデータレイクの構築が容易になります。

参考: PR #33599

Amazon Bedrock: Nova Reel 1.1 サポート

Amazon Bedrockに、動画生成モデル「Amazon Nova Reel 1.1」のサポートが追加されました。

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

// Nova Reel 1.1 モデルを使用
const model = bedrock.FoundationModel.fromFoundationModelId(
  this,
  'NovaReelModel',
  bedrock.FoundationModelIdentifier.AMAZON_NOVA_REEL_V1_1,
);

Amazon Nova Reel 1.1の特徴:

  • 入力モダリティ: テキスト、画像
  • 出力モダリティ: 動画
  • 推論タイプ: オンデマンド
  • 用途: テキストや画像から動画を生成

参考: PR #34070

CodePipeline: V2パイプラインタイプのサポート

CDK Pipelinesライブラリに、CodePipelineのV2パイプラインタイプのサポートが追加されました。V2パイプラインタイプは、より高速な実行とコスト削減を実現します。

import * as pipelines from 'aws-cdk-lib/pipelines';
import * as codepipeline from 'aws-cdk-lib/aws-codepipeline';

const pipeline = new pipelines.CodePipeline(this, 'Pipeline', {
  synth: new pipelines.ShellStep('Synth', {
    input: pipelines.CodePipelineSource.gitHub('owner/repo', 'main'),
    commands: [
      'npm ci',
      'npm run build',
      'npx cdk synth',
    ],
  }),
  // V2パイプラインタイプを指定(デフォルト: V1)
  pipelineType: codepipeline.PipelineType.V2,  // V2パイプラインタイプを使用
});

V2パイプラインタイプの利点:

  • より高速なパイプライン実行
  • コスト効率の向上
  • 改善されたパフォーマンス

参考: PR #34005

CloudFormation リソース定義の更新

L1コンストラクト(CfnXxx)が最新のCloudFormationリソース定義に更新されました。

参考: PR #34064

Alpha モジュール

SubnetV2: mapPublicIpOnLaunch プロパティの実装

@aws-cdk/aws-ec2-alphaSubnetV2に、mapPublicIpOnLaunchプロパティが追加されました。このプロパティを使用して、サブネット内で起動されたインスタンスにパブリックIPアドレスを自動割り当てするかどうかを制御できます。

import * as ec2 from '@aws-cdk/aws-ec2-alpha';
import * as cdk from 'aws-cdk-lib';

const vpc = new ec2.VpcV2(this, 'MyVpc', {
  primaryAddressBlock: ec2.IpAddresses.ipv4('10.0.0.0/16'),
});

// パブリックIPを自動割り当てするサブネット
const publicSubnet = new ec2.SubnetV2(this, 'PublicSubnet', {
  vpc,
  availabilityZone: 'us-east-1a',
  ipv4CidrBlock: new ec2.IpCidr('10.0.1.0/24'),
  subnetType: ec2.SubnetType.PUBLIC,
  // インスタンス起動時にパブリックIPを自動割り当て(デフォルト: undefined)
  mapPublicIpOnLaunch: true,  // パブリックIPを自動割り当て
});

// パブリックIPを自動割り当てしないサブネット
const privateSubnet = new ec2.SubnetV2(this, 'PrivateSubnet', {
  vpc,
  availabilityZone: 'us-east-1a',
  ipv4CidrBlock: new ec2.IpCidr('10.0.2.0/24'),
  subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS,
  // パブリックIPを自動割り当てしない(デフォルト: undefined)
  mapPublicIpOnLaunch: false,  // パブリックIPを自動割り当てしない
});

プロパティの詳細:

  • mapPublicIpOnLaunch: true: サブネット内で起動されたインスタンスにパブリックIPv4アドレスを自動割り当て
  • mapPublicIpOnLaunch: false: パブリックIPv4アドレスを自動割り当てしない
  • mapPublicIpOnLaunch: undefined(デフォルト): AWSのデフォルト動作に従う

参考: PR #34057

Amplify: customRule の status フィールド欠落の修正

@aws-cdk/aws-amplify-alphaで、customRulestatusフィールドが欠落していたため、統合テストが再実行できない問題が修正されました。

参考: PR #33973

バグ修正

CodePipeline: クロスアカウントアクションの信頼ポリシー改善

クロスアカウントアクションにおいて、信頼ポリシーでアカウントルートプリンシパルではなくパイプラインロールを使用するように変更されました(フィーチャーフラグの下で有効)。これにより、セキュリティが向上し、最小権限の原則に従った設定が可能になります。

影響範囲:

  • クロスアカウントでCodePipelineを使用している場合
  • 新しい動作はフィーチャーフラグで制御されるため、既存のパイプラインへの影響はありません

参考: PR #34074

カスタムリソース: AssumeRole セッション名の無効文字対応

AwsCustomResourceで、AssumeRoleのセッション名に無効な文字が含まれる可能性がある問題が修正されました。これにより、カスタムリソースがより確実に動作するようになります。

影響範囲:

  • AwsCustomResourceを使用している場合
  • スタック名やリソース名に特殊文字が含まれる場合に発生していたエラーが解消されます

参考: PR #34016

まとめ

AWS CDK v2.189.0は、API Gateway v2のデュアルスタックサポート、Amazon S3 TablesのL2コンストラクト、Amazon Nova Reel 1.1のサポート、CodePipelineのV2タイプサポートなど、多くの新機能とバグ修正が含まれています。

特に注目すべき点は:

  • API Gateway v2のデュアルスタック: IPv6クライアントからのアクセスをサポートし、将来のIPv6移行に備えられます
  • Amazon S3 Tables: Apache Iceberg形式での大規模なテーブルデータ管理が可能になります
  • CodePipeline V2タイプ: より高速で効率的なパイプライン実行を実現します
  • SubnetV2の改善: パブリックIP自動割り当ての細かな制御が可能になります

これらの新機能を活用して、より効率的でスケーラブルなインフラストラクチャを構築しましょう。