AWS SAMも「--expressフラグ」をサポート。デプロイ時間短縮効果を3構成で比較してみた

AWS SAMも「--expressフラグ」をサポート。デプロイ時間短縮効果を3構成で比較してみた

SAM CLI v1.163.0で追加された`--express`フラグを使い、CloudFormation Express modeのデプロイ時間短縮効果を検証しました。EC2+InstanceProfile、Lambda+SQS、CloudFront+VpcOrigin+ALBの3構成で比較し、Express modeが効くケース・効きにくいケースをスタックイベントから確認します
2026.07.03

はじめに

2026年6月にAWS CloudFormationのExpress modeが一般提供開始されました。Express modeは、リソースの安定化待ち(Stabilization)の一部を省略し、スタックの作成・更新完了を早める機能です。

https://aws.amazon.com/jp/blogs/devops/how-cloudformation-express-mode-accelerates-your-development-cycle/

2026年7月2日リリースのSAM CLI v1.163.0で、sam deploy に --express フラグが追加されました。

https://github.com/aws/aws-sam-cli/pull/9106

項目 通常デプロイ Express mode
SAM CLIコマンド sam deploy sam deploy --express
CFn API CreateChangeSet / ExecuteChangeSet 同左(DeploymentConfigオプションでExpress mode指定)
安定化待ち あり(リソースプロバイダーが定義する安定化条件を待機) 一部を省略(リソースによってはバックグラウンドで利用可能化が継続)
対象 本番含む全環境 開発・テスト環境向け
永続化 — --save-params で samconfig.toml に保存可能

先行記事ではCloudFormation CLIを直接操作してExpress modeの効果を検証しています。

https://dev.classmethod.jp/articles/cloudformation-express-mode-tried/

3種類の構成でデプロイ時間を比較した結果は以下の通りです。

パターン 構成 通常 Express 効果
A EC2 + InstanceProfile 225秒 38秒 5.9倍高速
B Lambda + SQS 93秒 99秒 効果なし(+6秒)
C CloudFront + VpcOrigin + ALB 819秒 765秒 1.07倍高速

検証環境

  • SAM CLI: 1.163.0
  • リージョン: ap-northeast-1
  • 計測方法: sam deploy 実行から完了までのwall clock時間

検証A: EC2 + InstanceProfile

テンプレート(template.yaml)
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: 'Pattern A: EC2 + InstanceProfile (SAM Express mode benchmark)'

Parameters:
  VpcId:
    Type: AWS::EC2::VPC::Id
  SubnetId:
    Type: AWS::EC2::Subnet::Id
  AmiId:
    Type: AWS::EC2::Image::Id

Resources:
  BenchRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: ec2.amazonaws.com
            Action: sts:AssumeRole

  BenchPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: bench-policy
      Roles:
        - !Ref BenchRole
      PolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Action: s3:GetObject
            Resource: '*'

  BenchInstanceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Roles:
        - !Ref BenchRole

  BenchSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Benchmark security group
      VpcId: !Ref VpcId

  BenchInstance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: t3.micro
      ImageId: !Ref AmiId
      SubnetId: !Ref SubnetId
      IamInstanceProfile: !Ref BenchInstanceProfile
      SecurityGroupIds:
        - !GetAtt BenchSecurityGroup.GroupId

結果

モード デプロイ時間
通常 225秒
Express 38秒
短縮 187秒(5.9倍高速)

通常モードではInstanceProfileの安定化に約2分10秒かかっていました。Express modeではこの待ち時間がほぼ生じず、大幅に短縮されています。

スタックイベント比較

通常モードではBenchInstanceProfileの作成に2分10秒を要しています。

07:38:46 CREATE_IN_PROGRESS BenchInstanceProfile Resource creation Initiated
07:40:56 CREATE_COMPLETE     BenchInstanceProfile

Express modeでは Eventual consistency check initiated の直後に CREATE_COMPLETE となり、約1秒で次のリソースに進んでいます。

07:43:23 CREATE_IN_PROGRESS BenchInstanceProfile Resource creation Initiated
07:43:23 CREATE_IN_PROGRESS BenchInstanceProfile Eventual consistency check initiated
07:43:24 CREATE_COMPLETE     BenchInstanceProfile Resource operation completed using Express Mode.

全リソースで Resource operation completed using Express Mode. It may continue becoming available in the background. のメッセージが確認できました。

スタックイベント全文(通常モード)
2026-07-03T07:38:14 REVIEW_IN_PROGRESS  bench-sam-normal-a   User Initiated
2026-07-03T07:38:25 CREATE_IN_PROGRESS  bench-sam-normal-a   User Initiated
2026-07-03T07:38:27 CREATE_IN_PROGRESS  BenchSecurityGroup   
2026-07-03T07:38:27 CREATE_IN_PROGRESS  BenchRole            
2026-07-03T07:38:28 CREATE_IN_PROGRESS  BenchRole            Resource creation Initiated
2026-07-03T07:38:29 CREATE_IN_PROGRESS  BenchSecurityGroup   Resource creation Initiated
2026-07-03T07:38:35 CREATE_COMPLETE     BenchSecurityGroup   
2026-07-03T07:38:44 CREATE_COMPLETE     BenchRole            
2026-07-03T07:38:44 CREATE_IN_PROGRESS  BenchPolicy          
2026-07-03T07:38:44 CREATE_IN_PROGRESS  BenchInstanceProfile 
2026-07-03T07:38:46 CREATE_IN_PROGRESS  BenchInstanceProfile Resource creation Initiated
2026-07-03T07:38:46 CREATE_IN_PROGRESS  BenchPolicy          Resource creation Initiated
2026-07-03T07:39:01 CREATE_COMPLETE     BenchPolicy          
2026-07-03T07:40:56 CREATE_COMPLETE     BenchInstanceProfile 
2026-07-03T07:40:57 CREATE_IN_PROGRESS  BenchInstance        
2026-07-03T07:40:59 CREATE_IN_PROGRESS  BenchInstance        Resource creation Initiated
2026-07-03T07:41:10 CREATE_COMPLETE     BenchInstance        
2026-07-03T07:41:11 CREATE_COMPLETE     bench-sam-normal-a   
スタックイベント全文(Express mode)
2026-07-03T07:43:06 REVIEW_IN_PROGRESS  bench-sam-express-a  User Initiated
2026-07-03T07:43:12 CREATE_IN_PROGRESS  bench-sam-express-a  User Initiated
2026-07-03T07:43:14 CREATE_IN_PROGRESS  BenchRole            
2026-07-03T07:43:14 CREATE_IN_PROGRESS  BenchSecurityGroup   
2026-07-03T07:43:15 CREATE_IN_PROGRESS  BenchRole            Resource creation Initiated
2026-07-03T07:43:15 CREATE_IN_PROGRESS  BenchSecurityGroup   Resource creation Initiated
2026-07-03T07:43:17 CREATE_IN_PROGRESS  BenchSecurityGroup   Eventual consistency check initiated
2026-07-03T07:43:17 CREATE_COMPLETE     BenchSecurityGroup   Resource operation completed using Express Mode.
2026-07-03T07:43:21 CREATE_IN_PROGRESS  BenchRole            Eventual consistency check initiated
2026-07-03T07:43:22 CREATE_IN_PROGRESS  BenchPolicy          
2026-07-03T07:43:22 CREATE_IN_PROGRESS  BenchInstanceProfile 
2026-07-03T07:43:23 CREATE_IN_PROGRESS  BenchInstanceProfile Resource creation Initiated
2026-07-03T07:43:23 CREATE_IN_PROGRESS  BenchPolicy          Resource creation Initiated
2026-07-03T07:43:23 CREATE_IN_PROGRESS  BenchInstanceProfile Eventual consistency check initiated
2026-07-03T07:43:23 CREATE_IN_PROGRESS  BenchPolicy          Eventual consistency check initiated
2026-07-03T07:43:23 CREATE_COMPLETE     BenchRole            Resource operation completed using Express Mode.
2026-07-03T07:43:23 CREATE_COMPLETE     BenchPolicy          Resource operation completed using Express Mode.
2026-07-03T07:43:24 CREATE_IN_PROGRESS  BenchInstance        
2026-07-03T07:43:24 CREATE_COMPLETE     BenchInstanceProfile Resource operation completed using Express Mode.
2026-07-03T07:43:32 CREATE_IN_PROGRESS  BenchInstance        Resource creation Initiated
2026-07-03T07:43:37 CREATE_IN_PROGRESS  BenchInstance        Eventual consistency check initiated
2026-07-03T07:43:37 CREATE_IN_PROGRESS  bench-sam-express-a  Eventual consistency check initiated
2026-07-03T07:43:39 CREATE_COMPLETE     BenchInstance        Resource operation completed using Express Mode.
2026-07-03T07:43:40 CREATE_COMPLETE     bench-sam-express-a  Stack operation completed using Express Mode.

検証B: Lambda + SQS

テンプレート(template.yaml)
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: 'Pattern B: Lambda + SQS (SAM Express mode benchmark)'

Globals:
  Function:
    Timeout: 10
    Runtime: python3.12
    MemorySize: 128

Resources:
  BenchQueue:
    Type: AWS::SQS::Queue
    Properties:
      QueueName: bench-express-queue
      VisibilityTimeout: 60

  BenchFunction:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: bench-express-function
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            for record in event.get('Records', []):
                print(f"Received: {record['body']}")
            return {"statusCode": 200}
      Events:
        SQSEvent:
          Type: SQS
          Properties:
            Queue: !GetAtt BenchQueue.Arn
            BatchSize: 10

結果

モード デプロイ時間
通常 93秒
Express 99秒
短縮 なし(むしろ6秒増加)

Express modeを有効にしても短縮効果は見られませんでした(今回は99秒とわずかに増えていますが、1回計測のため誤差の範囲と考えられます)。

なぜ効果が出ないのか

スタックイベントを見ると、通常モードでもIAM RoleやLambdaは CREATE_COMPLETE までが比較的短い(IAM Role: 約16秒、Lambda: 約8秒)ことが分かります。時間がかかっているのはBenchQueueの CREATE_COMPLETE までの区間(約61秒)です。

07:46:00 CREATE_IN_PROGRESS BenchQueue Resource creation Initiated
07:47:01 CREATE_COMPLETE     BenchQueue

Express modeがスキップするのは安定化待ちですが、BenchQueueの待ち時間はExpress modeでも短縮されませんでした。Express modeのスタックイベントでも、BenchQueueは CREATE_COMPLETE まで約60秒かかっています。

07:49:18 CREATE_IN_PROGRESS BenchQueue Resource creation Initiated
07:49:19 CREATE_IN_PROGRESS BenchQueue Eventual consistency check initiated
07:50:19 CREATE_COMPLETE     BenchQueue Resource operation completed using Express Mode.
スタックイベント全文(通常モード)
2026-07-03T07:45:51 REVIEW_IN_PROGRESS  bench-sam-normal-b       User Initiated
2026-07-03T07:45:57 CREATE_IN_PROGRESS  bench-sam-normal-b       User Initiated
2026-07-03T07:45:59 CREATE_IN_PROGRESS  BenchQueue               
2026-07-03T07:45:59 CREATE_IN_PROGRESS  BenchFunctionRole        
2026-07-03T07:46:00 CREATE_IN_PROGRESS  BenchQueue               Resource creation Initiated
2026-07-03T07:46:00 CREATE_IN_PROGRESS  BenchFunctionRole        Resource creation Initiated
2026-07-03T07:46:17 CREATE_COMPLETE     BenchFunctionRole        
2026-07-03T07:46:18 CREATE_IN_PROGRESS  BenchFunction            
2026-07-03T07:46:20 CREATE_IN_PROGRESS  BenchFunction            Resource creation Initiated
2026-07-03T07:46:28 CREATE_COMPLETE     BenchFunction            
2026-07-03T07:47:01 CREATE_COMPLETE     BenchQueue               
2026-07-03T07:47:02 CREATE_IN_PROGRESS  BenchFunctionSQSEvent    
2026-07-03T07:47:03 CREATE_IN_PROGRESS  BenchFunctionSQSEvent    Resource creation Initiated
2026-07-03T07:47:20 CREATE_COMPLETE     BenchFunctionSQSEvent    
2026-07-03T07:47:21 CREATE_COMPLETE     bench-sam-normal-b       
スタックイベント全文(Express mode)
2026-07-03T07:49:10 REVIEW_IN_PROGRESS  bench-sam-express-b      User Initiated
2026-07-03T07:49:15 CREATE_IN_PROGRESS  bench-sam-express-b      User Initiated
2026-07-03T07:49:17 CREATE_IN_PROGRESS  BenchFunctionRole        
2026-07-03T07:49:18 CREATE_IN_PROGRESS  BenchQueue               
2026-07-03T07:49:18 CREATE_IN_PROGRESS  BenchQueue               Resource creation Initiated
2026-07-03T07:49:19 CREATE_IN_PROGRESS  BenchQueue               Eventual consistency check initiated
2026-07-03T07:49:19 CREATE_IN_PROGRESS  BenchFunctionRole        Resource creation Initiated
2026-07-03T07:49:25 CREATE_IN_PROGRESS  BenchFunctionRole        Eventual consistency check initiated
2026-07-03T07:49:26 CREATE_IN_PROGRESS  BenchFunction            
2026-07-03T07:49:27 CREATE_COMPLETE     BenchFunctionRole        Resource operation completed using Express Mode.
2026-07-03T07:49:27 CREATE_IN_PROGRESS  BenchFunction            Resource creation Initiated
2026-07-03T07:49:31 CREATE_IN_PROGRESS  BenchFunction            Eventual consistency check initiated
2026-07-03T07:49:32 CREATE_COMPLETE     BenchFunction            Resource operation completed using Express Mode.
2026-07-03T07:50:19 CREATE_COMPLETE     BenchQueue               Resource operation completed using Express Mode.
2026-07-03T07:50:20 CREATE_IN_PROGRESS  BenchFunctionSQSEvent    
2026-07-03T07:50:21 CREATE_IN_PROGRESS  BenchFunctionSQSEvent    Resource creation Initiated
2026-07-03T07:50:41 CREATE_IN_PROGRESS  BenchFunctionSQSEvent    Eventual consistency check initiated
2026-07-03T07:50:41 CREATE_IN_PROGRESS  bench-sam-express-b      Eventual consistency check initiated
2026-07-03T07:50:42 CREATE_COMPLETE     BenchFunctionSQSEvent    Resource operation completed using Express Mode.
2026-07-03T07:50:43 CREATE_COMPLETE     bench-sam-express-b      Stack operation completed using Express Mode.

検証C: CloudFront + VpcOrigin + ALB

安定化待ちが長いリソース(CloudFront Distribution)と、作成自体に時間がかかるリソース(VpcOrigin)が混在する構成です。

テンプレート(template.yaml)
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: 'Pattern C: CloudFront + VPC Origin + ALB (SAM Express mode benchmark)'

Parameters:
  VpcId:
    Type: AWS::EC2::VPC::Id
  SubnetIds:
    Type: List<AWS::EC2::Subnet::Id>

Resources:
  BenchSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: ALB security group for benchmark
      VpcId: !Ref VpcId
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIp: 0.0.0.0/0

  BenchALB:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      Name: bench-express-alb
      Scheme: internal
      Type: application
      Subnets: !Ref SubnetIds
      SecurityGroups:
        - !Ref BenchSecurityGroup

  BenchListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      LoadBalancerArn: !Ref BenchALB
      Protocol: HTTP
      Port: 80
      DefaultActions:
        - Type: fixed-response
          FixedResponseConfig:
            StatusCode: '200'
            ContentType: text/plain
            MessageBody: OK

  BenchVpcOrigin:
    Type: AWS::CloudFront::VpcOrigin
    Properties:
      VpcOriginEndpointConfig:
        Name: bench-express-vpc-origin
        Arn: !Ref BenchALB
        HTTPPort: 80
        HTTPSPort: 443
        OriginProtocolPolicy: http-only

  BenchDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        Enabled: true
        Origins:
          - Id: vpc-origin
            DomainName: !GetAtt BenchALB.DNSName
            VpcOriginConfig:
              VpcOriginId: !Ref BenchVpcOrigin
        DefaultCacheBehavior:
          TargetOriginId: vpc-origin
          ViewerProtocolPolicy: allow-all
          CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6

結果

モード デプロイ時間
通常 819秒(約13分40秒)
Express 765秒(約12分45秒)
短縮 54秒(1.07倍)

効果は限定的でした。

ボトルネック分析

スタックイベントから各リソースの所要時間を抜き出します。

リソース 通常 Express 短縮効果
SecurityGroup 7秒 2秒 ◎
ALB 2分33秒 2分52秒 ✗
VpcOrigin 8分10秒 9分23秒 ✗
Distribution 2分34秒 4秒 ◎

CloudFront Distributionは通常モードで2分34秒かかっていたところ、Express modeでは4秒で完了しています。安定化待ちのスキップが効いています。

しかし、VpcOriginは作成完了までに9分以上を要しており、Express modeでも短縮されません。ネットワーク接続の確立に時間がかかっていると推測されますが、いずれにせよ安定化待ちではなくリソース作成自体の処理時間です。

全体のクリティカルパスは ALB作成(3分) → VpcOrigin作成(9分) → Distribution作成 です。Distributionが4秒になっても前段のVpcOriginが支配的なため、全体への効果は54秒の短縮に留まりました。

なお、ALBとVpcOriginはExpress modeの方がわずかに長くなっていますが、1回計測のため実行タイミングによる変動の可能性があります。この結果だけではExpress modeが遅延の原因とは判断できません。

スタックイベント全文(通常モード)
2026-07-03T08:06:41 REVIEW_IN_PROGRESS  bench-sam-normal-c   User Initiated
2026-07-03T08:06:52 CREATE_IN_PROGRESS  bench-sam-normal-c   User Initiated
2026-07-03T08:06:54 CREATE_IN_PROGRESS  BenchSecurityGroup   
2026-07-03T08:06:57 CREATE_IN_PROGRESS  BenchSecurityGroup   Resource creation Initiated
2026-07-03T08:07:03 CREATE_COMPLETE     BenchSecurityGroup   
2026-07-03T08:07:04 CREATE_IN_PROGRESS  BenchALB             
2026-07-03T08:07:07 CREATE_IN_PROGRESS  BenchALB             Resource creation Initiated
2026-07-03T08:09:40 CREATE_COMPLETE     BenchALB             
2026-07-03T08:09:40 CREATE_IN_PROGRESS  BenchVpcOrigin       
2026-07-03T08:09:40 CREATE_IN_PROGRESS  BenchListener        
2026-07-03T08:09:41 CREATE_IN_PROGRESS  BenchListener        Resource creation Initiated
2026-07-03T08:09:42 CREATE_COMPLETE     BenchListener        
2026-07-03T08:09:42 CREATE_IN_PROGRESS  BenchVpcOrigin       Resource creation Initiated
2026-07-03T08:17:52 CREATE_COMPLETE     BenchVpcOrigin       
2026-07-03T08:17:53 CREATE_IN_PROGRESS  BenchDistribution    
2026-07-03T08:17:57 CREATE_IN_PROGRESS  BenchDistribution    Resource creation Initiated
2026-07-03T08:20:31 CREATE_COMPLETE     BenchDistribution    
2026-07-03T08:20:31 CREATE_COMPLETE     bench-sam-normal-c   
スタックイベント全文(Express mode)
2026-07-03T08:32:12 REVIEW_IN_PROGRESS  bench-sam-express-c  User Initiated
2026-07-03T08:32:22 CREATE_IN_PROGRESS  bench-sam-express-c  User Initiated
2026-07-03T08:32:25 CREATE_IN_PROGRESS  BenchSecurityGroup   
2026-07-03T08:32:26 CREATE_IN_PROGRESS  BenchSecurityGroup   Resource creation Initiated
2026-07-03T08:32:27 CREATE_IN_PROGRESS  BenchSecurityGroup   Eventual consistency check initiated
2026-07-03T08:32:27 CREATE_IN_PROGRESS  BenchALB             
2026-07-03T08:32:28 CREATE_COMPLETE     BenchSecurityGroup   Resource operation completed using Express Mode.
2026-07-03T08:32:29 CREATE_IN_PROGRESS  BenchALB             Resource creation Initiated
2026-07-03T08:32:54 CREATE_IN_PROGRESS  BenchALB             Eventual consistency check initiated
2026-07-03T08:35:21 CREATE_COMPLETE     BenchALB             Resource operation completed using Express Mode.
2026-07-03T08:35:21 CREATE_IN_PROGRESS  BenchListener        
2026-07-03T08:35:21 CREATE_IN_PROGRESS  BenchVpcOrigin       
2026-07-03T08:35:22 CREATE_IN_PROGRESS  BenchListener        Resource creation Initiated
2026-07-03T08:35:22 CREATE_IN_PROGRESS  BenchListener        Eventual consistency check initiated
2026-07-03T08:35:23 CREATE_COMPLETE     BenchListener        Resource operation completed using Express Mode.
2026-07-03T08:35:23 CREATE_IN_PROGRESS  BenchVpcOrigin       Resource creation Initiated
2026-07-03T08:44:46 CREATE_IN_PROGRESS  BenchVpcOrigin       Eventual consistency check initiated
2026-07-03T08:44:47 CREATE_IN_PROGRESS  BenchDistribution    
2026-07-03T08:44:47 CREATE_COMPLETE     BenchVpcOrigin       Resource operation completed using Express Mode.
2026-07-03T08:45:02 CREATE_IN_PROGRESS  BenchDistribution    Resource creation Initiated
2026-07-03T08:45:03 CREATE_IN_PROGRESS  BenchDistribution    Eventual consistency check initiated
2026-07-03T08:45:03 CREATE_IN_PROGRESS  bench-sam-express-c  Eventual consistency check initiated
2026-07-03T08:45:06 CREATE_COMPLETE     BenchDistribution    Resource operation completed using Express Mode.
2026-07-03T08:45:07 CREATE_COMPLETE     bench-sam-express-c  Stack operation completed using Express Mode.

考察: Express modeが効くケース・効かないケース

Express modeが効果を発揮する条件:

リソース作成自体は短時間で終わるものの、安定化待ち(Stabilization)に時間を要するリソースがボトルネックになっている場合です。

  • IAM InstanceProfile: 作成自体は瞬時だが、通常モードでは安定化に2分10秒待つ → Express modeで約1秒に
  • CloudFront Distribution: 通常モード2分34秒 → Express mode 4秒に

Express modeが効果を発揮しにくい条件:

Express modeでも短縮されない待ち時間が、依存チェーン上のボトルネックとして残る場合です。

  • SQS Queue: CREATE_COMPLETE まで約60秒かかり、Express modeでも同程度
  • CloudFront VpcOrigin: CREATE_COMPLETE まで8〜9分かかり、Express modeでも短縮されなかった

判断基準として:

CREATE_COMPLETE までの待ち時間がExpress modeでも短縮されないリソースがボトルネックなら、全体の効果は限定的です。InstanceProfileやDistributionのようにExpress modeで大きく短縮されるリソースが依存チェーン上にある構成では、効果は大きくなります。自分のスタックで確認するには aws cloudformation describe-stack-events で各リソースの所要時間を見るのが手軽です。

--save-params による永続化

--save-params を併用すると samconfig.toml に設定が保存され、以降は sam deploy だけでExpress modeが有効になります。

sam deploy --express --save-params

sam sync にも --express が追加されており、インフラ同期時にも併用できます。

まとめ

SAM CLI v1.163.0の --express フラグにより、CloudFormation Express modeを sam deploy から利用できるようになりました。

本検証では、EC2 + InstanceProfile構成では225秒から38秒へと5.9倍高速化しました。一方、Lambda + SQS構成ではSQS Queueの CREATE_COMPLETE までの待ち時間がExpress modeでも残り、短縮効果は見られませんでした。CloudFront + VpcOrigin + ALB構成でも、Distributionは大きく短縮されたものの、VpcOriginの作成時間が支配的で全体の短縮は1.07倍に留まりました。

Express modeは、短縮可能な安定化待ちがクリティカルパス上にある場合に効果が大きい機能です。自分のスタックで効果が出るかどうかは、スタックイベントから「何に時間がかかっているか」を確認した上で判断するのが良さそうです。

参考リンク

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事