728x90
728x90
CloudFormation이란?
- AWS 리소스들을 자동으로 생성해주는 IaC도구
- AWS 구성을 재사용하기 쉽게 코드로 작성해두는 것
Ansible과의 차이점
- Ansible은 리소스 구성을 넘어서 서버 운영까지 자동화 : DevOps에 더 가까움
- CloudFormation은 리소스 구성만 하는 말 그대로의 IaC
작동 방법
템플릿 작성 -> 템플릿 업로드 -> 스택 생성 -> 스택 설정 및 리소스 생성
- 리소스 구성들을 코드화한 템플릿을 작성하여 해당 템플릿으로 스택을 생성하면, 자동으로 리소스들이 생성된다
- 템플릿은 JSON 또는 YAML 형식으로 작성된다. 여기선 YAML 형식으로 진행하도록 하겠다
템플릿 구조
1) AWSTemplateFormatVersion (포맷 버전)
- 템플릿의 기능을 식별한다
- 현재 유일한 유효 값은
2010-09-09
이다
2) Description
- 템플릿에 대한 설명
- 선택사항이긴 하나 이 템플릿에 대한 전체적인 설명을 해주는게 좋다
3) Parameter
- 스택 생성 시 넘겨지는 파라미터들
- 템플릿 내부에서 Ref 함수로 참조한다
- 선택사항
4) Resources (주 내용)
- 말 그대로 AWS 내에서 생성될 리소스들을 뜻함
- YAML에서의 구조
Resources:
Logical ID:
Type: Resource type
Properties:
Set of properties
Logical ID
: 해당 템플릿 내의 고유한 id. 이 이름을 가지고 다른 리소스를 참조한다Resource Type
: 리소스 유형 (VPC인지 EC2인지 등등..)Properties
: 각각의 리소스별로 필요한 속성들을 작성해준다
얘네 말고도 Mapping, Outputs 등이 있지만 일단 진행하면서 나중에 설명하도록 하겠다
모듈식 설계 사용
스택4 | 앱1 | 앱2 | 앱3 | 앱4 | 앱5 | 앱6 | EC2 등 |
스택3 | 애플리케이션 아키텍처1 | 애플리케이션 아키텍처2 | 애플리케이션 아키텍처3 | ELB, S3 등 | |||
스택2 | VPC 옵션1 | VPC 옵션2 | VPC | ||||
스택1 | IAM 구성 | IAM |
쪼개서 선택적으로 배포하는 식으로 사용한다고 한다
Stacksets - 여러 템플릿을 그룹핑해서 다중 리전에 해당 템플릿들을 한번에 배포
728x90
728x90
'공부 > IaC' 카테고리의 다른 글
[AWS CloudFormation] #2 파라미터 사용하기 (VPC 구성) (0) | 2021.01.05 |
---|---|
[AWS CloudFormation] #1 간단 VPC 구성 (VPC, Subnet, IGW, NAT, RT) (0) | 2021.01.05 |
[Ansible] Role 사용법과 변수 파일(vars) 설정, 암호화 (1) | 2020.11.11 |
[Ansible] Ansible로 Git 레포지토리 연결하기 (0) | 2020.11.08 |
[Ansible] Ansible 기초 개념과 AWS에서 사용하기(VPC, EC2) (0) | 2020.11.08 |
댓글