Extending CloudFormation

Typically, extensions to CloudFormation are required if your application uses third-party services and you want to include the provisioning of the third-party resources in your CloudFormation template. Extensions to CloudFormation may also be required for AWS services that are not currently supported by CloudFormation, or if you have a requirement to provision on-premises resources as a part of your stack. Two ways of including such resources in your CloudFormation stack are discussed here.

In the first approach, for achieving a tighter integration of such services or custom resources, in our stack the third-party service provider will need to expose a service that can process incoming provisioning-related create, update, and delete requests. CloudFormation will send a message to the third-party service and wait for a response. Upon a success response, CloudFormation will continue with its stack creation process, otherwise it will fail out. This way, CloudFormation can treat the entire stack including the external resources as a single unit that either succeeds fully or fails out in its entirety.

The second approach leverages stack events to achieve the same results. For example, if you want your web application to provision a subscription to a third-party service, then while CloudFormation provisions your web application it produces certain stack events. CloudFormation delivers these events to an SNS topic that is subsequently picked up by a provisioning application (that you have to write) in order to subscribe to the third-party resource. This approach is not as robust as the previous one because CloudFormation is not aware of failure during the provisioning of the third-party service. 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.188.27