Multi-Region Infrastructure Deployment ガイダンスは、プライマリリージョンとセカンダリリージョンにデプロイされたアプリケーションのインフラストラクチャへの更新をより簡単に制御できるようにします。このガイダンスは、マルチリージョンアーキテクチャをセットアップし、ワークロードの一貫性を維持します。このガイダンスは、AWS CodePipeline を自動的にプロビジョニングおよび設定して、AWS クラウド内の CloudFormation テンプレートの継続的インテグレーション/継続的デリバリー (CI/CD) パイプラインを自動化します。AWS CodePipeline は継続的インテグレーション (CI) オーケストレーションサービスであり、デベロッパーがソフトウェアを迅速にデプロイして管理するのに役立つ複数のデプロイオプションを備えています。AWS CodePipeline を使用すると、AWS CloudFormation テンプレートが変更されるたびに、それらを継続的に簡単にビルドしてテストできます。
概要
下の図表は、GitHub にあるサンプルコードを使って構築できるアーキテクチャを示しています。

Multi-Region Infrastructure Deployment のガイダンスアーキテクチャ
このガイダンスは AWS CodePipeline を使用して継続的インテグレーション/継続的デリバリー (CI/CD) パイプラインを主要リージョンにデプロイします。AWS CodePipeline は、GitHub リポジトリの変更を自動的に検出するとともに、現在のソースコードを GitHub から自動的に取得し、そのコードを暗号化して Amazon Simple Storage Service (Amazon S3) バケットに保存し、一連の検証ステップとデプロイステージを介してプッシュします。AWS CloudFormation テンプレートをデプロイするときに、AWS CloudFormation スタックを保持するか削除するかを選択できます。次のワークフローは、手動承認後に AWS CloudFormation スタックを削除することを選択した場合に発生します。
変更が GitHub リポジトリにプッシュされると、AWS Lambda 関数は AWS Systems Manager パラメータをチェックして、ステージ AWS CloudFormation スタックに既存の AWS CodePipeline アーティファクトがあるかどうかを判断します。その後、AWS CloudFormation の変更セットが作成され、その変更によって実稼働インフラストラクチャに変更が生じるか確認するための AWS Lambda 関数が呼び出されます。ご使用の GitHub リポジトリの AWS CloudFormation テンプレートは、cfn-nag と cfn-lint を使用して安全性とスタイルについて検証されます。AWS CloudFormation スタックは、最新の AWS CloudFormation テンプレートに更新されます。テンプレートは、AWS CodePipeline コンソールで手動で承認する必要があります。承認されると、AWS CloudFormation スタックが終了し、プライマリリージョンのプライマリ AWS CloudFormation スタックとセカンダリリージョンのセカンダリ AWS CloudFormation スタックがデプロイされます。