What does this AWS Solutions Implementation do?
The Multi-Region Infrastructure Deployment solution helps customers more easily control updates to infrastructure for applications that are deployed across primary and secondary Regions. This solution sets up multi-region architectures and maintains consistency of workloads. This solution automatically provisions and configures AWS CodePipeline to automate the continuous integration/continuous delivery (CI/CD) pipeline for CloudFormation templates in the AWS Cloud. AWS CodePipeline is a continuous integration (CI) orchestration service with multiple deployment options to help developers quickly deploy and manage their software. Using AWS CodePipeline makes it easy to continuously build and test AWS CloudFormation templates whenever they change.
AWS Solutions Implementation overview
When you deploy the AWS CloudFormation template, you have the option to either delete or retain the AWS CloudFormation stack. The diagram below presents the default option to delete the AWS CloudFormation stack after deployment. Refer to the implementation guide for guidance to retain the AWS CloudFormation stack after deployment.
Multi-Region Infrastructure Deployment solution architecture
The solution's AWS CloudFormation template deploys a continuous integration/continuous delivery (CI/CD) pipeline in the primary Region using AWS CodePipeline. AWS CodePipeline automatically detects changes in the GitHub repository and pulls the current source code from GitHub, encrypts and stores the code in an Amazon Simple Storage Service (Amazon S3) bucket, and pushes it through a series of validation steps and deployment stages. When you deploy the AWS CloudFormation template, you have the option to either retain or delete the AWS CloudFormation stack. The following workflow occurs when you choose to delete the AWS CloudFormation stack after manual approval.
When a change is pushed to the GitHub repository, an AWS Lambda function checks the AWS Systems Manager parameter to determine if there is an existing AWS CodePipeline artifact for the stage AWS CloudFormation stack. Then, an AWS CloudFormation change set is created and an AWS Lambda function is invoked to check if the changes will result in a change to your production infrastructure. The AWS CloudFormation template from your GitHub repository is then validated with security and style checks using cfn-nag and cfn-lint. The AWS CloudFormation stack updates to the latest AWS CloudFormation template. The template must be manually approved in the AWS CodePipeline console. Once approved, the AWS CloudFormation stack terminates and the primary AWS CloudFormation stack in the primary Region and the secondary AWS CloudFormation stack in the secondary Region deploy.
Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.
Browse our library of AWS Solutions Implementations to get answers to common architectural problems.
Find AWS certified consulting and technology partners to help you get started.
Browse our portfolio of Consulting Offers to get AWS-vetted help with solution deployment.