Back to Releases
v2.203.0 2025年7月1日

AWS CDK v2.203.0 リリース解説

RDSインスタンスのエンジンライフサイクルサポート、Lambda関数ログの削除ポリシー設定、CloudWatchクロスアカウント監視、Backupのタイムゾーン指定などの新機能が追加されました。

rdsbackupcloudwatchlambdaec2kendra

概要

AWS CDK v2.203.0では、RDSインスタンスのエンジンライフサイクルサポート、Lambda関数のログ削除ポリシー設定、CloudWatchダッシュボードのクロスアカウント監視機能など、複数の新機能が追加されました。また、EC2のClient VPNエンドポイントでクライアントルート強制機能がalphaモジュールで利用可能になりました。

新機能

RDS: インスタンスのエンジンライフサイクルサポート

RDSインスタンスでエンジンライフサイクルサポートを指定できるようになりました。既にRDSクラスターでは利用可能でしたが、今回インスタンスでもサポートされました。

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

const instance = new rds.DatabaseInstance(this, 'Instance', {
  engine: rds.DatabaseInstanceEngine.postgres({
    version: rds.PostgresEngineVersion.VER_15_2,
  }),
  vpc,
  // エンジンライフサイクルサポートの指定
  engineLifecycleSupport: rds.EngineLifecycleSupport.OPEN_SOURCE_RDS_EXTENDED_SUPPORT_DISABLED,
});

設定可能な値:

  • OPEN_SOURCE_RDS_EXTENDED_SUPPORT_DISABLED: 拡張サポートを無効化(オープンソースのライフサイクルに従う)
  • OPEN_SOURCE_RDS_EXTENDED_SUPPORT: 拡張サポートを有効化(AWSによる延長サポート)

この機能により、RDSインスタンスのエンジンバージョンのサポート期間を明示的に制御できます。

関連PR: #34719

Backup: スケジュール式のタイムゾーン指定

AWS Backupのバックアッププランルールで、スケジュール式のタイムゾーンを指定できるようになりました。

import * as backup from 'aws-cdk-lib/aws-backup';
import * as events from 'aws-cdk-lib/aws-events';

const plan = backup.BackupPlan.dailyWeeklyMonthly(this, 'Plan', {
  vault,
});

plan.addRule(new backup.BackupPlanRule({
  scheduleExpression: events.Schedule.cron({
    hour: '2',
    minute: '0',
  }),
  // タイムゾーンの指定(デフォルト: UTC)
  scheduleExpressionTimezone: 'Asia/Tokyo',
  completionWindow: Duration.hours(2),
  startWindow: Duration.hours(1),
}));

ポイント:

  • scheduleExpressionTimezoneプロパティで、バックアップスケジュールのタイムゾーンを指定できます
  • デフォルトはUTC
  • IANAタイムゾーン形式(例: Asia/Tokyo, America/New_York)を使用
  • 特定のリージョンのビジネス時間に合わせたバックアップ計画が容易になります

関連PR: #34603

CloudWatch: クロスアカウント監視のサポート

CloudWatchダッシュボードの各ウィジェットで、クロスアカウント監視用のアカウントIDを指定できるようになりました。これにより、複数のAWSアカウントのメトリクスやログを単一のダッシュボードで表示できます。

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

const dashboard = new cloudwatch.Dashboard(this, 'Dashboard');

dashboard.addWidgets(
  new cloudwatch.GraphWidget({
    title: 'Cross Account Metric',
    left: [metric],
    // クロスアカウント監視: 他のアカウントのメトリクスを表示
    accountId: '123456789012',
  })
);

dashboard.addWidgets(
  new cloudwatch.LogQueryWidget({
    title: 'Cross Account Logs',
    logGroupNames: ['/aws/lambda/my-function'],
    // ログクエリウィジェットでも他のアカウントを指定可能
    accountId: '123456789012',
  })
);

対応ウィジェット:

  • GraphWidget: メトリクスグラフ
  • SingleValueWidget: 単一値表示
  • GaugeWidget: ゲージ表示
  • TableWidget: テーブル表示
  • AlarmWidget: アラーム表示
  • LogQueryWidget: ログクエリ

前提条件:

  • 監視アカウントをCloudWatch設定で監視アカウントとして設定する必要があります
  • ソースアカウントは、CloudWatchリソースポリシーを使用して監視アカウントにアクセス許可を付与する必要があります
  • 適切なIAMロールとポリシーの構成が必要です

関連PR: #34793

Lambda: 関数ログの削除ポリシー設定

Lambda関数のCloudWatch Logsロググループに対して、削除ポリシーを設定できるようになりました。

import * as lambda from 'aws-cdk-lib/aws-lambda';
import { RemovalPolicy } from 'aws-cdk-lib';

const fn = new lambda.Function(this, 'MyFunction', {
  runtime: lambda.Runtime.NODEJS_20_X,
  handler: 'index.handler',
  code: lambda.Code.fromAsset('lambda'),
  // ログの削除ポリシーを設定
  logRemovalPolicy: RemovalPolicy.DESTROY,
});

設定可能な値:

  • RemovalPolicy.RETAIN: スタック削除時にロググループを保持(デフォルト)
  • RemovalPolicy.DESTROY: スタック削除時にロググループも削除
  • RemovalPolicy.SNAPSHOT: サポートされていません(ロググループには適用不可)

ユースケース:

  • 開発環境で、スタック削除時にログも自動削除したい場合はDESTROYを指定
  • 本番環境では、監査やトラブルシューティングのためにRETAINを使用
  • CI/CDパイプラインで一時的な環境を作成・削除する場合に便利

関連PR: #34723

その他の機能

フィーチャーフラグ設定のCloud Assemblyへのレポート

フィーチャーフラグの設定情報がCloud Assemblyに含まれるようになり、デプロイ時の設定を追跡しやすくなりました。

関連PR: #34798

Pipelines: cdk-assetsバージョンの設定

CDK Pipelinesで使用するcdk-assetsのバージョンを設定できるようになりました。

関連PR: #34802

Alphaモジュール

EC2: Client VPNエンドポイントのクライアントルート強制機能

Client VPNエンドポイントで、クライアントルート強制機能を有効化できるようになりました。この機能により、VPNクライアントが特定のルートのみを使用するように制御できます。

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

const endpoint = new ec2.ClientVpnEndpoint(this, 'Endpoint', {
  vpc,
  cidr: '10.100.0.0/16',
  serverCertificateArn: 'arn:aws:acm:...',
  // クライアントルート強制を有効化
  enableClientRouteEnforcement: true,
});

機能の説明:

  • enableClientRouteEnforcement: クライアントルート強制を有効化(デフォルト: false
  • 有効にすると、VPNクライアントは、Client VPNエンドポイントで明示的に追加されたルートのみを使用できます
  • セキュリティ強化とトラフィック制御に有用

関連PR: #34405

バグ修正

Step Functions Tasks: CallAwsServiceCrossRegion Lambda レスポンスのシリアライズ修正

CallAwsServiceCrossRegionタスクで、Lambda関数のレスポンスが正しくシリアライズされない問題が修正されました。

関連PR: #34843 関連Issue: #34768

EC2: inferenceAccelerators を不要な場合に使用しない

EC2インスタンスのコンストラクタで、inferenceAcceleratorsが不要な場合に使用されないように修正されました(alphaモジュール)。

関連PR: #34618 関連Issue: #33505

破壊的変更(実験的機能)

CloudFormation: L1リソースの一部で破壊的変更

CloudFormationリソース定義の更新により、一部のL1リソースで破壊的変更が含まれています。

影響を受けるリソース:

  • aws_kendra.CfnDataSource.TemplateConfigurationProperty: templateプロパティの型がstringからjsonに変更されました

この変更は実験的機能(L1リソース)に対するものです。L1リソースを直接使用している場合は、コードの修正が必要になる可能性があります。

まとめ

AWS CDK v2.203.0では、運用の柔軟性とクロスアカウント監視機能が大幅に向上しました。特に、Lambda関数のログ削除ポリシー設定やBackupのタイムゾーン指定は、マルチリージョン・マルチアカウント環境での運用をより効率的にします。CloudWatchのクロスアカウント監視機能により、複数のAWSアカウントを一元管理するダッシュボードの構築が容易になりました。

RDSインスタンスのエンジンライフサイクルサポートにより、データベースエンジンのサポート期間を明示的に制御でき、長期運用計画の策定に役立ちます。