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 함수가 호출되어 해당 변경 사항이 프로덕션 인프라 변경으로 이어지는지 확인합니다. cfn-nag와 cfn-lint를 사용한 보안 및 스타일 검사로 GitHub 리포지토리의 AWS CloudFormation 템플릿을 검증합니다. AWS CloudFormation 스택은 최신 AWS CloudFormation 템플릿으로 업데이트됩니다. 이 템플릿은 AWS CodePipeline 콘솔에서 직접 승인해야 합니다. 템플릿이 승인되고 나면 AWS CloudFormation 스택이 종료되고 기본 리전의 기본 AWS CloudFormation 스택과 보조 리전의 보조 AWS CloudFormation 스택이 배포됩니다.