Aws Iac - CloudFormation(1) 이란?

2023. 11. 13. 15:55Devops

반응형

Aws cloudFormation이란 -> 추가요금 없이 애플리케이션 실행에 필요한 Aws 리소스를 스크립트로 작성하여 생성 할 수 있는 IAC툴

 

CloudFormation의 장점

1. 인프라 관리가 간소해진다(web,db,LB,Auto scaling etc.. 구성하는데 시간이 오래 걸린다) -> 템플릿 사용하여  stack 생성 하면 web, DB, LB, Auto Scaling 등이 자동으로 프로비저닝이 된다.

2. 신속하게 인프라 복제가 가능(기존 템플릿을 재사용하여 여러 리전에서 동일한 리소스를 반복적으로 프로비저닝 가능)

3. 인프라 변경사항을 쉽게 제어 및 추적이 가능(인프라의 프로비저닝을 위한 리소스와 해당 설정이 템플릿에 저장 되기 때문) 

 

Cloud Formation 작동 방식

1. yaml/JSON 포맷으로 CloudFormation 템플릿을 작성하여, 수행하기를 원하는 인프라에 대한 정보를 코드로 작성.

2. CloudFormation 템플릿을 Local or S3에 저장하여 사용 (JSON,yaml,TXT형식)

3. Aws 콘솔 , CLI, API call을 통하여 실행

4. 템플릿에 저장된  stack을 통하여 aws리소스에 대한 프로비저닝 구성 작업을 진행한다.

 

Cloud Formation 구성 요서

- Template : stack리소스 프로비저닝 및 구성을 위해 필요한 파일(JSON, yaml 파일 형식)

- CloudFormation :  stack생성, stack에 대한 변경사항을 확인 및 업데이트, stack생성 및 변경시 error발생하면 롤백 진행

- Stack : 하나의 단위로 관리 할 수 있는, aws 리소스 모음 , stack의 생성/수정/삭제를 통하여 리소스 모음의 생성 / 수정 / 삭제가 가증하다. 모든 리소스는 Cloudformation 템플릿을 통해 정의, Stack삭제 시 리소스 전부 삭제됨

 

Cloud Formation 세부 사항

-> Aws의 리소스를 인프라로 표현하는 CloudFormation 템플릿은 JSON/yaml 형식으로 작성 가능하며 GUI(Desginer)

 를 통해서도 작성 가능하다. CloudFormation Desginer 사용 시 신규 사용자 또한 쉽게 템플릿의 리소스의 연관성을 빠르게 파악 하고 템플릿을 쉽게 수정이 가능하다.

Desginer 로 표현된 GUI

 

반응형