What does this AWS Solution do?

AWS Service Catalog allows companies to centrally manage commonly deployed IT services, helping to achieve consistent governance and meet compliance requirements. With AWS Service Catalog, you can control which products are available to your end users, enabling them to quickly deploy only the approved services and versions they need. When creating a new AWS Service Catalog product, companies most commonly import an AWS CloudFormation template that defines the AWS resources required for the product, relationships between resources, and customizable parameters. AWS CloudFormation stacks make it easier to manage, provision, update, and terminate a product as a single unit. However, some companies rely on manual processes to validate their product templates, which can lead to inconsistencies and wasted time.

To help customers more easily and more reliably create and manage their AWS Service Catalog products, AWS offers the AWS Service Catalog Validation Pipeline solution. This reference implementation uses AWS Developer Tools to build a pipeline that integrates DevOps best practices for continuous integration and automatic testing of new and updated product templates. The solutions uses AWS CloudFormation to automatically provision and configure the necessary services, including AWS CodePipeline, AWS CodeBuild, and AWS Lambda, to run a set of customizable tests for logical and functional integrity against product templates.

The following sections assume basic knowledge of DevOps practices, AWS CloudFormation, and architecting on the AWS Cloud.

AWS Solution overview

AWS offers a solution that automatically provisions and configures the AWS services necessary to create a validation pipeline for AWS Service Catalog product templates. The diagram below presents the components and functionality you can build using the AWS Service Catalog Validation Pipeline implementation guide and accompanying AWS CloudFormation template.

 Click to enlarge

AWS Service Catalog Validation Pipeline solution architecture

AWS CodePipeline monitors your AWS CodeCommit repository (the pipeline source) for new or modified AWS CloudFormation templates. An AWS Lambda function runs logical pre-create tests on the template code, including a default test on template syntax, an optional test that uses AWS CodeBuild, and any user-defined tests.

A Lambda function launches test product stacks in multiple AWS Regions, as defined in a customer-provided configuration file. Another Lambda function runs user-defined functional post-create tests on the test stacks.

If all tests are successful, the solution sends an Amazon Simple Notification Service (Amazon SNS) email notification to let you know that the product template is ready for manual approval in AWS CodePipeline.

Once approved, the pipeline invokes a Lambda function that deploys the product template to a solution-created Amazon Simple Storage Service (Amazon S3) bucket, where it also stores Amazon CloudWatch data on each Lambda function.

AWS Service Catalog Validation Pipeline

Version 1.0
Last updated: 09/2017
Author: AWS

Estimated deployment time: 10 min

Source code  CloudFormation template 


AWS Service Catalog Validation Pipeline reference implementation

Leverage the AWS Service catalog Validation Pipeline out of-the-box, or as a reference implementation for building your own validation pipeline.

Continuous delivery

This solution creates a validation pipeline that is scoped for continuous integration of AWS CloudFormation templates hosted in an AWS CodeCommit repository.

Demo environment

The solution includes a supplementary AWS CloudFormation template that configures a fully functioning demo environment, enabling customers to experiment with pipeline functionality while familiarizing themselves with AWS CloudFormation best practices.
Explore all AWS Solutions

Browse our portfolio of AWS-built solutions to common architectural problems.

Learn more 
Find a Partner

Find AWS certified consulting and technology partners to help you get started.

Learn more 
Start building in the console

Sign-up and start exploring our services.

Get started