1. 개요
CloudFormation에 대한 내용
2. 활용 예제
2.1. 그룹 분리
두 그룹으로 분리하여 일반 사용자 그룹은 사전에 정의된 VPC에서만 Template을 배포할 수 있다. 그러나 관리자 그룹은 제약이 없으며 다른 아마존 서비스에도 접근할 수 있어야 한다.
- Template을 S3에 저장하고 Template 기반으로 제품 포트폴리오를 생성하기 위해 Service Catalog을 이용한다.
- Template에는 VPC를 제한하는 rule을 적용한다.
- 일반 사용자 그룹이 포트폴리오에 접근할 수 있도록 IAM 그룹을 만들고, 관리자 그룹을 위한 IAM 그룹도 만든다.
2.2. 배포 전략
리다이렉션은 피해야 한다. 그리고 정해진 비율(%)이 아니고 랜덤하게 할당된 사용자를 대상으로 배포하려고 한다.
- CloudFront가 요청을 받았을 때 쿠키 설정을 위해 Lambda@Edge 함수를 사용하는 CloudFront를 구성한다.
- 사용자는 A버전 또는 B버전에 할당하고, 사용자에게 해당버전을 응답한다.
2.3. 배포 환경
- 각 환경에서 Input 파라미터 사요을 위해 CodePipeline 파이프라인을 설계한다.
- CloudFormation mapping을 사용하여 시작되는 환경과 일치하도록 Amazon EC2 인스턴스의 관련 UserData를 전환한다.
3. 기타 지식
3.1. runOrder
- runOrder의 기본값은 1이다. 값은 자연수여야한다. 분수, 소수, 음수 또는 0을 사용할 수 없다.
- 일련의 작업 순서를 지정하려면 첫 번째 작업에는 가장 작은 숫자를 사용하고 나머지 작업에는 순차적으로 더 큰 숫자를 사용한다.
- 병렬 조치를 지정하려면 병렬로 실행할 각 조치에 동일한 정수를 사용한다.