Menu
AWS Service Catalog Validation Pipeline
AWS Service Catalog Validation Pipeline

Automated Deployment

Before you launch the automated deployment, please review the implementation considerations and prerequisites discussed in this guide. Follow the step-by-step instructions in this section to configure and deploy the AWS Service Catalog Validation Pipeline into your account.

Time to deploy: Approximately 10 minutes

Prerequisites

Before you deploy the AWS Service Catalog Validation Pipeline, you must complete these tasks:

What We'll Cover

The procedure for deploying this architecture on AWS consists of the following steps. For detailed instructions, follow the links for each step.

Step 1. Prepare the Parameter and Configuration Files

As explained in Configuration Files, the AWS Service Catalog Validation Pipeline leverages the AWS Quick Start framework for automated testing, and uses customer-managed files to define how and where to launch test stacks. These include parameter files that define stack values, and a configuration file that defines which parameters and regions to use for testing.

  1. Prepare a parameters file(s) for your test product stacks. For detailed guidance and a list of supported variables, see the Quick Start Automated Validation user guide.

  2. The solution includes a default config.yml file that you can modify and commit to your repository. Go to this URL to download the configuration file locally.

  3. In the configuration file, add references to your parameters file(s) as applicable.

  4. Review and modify the test regions as necessary.

  5. Commit both the parameter file(s) and configuration file to the ci folder in your repository.

Step 2. Launch the Central Microservices Stack

Use this procedure to launch the Central Microservices template. Deploy this template once per AWS Region, even if you plan to validate multiple repositories within the same region.

Note

You are responsible for the cost of the AWS services used while running this solution. See the Cost section for more details. For full details, see the pricing webpage for each AWS service you will be using in this solution.

  1. Sign in to the AWS Management Console and click the button below to launch the central-microservices AWS CloudFormation template.

    
                                Launch button for Central Microservices stack

    You can also download the template as a starting point for your own implementation.

  2. The template is launched in the US East (N. Virginia) Region by default. To launch the Central Microservices stack in a different AWS Region, use the region selector in the console navigation bar.

    Important

    You must launch this template in the same AWS Region as your AWS CodeCommit repository. This must be a region that supports AWS CodePipeline, AWS CodeBuild, and AWS CodeCommit. See the AWS website for the most current service availability by region.

  3. On the Select Template page, verify that you selected the correct template and choose Next.

  4. On the Specify Details page, assign a name to your Central Microservices stack.

  5. Under Parameters, enter an AWS Service Catalog service role in the Provision Products Role ARN parameter. This role must have the appropriate permissions to deploy the resources in your test stacks. For more information see IAM Roles.

  6. Choose Next.

  7. On the Options page, choose Next.

  8. On the Review page, review and confirm the settings. Be sure to check the box acknowledging that the template will create AWS Identity and Access Management (IAM) resources.

  9. Choose Create to deploy the stack.

    You can view the status of the stack in the AWS CloudFormation console in the Status column. You should see a status of CREATE_COMPLETE in approximately one minute.

Step 3. Launch the Main Pipeline Stack

The Main Pipeline template automatically deploys services that work together with the central microservices to create a validation pipeline for AWS Service Catalog product templates in a specific repository. Complete this procedure for each repository with templates you want to validate, even if they are in the same AWS Region.

Note

You are responsible for the cost of the AWS services used while running this solution. See the Cost section for more details. For full details, see the pricing webpage for each AWS service you will be using in this solution.

  1. Sign in to the AWS Management Console and click the button below to launch the main-sc-pipeline AWS CloudFormation template.

    
                                Launch button for Main Pipeline stack

    You can also download the template as a starting point for your own implementation.

  2. The template is launched in the US East (N. Virginia) Region by default. To launch the Main Pipeline stack in a different AWS Region, use the region selector in the console navigation bar.

    Important

    You must launch this template in the same AWS Region as your AWS CodeCommit repository. This must be a region that supports AWS Service Catalog, AWS CodePipeline, AWS CodeBuild, and AWS CodeCommit. See the AWS website for the most current service availability by region.

  3. On the Select Template page, verify that you selected the correct template and choose Next.

  4. On the Specify Details page, assign a name to your Main Pipeline stack.

  5. Under Parameters, review the parameters for the template, and modify them as necessary. This solution uses the following default values.

    Parameter Default Description
    Repository Name <Requires input> The AWS CodeCommit repository to use as the pipeline source
    Branch master The AWS CodeCommit repository branch to monitor
    Primary Email <Requires input> The primary email to notify for pending manual approvals and pipeline execution notifications
    Secondary Email <Optional input> The secondary email to notify for pending manual approvals and pipeline execution notifications
    Manual Approval Yes Require manual approval before uploading a template to Amazon S3
    Provision Products Role ARN <Requires input> The AWS Service Catalog service role with the appropriate permissions to launch test stacks. Choose the same role you used in Step 2. Launch the Central Microservices Stack. For more information see IAM Roles.
    Delete Successful Provisioned Products Yes When any test product stack fails, delete all other test stacks that are in a complete or in-progress state
    Retention Period: Successful Provisioned Products 2 If you chose Yes for the previous parameter (Delete Successful Stacks), enter the number of days to retain successful test stacks before automatic deletion.
    Delete Previous Provisioned Products Yes Delete test product stacks from previous pipeline executions before creating new test product stacks
    Delete Failed Provisioned Products No Delete test stacks that are in a failed state
    Retention Period: Failed Provisioned Products 2 If you chose Yes for the previous parameter (Delete Failed Stacks), enter the number of days to retain failed test stacks before automatic deletion.
    Logical (Pre-Stack-Create) Tests
    1st Test <Optional input> Enter the name of a pre-create Lambda function or other action (test).
    2nd Test <Optional input> Enter the name of a pre-create Lambda function or other action (test).
    3rd Test <Optional input> Enter the name of a pre-create Lambda function or other action (test).
    4th Test <Optional input> Enter the name of a pre-create Lambda function or other action (test).
    Functional (Post-Stack-Create) Tests
    1st Test <Optional input> Enter the name of a post-create Lambda function or other action (test).
    2nd Test <Optional input> Enter the name of a post-create Lambda function or other action (test).
    3rd Test <Optional input> Enter the name of a post-create Lambda function or other action (test).
    4th Test <Optional input> Enter the name of a post-create Lambda function or other action (test).
  6. Choose Next.

  7. On the Options page, choose Next.

  8. On the Review page, review and confirm the settings. Be sure to check the box acknowledging that the template will create IAM resources.

  9. Choose Create to deploy the stack.

    You can view the status of the stack in the AWS CloudFormation console in the Status column. You should see a status of CREATE_COMPLETE in approximately five minutes. In the Outputs tab, you will see the Amazon S3 bucket (DeploymentBucket) the template created.