The Multi-Region Infrastructure Deployment guidance helps customers more easily control updates to infrastructure for applications that are deployed across primary and secondary Regions. This guidance sets up multi-region architectures and maintains consistency of workloads. This guidance 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.
The diagram below presents the architecture you can build using the example code on GitHub.
Multi-Region Infrastructure Deployment guidance architecture
The guidance 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.
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.