본문 바로가기
Develop/Others

aws cloudformation 이란

by 3-stack 2023. 3. 26.

# aws cloudformation 이란?

AWS CloudFormation은 인프라를 코드화하여 AWS 리소스를 자동으로 프로비저닝하고 관리하는 서비스다.

JSON 또는 YAML 형식의 템플릿 파일을 사용하여 AWS 인프라를 정의한다.

이 템플릿 파일에는 AWS 리소스의 종류, 구성 및 종속성 등을 정의할 수 있다.

이렇게 정의된 템플릿 파일을 AWS CloudFormation 서비스에 제출하면, AWS CloudFormation 서비스는 해당 템플릿 파일에 정의된 AWS 리소스를 자동으로 프로비저닝하고 관리한다.

인프라를 코드화하여 반복적이고 예측 가능한 방식으로 프로비저닝하고, 변경 사항을 쉽게 추적하고 롤백할 수 있다.

이를 통해 인프라 프로비저닝과 관리 코스트를 줄이고 애플리케이션 개발에 집중할 수 있다.

또한, AWS 리소스 간의 종속성 관리와 함께 AWS 서비스와 통합되므로 해당 리소스 간에 필요한 종속성을 자동으로 파악하고 생성한다.

 

1. 어디에 사용되나? 

  • 새로운 인프라 프로비저닝: 인프라 프로비저닝을 위해 수동으로 작업을 수행하는 대신 CloudFormation을 사용하여 코드화된 템플릿을 사용하여 자동화된 프로비저닝을 수행한다.
  • 인프라 변경 관리: 변경 사항을 코드화된 템플릿으로 구성하여, 코드 저장소에서 변경 사항을 추적하고 필요한 경우 롤백할 수 있다.
  • 멀티 리전 배포: CloudFormation을 사용하여 다중 리전에서 AWS 인프라를 프로비저닝하고 관리할 수 있다.


2. 장점

  • 반복적이고 예측 가능한 방식으로 인프라 프로비저닝 및 관리 가능
  • 변경 사항을 추적하고 롤백할 수 있어 변경 관리가 용이함
  • 멀티 리전 배포가 가능함
  • AWS 리소스 간의 종속성 관리가 자동으로 이루어져 편리함

3. 단점

  • 초기 학습 곡선이 높을 수 있음
  • 복잡한 템플릿을 작성할 때 문법 오류를 발생할 수 있음
  • CloudFormation에서 지원하지 않는 AWS 리소스가 있을 수 있음

 

4. AWS Copilot과 AWS CloudFormation

AWS Copilot과 AWS CloudFormation은 모두 AWS 서비스 프로비저닝 및 관리를 자동화하는 도구이지만, 두 도구의 목적과 사용 방법은 서로 다르다.

 

AWS Copilot은 AWS에서 운영하는 컨테이너 기반 애플리케이션을 쉽게 프로비저닝하고 배포하기 위한 도구다.

애플리케이션 및 AWS 인프라 리소스를 자동으로 프로비저닝하고 관리하기 때문에, 애플리케이션을 구성하기 위한 AWS 리소스와 구성 파일을 작성하고 관리하는 것을 최소화한다.

AWS Copilot은 AWS CloudFormation 템플릿을 자동으로 생성하며, 애플리케이션을 배포하기 위한 AWS 리소스를 생성하기 때문에, AWS CloudFormation을 사용하지 않아도 된다.

 

AWS CloudFormation은 AWS 인프라 자동화를 위한 서비스다.

JSON 또는 YAML 형식의 CloudFormation 템플릿을 작성하여 AWS 리소스를 정의한다. 해당 템플릿을 기반으로 AWS 리소스를 자동으로 프로비저닝하고 관리한다.

AWS CloudFormation은 AWS Copilot과 함께 사용할 수 있다. AWS Copilot은 애플리케이션을 프로비저닝하는 데 사용되며, AWS CloudFormation은 AWS 리소스를 프로비저닝하는 데 사용됩니다. AWS Copilot은 AWS CloudFormation 템플릿을 자동으로 생성하기 때문에, 개발자는 별도의 AWS CloudFormation 템플릿을 작성할 필요가 없다.

 

 

 

 

* 프로비저닝(provisioning)은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다.

'Develop > Others' 카테고리의 다른 글

aws copilot 이란?  (0) 2023.03.26
Resolution / BitRate / FrameRate  (0) 2023.03.09
개발자의 평생공부  (0) 2023.02.07
zsh: command not found: nvm  (0) 2023.01.21
CSS Tools: Reset CSS  (0) 2022.12.29

댓글