본문

IT 소식
AWS CloudFormation으로 인프라 관리/복제하기

작성일 2022년 01월 17일

안녕하세요, 와탭랩스 DevOps팀 최정민 입니다.

AWS는 훌륭한 GUI와 CLI를 지원하여, 사용자들로 하여금 클릭 몇 번으로 시스템을 구축하는 것이 가능하게 합니다.

하지만, 이러한 AWS에서도 시스템이 복잡해지면서 리소스를 관리, 복제 등이 어려워지는 문제들이 생겨나고 있었습니다.

이러한 문제를 겪는 기업에는 AWS CloudFormation이 적절한 해답이 될 수 있을 것 같습니다.

1. AWS CloudFormation이란

AWS CloudFormation이란 AWS 리소스를 모델링, 설정하여 리소스 관리 시간을 줄이고, AWS에서 실행될 애플리케이션 개발에 더 많은 시간을 쏟을 수 있게 해주는 대표적인 IaC 도구입니다.

IaC란?
Infra-structure as a Code의 줄임말로 Infra를 코드를 통해 관리하고 프로비저닝 하는 것

작성의 난이도가 조금 있으나, 한번 작성해두면 인프라 관리/복제 등을 편하게 할 수 있습니다.

인프라 관리/복제

2. Template 작성 방법

AWS 리소스를 설명하고 프로비저닝 해주는 Template는 JSON 또는 YAML 형식으로 작성이 가능합니다.

인프라 관리/복제
인프라 관리/복제

Template를 작성한 뒤, AWS CloudFormation 스택생성만 하면 미리 Template에 정의된 리소스가 자동적으로 생성됩니다.

Designer로 Template 작성

다양한 리소스가 결합된 인프라를 구축할 때는 AWS CloudFormation에서 지원하는 Designer를 사용하는 것이 편리한 경우가 많습니다.

Drag & Drop 방식으로 리소스를 구성한 뒤, 리소스 설정만 기입해주면 되는 방식입니다.

인프라 관리/복제

TIP : Desiner에서는 리소스의 설정 목록을 볼 수 있음

S3-CloudFront
인프라 관리/복제
EC2-ELB
인프라 관리/복제
APIGATE-LAMBDA
인프라 관리/복제

3. 실제적용

인프라 관리/복제

위 그림은 AWS 에서 Sample로 제공되는 AWS Virtual Waiting Room Template를 참고해, 핵심 기능만 간소화한 템플릿입니다. 해당 템플릿으로는 수강 신청, 티켓팅 대기열과 같은 시스템을 구성할 수 있습니다.

다른 공간에서 대기열시스템이 필요할 때, 처음부터 구성하지 않아도 됩니다!!

사용시 어려웠던 점

  • 리소스가 복잡하게 맞물려있는 경우 작성을 완성하기 전 까지 테스트 하기가 어렵습니다.
  • 리소스 생성에 필수적인 설정 값들이 표시되어 있지 않습니다. (빠뜨릴 경우 생성x)
→ 디버깅이 어렵다. 템플릿 작성에 걸리는 시간이 오래 걸립니다. → AWS GUI,CLI를 통해 생성하는 것이 일반적으로 빠르다.

일회성인 인프라는 사용하지 않는 게 효율적일 수도 있습니다.

정리

  • - AWS CloudFormation은 AWS 리소스를 모델링, 프로비저닝 해주는 IaC도구입니다.
  • - 초기 구성은 힘들지만, 지속적인 관리/복제에 용이합니다.
  • - Template작성 후 스택 생성 시, 미리 정의 해둔 리소스 생성하면 환경 구축이 완료됩니다.

마무리

AWS CloudFormation을 사용한 결과 수많은 리소스를 코드로 한번에 관리, 복제할 수 있다는 것은 확실한 장점입니다. 하지만 복잡한 시스템을 코드로 정리하는 것이 쉽지 않은데요. 그렇기에 AWS CloudFormation을 도입하기에 앞서 충분한 고민과 회사의 시스템에 대한 이해가 필요할 것 같습니다.

서비스 성능관리는 와탭 애플리케이션 모니터링으로!
와탭 무료로 시작하기
최정민[email protected]
DevOps TeamDevOps Engineer

지금 바로
와탭을 경험해 보세요.