CloudFormation이란: https://jibinary.tistory.com/442
CloudFormation 템플릿을 여러 리전 & 계정에서 공유하는 법
CloudFormation StackSets
CloudFormation StackSets는 여러 AWS 계정과 리전(region)에서 동일한 인프라 스택(Stack)을 배포하고 관리할 수 있게 해준다. CloudFormation 템플릿 하나만 있다면 여러 AWS 계정과 리전에 일관된 AWS 리소스를 자동으로 배포하고 업데이트할 수 있다.
StackSets의 주요 개념
스택셋(StackSet)
여러 리전과 계정에 걸쳐 동일한 템플릿을 적용할 수 있도록 만든 일종의 배포 세트입니다.
StackSet을 생성하면, 각 AWS 계정과 리전에서 동일한 스택을 생성하고 관리할 수 있다.
AWS Organizations와 통합하면, 조직의 모든 계정에 쉽게 StackSets를 배포할 수 있다.
스택 인스턴스(Stack Instance)
Stack Instance는 StackSet을 사용하여 특정 계정과 리전에 생성된 개별 스택이다.
사용 예시
예를 들어, 회사가 여러 AWS 계정과 여러 리전에서 네트워크 설정이나 공통 인프라를 배포하려고 할 경우
- AWS 계정과 리전을 대상으로 StackSet를 생성한다
- StackSet을 통해 각 계정과 리전에 Stack Instance를 배포한다
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html
🤔 문제
개발자는 API의 지리적 로드 테스트를 수행해야 합니다. 이를 위해 여러 AWS 리전에 리소스를 배포해야 합니다. 추가 애플리케이션 코드를 작성하지 않고 이 요구 사항을 충족하는 방법은 무엇입니까?
A. 각 원하는 리전에 AWS Lambda 함수를 생성하고 배포합니다. 함수가 호출될 때 해당 리전에서 AWS CloudFormation 템플릿으로 스택을 생성하도록 Lambda 함수를 구성합니다.
B. 로드 테스트 리소스를 정의하는 AWS CloudFormation 템플릿을 생성합니다. AWS CLI의 create-stack-set 명령을 사용하여 원하는 리전에서 스택 세트를 생성합니다.
C. 리소스를 정의하는 AWS Systems Manager 문서를 생성합니다. 해당 문서를 사용하여 원하는 리전에서 리소스를 생성합니다.
D. 로드 테스트 리소스를 정의하는 AWS CloudFormation 템플릿을 생성합니다. AWS CLI의 deploy 명령을 사용하여 각 리전에서 템플릿에서 스택을 생성합니다.
정답
정답. 2번
하나의 CloudFormation 템플릿으로 create-stack-set을 통해 여러 리전이나 AWS 계정에 같은 스택을 배포 할 수 있다.