CDKでも「Expressモード」がサポートされたので、デプロイ時間を計測してみた
はじめに
前回、CloudFormationのExpressモードをAWS CLIで検証しました。
前回の結論は「通常182秒 → Express 61秒(3.0倍)」でしたが、CDK CLI未対応のためCloudFormation APIでの検証のみでした。
2026年7月1日(JST 22時)、aws-cdk v2.1129.0がリリースされ、cdk deploy --expressが追加されました。
今回は前回と同じ構成をCDKで再現し、Expressモードのデプロイ時間を確認します。
検証
検証環境
- リージョン: ap-northeast-1
- CDK CLI: v2.1129.0
- aws-cdk-lib: 2.258.0
- Node.js: 22(Dockerコンテナ上で実行)
- VPC: デフォルトVPC
- インスタンスタイプ: t3.micro
- AMI: Amazon Linux 2023 (x86_64)
CDK スタック定義
前回記事と同じ5リソース構成をL2コンストラクトで再現しています。
import * as cdk from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as iam from 'aws-cdk-lib/aws-iam';
import { Construct } from 'constructs';
export class BenchStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const role = new iam.Role(this, 'BenchRole', {
assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com'),
});
role.addToPolicy(
new iam.PolicyStatement({
actions: ['s3:GetObject'],
resources: ['*'],
}),
);
const vpc = ec2.Vpc.fromLookup(this, 'DefaultVpc', { isDefault: true });
const sg = new ec2.SecurityGroup(this, 'BenchSecurityGroup', {
vpc,
description: 'Benchmark security group',
});
new ec2.Instance(this, 'BenchInstance', {
vpc,
instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
machineImage: ec2.MachineImage.latestAmazonLinux2023(),
role,
securityGroup: sg,
});
}
}
ec2.InstanceのL2コンストラクトが内部でInstanceProfileを生成するため、比較対象となる実体リソースは5つです(Role / Policy / InstanceProfile / SecurityGroup / EC2 Instance)。
通常モードでのデプロイ
$ cdk deploy --require-approval never
✨ Synthesis time: 1s
CdkExpressBenchStack: deploying... [1/1]
CdkExpressBenchStack | 0/7 | 3:55:34 PM | CREATE_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack User Initiated
CdkExpressBenchStack | 0/7 | 3:55:36 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD)
CdkExpressBenchStack | 0/7 | 3:55:36 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292)
CdkExpressBenchStack | 0/7 | 3:55:37 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Resource creation Initiated
CdkExpressBenchStack | 0/7 | 3:55:39 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292) Resource creation Initiated
CdkExpressBenchStack | 2/7 | 3:55:46 PM | CREATE_COMPLETE | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292)
CdkExpressBenchStack | 3/7 | 3:55:54 PM | CREATE_COMPLETE | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD)
CdkExpressBenchStack | 3/7 | 3:55:56 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Resource creation Initiated
CdkExpressBenchStack | 5/7 | 3:58:07 PM | CREATE_COMPLETE | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF)
CdkExpressBenchStack | 5/7 | 3:58:10 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Resource creation Initiated
CdkExpressBenchStack | 6/7 | 3:58:22 PM | CREATE_COMPLETE | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755)
CdkExpressBenchStack | 7/7 | 3:58:22 PM | CREATE_COMPLETE | AWS::CloudFormation::Stack | CdkExpressBenchStack
✅ CdkExpressBenchStack
✨ Deployment time: 173.05s
✨ Total time: 181.08s
Deployment time: 173秒でした。InstanceProfileのResource creation InitiatedからCREATE_COMPLETEまで2分11秒かかっています。前回のCloudFormation API検証(182秒、InstanceProfile待ち2分11秒)と同じ傾向です。
Express モードでのデプロイ
--expressフラグを追加するだけです。通常モードのスタックを削除後、同じ構成でExpressモードを試しました。
$ cdk deploy --require-approval never --express
✨ Synthesis time: 1.15s
CdkExpressBenchStack: deploying... [1/1]
CdkExpressBenchStack | 0/7 | 4:00:18 PM | CREATE_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack User Initiated
CdkExpressBenchStack | 0/7 | 4:00:20 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD)
CdkExpressBenchStack | 0/7 | 4:00:20 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292)
CdkExpressBenchStack | 0/7 | 4:00:21 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Resource creation Initiated
CdkExpressBenchStack | 1/7 | 4:00:25 PM | CREATE_COMPLETE | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 2/7 | 4:00:29 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Resource creation Initiated
CdkExpressBenchStack | 3/7 | 4:00:30 PM | CREATE_COMPLETE | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 5/7 | 4:00:31 PM | CREATE_COMPLETE | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 5/7 | 4:00:39 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Resource creation Initiated
CdkExpressBenchStack | 6/7 | 4:00:46 PM | CREATE_COMPLETE | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 7/7 | 4:00:47 PM | CREATE_COMPLETE | AWS::CloudFormation::Stack | CdkExpressBenchStack Stack operation completed using Express Mode. Resources may continue becoming available in the background.
✅ CdkExpressBenchStack
✨ Deployment time: 31.14s
⚠️ Stack deployed using Express Mode. Resources still stabilizing: BenchSecurityGroup73EC7292, BenchInstanceInstanceProfile75E1DCDF, BenchRoleDefaultPolicy40C90E6B, BenchRoleD9F05EBD, BenchInstance0D9E1755
✨ Total time: 38.74s
Deployment time: 31秒でした。InstanceProfileはResource creation Initiatedから1秒で、CloudFormationイベント上はCREATE_COMPLETEになっています。
デプロイ完了後、CDK CLIが安定化継続中のリソースを一覧で表示します。
⚠️ Stack deployed using Express Mode. Resources still stabilizing: BenchSecurityGroup73EC7292, BenchInstanceInstanceProfile75E1DCDF, ...
デプロイ時間の比較
| 手法 | CLI実行〜完了 | 倍率 |
|---|---|---|
| CDK 通常モード | 183秒 | 1.0x |
| CDK Express モード | 40秒 | 4.6x |
| (参考)CFn API 通常モード(前回記事) | 182秒 | 1.0x |
| (参考)CFn API Express モード(前回記事) | 61秒 | 3.0x |
「CLI実行〜完了」はcdk deployコマンドの実行開始から制御が戻るまでの所要時間(wall clock)です。CDKの場合はsynth + changeset作成 + CloudFormation処理を含みます。前回のCFn API計測(create-stack実行〜wait stack-create-complete完了)とはCDK側にsynthやchangeset作成が含まれる分の差はありますが、いずれもwall clockベースであり、傾向を比較する目安になります。
CDK CLIが出力するDeployment timeで見ると、通常173秒 → Express 31秒(5.6倍)でした。synthやChange Set作成を含むCLI全体時間では4.6倍、Deployment timeでは5.6倍です。
通常モード同士はほぼ同等(CDK 183秒 / CFn API 182秒)で、いずれもInstanceProfileの安定化待ちがボトルネックです。Expressモードの差(CDK 40秒 / CFn API 61秒)は、前回のwaitコマンドのポーリング間隔も一因と考えられます。
スタックイベントの比較
InstanceProfileの完了時間にフォーカスして比較します。
通常モード: InstanceProfileの完了待ちに2分11秒
3:55:56 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | Resource creation Initiated
3:58:07 PM | CREATE_COMPLETE | AWS::IAM::InstanceProfile
Express モード: InstanceProfileのCREATE_COMPLETEが1秒後に記録
4:00:29 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | Resource creation Initiated
4:00:30 PM | CREATE_COMPLETE | AWS::IAM::InstanceProfile | Resource operation completed using Express Mode. It may continue becoming available in the background.
Expressモードでは安定化確認の完了を待たずにデプロイが進むため、InstanceProfileの2分以上の待ち時間がなくなります。
通常モードのスタックイベント全文
CdkExpressBenchStack | 0/7 | 3:55:28 PM | REVIEW_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack User Initiated
CdkExpressBenchStack | 0/7 | 3:55:34 PM | CREATE_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack User Initiated
CdkExpressBenchStack | 0/7 | 3:55:36 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292)
CdkExpressBenchStack | 0/7 | 3:55:36 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD)
CdkExpressBenchStack | 0/7 | 3:55:36 PM | CREATE_IN_PROGRESS | AWS::CDK::Metadata | CDKMetadata/Default (CDKMetadata)
CdkExpressBenchStack | 0/7 | 3:55:37 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Resource creation Initiated
CdkExpressBenchStack | 0/7 | 3:55:38 PM | CREATE_IN_PROGRESS | AWS::CDK::Metadata | CDKMetadata/Default (CDKMetadata) Resource creation Initiated
CdkExpressBenchStack | 1/7 | 3:55:38 PM | CREATE_COMPLETE | AWS::CDK::Metadata | CDKMetadata/Default (CDKMetadata)
CdkExpressBenchStack | 1/7 | 3:55:39 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292) Resource creation Initiated
CdkExpressBenchStack | 2/7 | 3:55:46 PM | CREATE_COMPLETE | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292)
CdkExpressBenchStack | 3/7 | 3:55:54 PM | CREATE_COMPLETE | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD)
CdkExpressBenchStack | 3/7 | 3:55:55 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF)
CdkExpressBenchStack | 3/7 | 3:55:55 PM | CREATE_IN_PROGRESS | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B)
CdkExpressBenchStack | 3/7 | 3:55:56 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Resource creation Initiated
CdkExpressBenchStack | 3/7 | 3:55:57 PM | CREATE_IN_PROGRESS | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B) Resource creation Initiated
CdkExpressBenchStack | 4/7 | 3:56:12 PM | CREATE_COMPLETE | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B)
CdkExpressBenchStack | 5/7 | 3:58:07 PM | CREATE_COMPLETE | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF)
CdkExpressBenchStack | 5/7 | 3:58:08 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755)
CdkExpressBenchStack | 5/7 | 3:58:10 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Resource creation Initiated
CdkExpressBenchStack | 5/7 | 3:58:21 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Eventual consistency check initiated
CdkExpressBenchStack | 5/7 | 3:58:21 PM | CREATE_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack Eventual consistency check initiated
CdkExpressBenchStack | 6/7 | 3:58:22 PM | CREATE_COMPLETE | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755)
CdkExpressBenchStack | 7/7 | 3:58:22 PM | CREATE_COMPLETE | AWS::CloudFormation::Stack | CdkExpressBenchStack
Expressモードのスタックイベント全文
CdkExpressBenchStack | 0/7 | 4:00:12 PM | REVIEW_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack User Initiated
CdkExpressBenchStack | 0/7 | 4:00:18 PM | CREATE_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack User Initiated
CdkExpressBenchStack | 0/7 | 4:00:20 PM | CREATE_IN_PROGRESS | AWS::CDK::Metadata | CDKMetadata/Default (CDKMetadata)
CdkExpressBenchStack | 0/7 | 4:00:20 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD)
CdkExpressBenchStack | 0/7 | 4:00:20 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292)
CdkExpressBenchStack | 0/7 | 4:00:21 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Resource creation Initiated
CdkExpressBenchStack | 0/7 | 4:00:21 PM | CREATE_IN_PROGRESS | AWS::CDK::Metadata | CDKMetadata/Default (CDKMetadata) Resource creation Initiated
CdkExpressBenchStack | 1/7 | 4:00:21 PM | CREATE_COMPLETE | AWS::CDK::Metadata | CDKMetadata/Default (CDKMetadata) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 1/7 | 4:00:21 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292) Resource creation Initiated
CdkExpressBenchStack | 1/7 | 4:00:24 PM | CREATE_IN_PROGRESS | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292) Eventual consistency check initiated
CdkExpressBenchStack | 2/7 | 4:00:25 PM | CREATE_COMPLETE | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 2/7 | 4:00:28 PM | CREATE_IN_PROGRESS | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Eventual consistency check initiated
CdkExpressBenchStack | 2/7 | 4:00:28 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF)
CdkExpressBenchStack | 2/7 | 4:00:28 PM | CREATE_IN_PROGRESS | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B)
CdkExpressBenchStack | 2/7 | 4:00:29 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Resource creation Initiated
CdkExpressBenchStack | 2/7 | 4:00:29 PM | CREATE_IN_PROGRESS | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Eventual consistency check initiated
CdkExpressBenchStack | 2/7 | 4:00:30 PM | CREATE_IN_PROGRESS | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B) Resource creation Initiated
CdkExpressBenchStack | 3/7 | 4:00:30 PM | CREATE_COMPLETE | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 3/7 | 4:00:30 PM | CREATE_IN_PROGRESS | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B) Eventual consistency check initiated
CdkExpressBenchStack | 4/7 | 4:00:30 PM | CREATE_COMPLETE | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 5/7 | 4:00:31 PM | CREATE_COMPLETE | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 5/7 | 4:00:31 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755)
CdkExpressBenchStack | 5/7 | 4:00:39 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Resource creation Initiated
CdkExpressBenchStack | 5/7 | 4:00:44 PM | CREATE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Eventual consistency check initiated
CdkExpressBenchStack | 5/7 | 4:00:44 PM | CREATE_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack Eventual consistency check initiated
CdkExpressBenchStack | 6/7 | 4:00:46 PM | CREATE_COMPLETE | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 7/7 | 4:00:47 PM | CREATE_COMPLETE | AWS::CloudFormation::Stack | CdkExpressBenchStack Stack operation completed using Express Mode. Resources may continue becoming available in the background.
補足: cdk destroy --express
cdk destroyにも--expressが使えます。
$ cdk destroy --force --express
CdkExpressBenchStack: destroying... [1/1]
CdkExpressBenchStack | 0 | 4:01:20 PM | DELETE_IN_PROGRESS | AWS::CloudFormation::Stack | CdkExpressBenchStack User Initiated
CdkExpressBenchStack | 0 | 4:01:22 PM | DELETE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755)
CdkExpressBenchStack | 1 | 4:02:24 PM | DELETE_IN_PROGRESS | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Eventual consistency check initiated
CdkExpressBenchStack | 2 | 4:02:25 PM | DELETE_COMPLETE | AWS::EC2::Instance | BenchInstance (BenchInstance0D9E1755) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 3 | 4:02:26 PM | DELETE_COMPLETE | AWS::IAM::Policy | BenchRole/DefaultPolicy (BenchRoleDefaultPolicy40C90E6B) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 4 | 4:02:26 PM | DELETE_COMPLETE | AWS::EC2::SecurityGroup | BenchSecurityGroup (BenchSecurityGroup73EC7292) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 5 | 4:02:27 PM | DELETE_COMPLETE | AWS::IAM::InstanceProfile | BenchInstance/InstanceProfile (BenchInstanceInstanceProfile75E1DCDF) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 6 | 4:02:33 PM | DELETE_COMPLETE | AWS::IAM::Role | BenchRole (BenchRoleD9F05EBD) Resource operation completed using Express Mode. It may continue becoming available in the background.
CdkExpressBenchStack | 7 | 4:02:33 PM | DELETE_COMPLETE | AWS::CloudFormation::Stack | CdkExpressBenchStack Stack operation completed using Express Mode. Resources may continue becoming available in the background.
✅ CdkExpressBenchStack: destroyed
⚠️ Stack deleted using Express Mode. Resources still tearing down: BenchInstance0D9E1755, BenchRoleDefaultPolicy40C90E6B, BenchSecurityGroup73EC7292, BenchInstanceInstanceProfile75E1DCDF, BenchRoleD9F05EBD
destroyの場合、この構成ではEC2インスタンスのterminate処理が約1分を占めました。terminate後の依存リソースは数秒のうちにDELETE_COMPLETEとして記録されています。全体のDestroy timeは約73秒(4:01:20→4:02:33)で、deployほどの劇的な短縮は得られませんが、EC2 terminate後の後続削除が即座に進む効果は確認できました。
まとめ
aws-cdk v2.1129.0でcdk deploy --expressが使えるようになりました。前回と同じ構成で試したところ、デプロイ所要時間が183秒から40秒に短縮されました(4.6倍)。--expressフラグを付けるだけでスタック定義の変更は不要です。
なお、デプロイ速度をさらに追求する選択肢として、CloudFormationを経由せずSDKで直接デプロイするcdkdもあります。cdkdは対応リソースが限定される実験的なアプローチのため、CloudFormation/CDKの枠組みのまま短縮したい場合はcdk deploy --expressが手軽な選択肢になりそうです。







