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을 사용할 수 없다.
  • 일련의 작업 순서를 지정하려면 첫 번째 작업에는 가장 작은 숫자를 사용하고 나머지 작업에는 순차적으로 더 큰 숫자를 사용한다.
  • 병렬 조치를 지정하려면 병렬로 실행할 각 조치에 동일한 정수를 사용한다.