Custom Resource with CloudFormation


Use Case

If you include execution of a Lambda in your CloudFormation template and you update your Lambda Code, CloudFormation will not execute your Custom Resource again unless it detects that the template or parameters have been changed. Here are two Workarounds to invoke Custom Resources after CFN Update.

Workaround 1: Include a Parameter

A very easy way to execute the Custom Resource every time when your Lambda changed is to add a parameter to your Custom Resource (eg. a timestamp, which will always be different) - if this parameter changes, the custom resources will automatically be executed again.

    Type: String
    Default: 201906010800
    Type: 'Custom::ExecuteLambda'
      ServiceToken: !GetAtt
        - Lambda
        - Arn
      Timestamp: !Ref LambdaExecutionTimestamp

Workaround 2: Use SNS to invoke the Custom Ressource

Use an SNS trigger to invoke your Custom Resource, when your Cloudformation Stack is updated.

Use SNS to invoke the Custom Ressource

Addtional Information: Handling AWS Cloudformation Events


AWS Marketplace Automation

Share Marketplace subscriptions with your AWS Organization


Jul 21st 2021


David Krohn

Encryption of SSM session data using KMS

Encrypting session data to handle confidential data interactions


Jun 11th 2021


David Krohn

CloudFront Functions

Run your code highly favorable and next to your Customer


May 31st 2021


David Krohn