AWS CloudFormation: Infrastructure as Code (IaC)

jaeyeon ha·2026년 3월 10일

개념 및 특징

CloudFormation은 AWS 리소스를 텍스트 파일(JSON/YAML)로 정의하고, 이를 통해 리소스를 자동화된 방식으로 생성 및 관리하는 서비스

  • 선언적 프로그래밍 : 어떻게(HOW) 생성할지가 아니라, 무엇(WHAT)이 필요한지 명시
  • 반복 가능성 : 동일한 템플릿을 사용하면 언제 어디서나 똑같은 인프라 환경 구축 가능
  • 버전 관리 : 템플릿 파일(JSON/YAML)을 Git과 같은 버전 관리 시스템에 체크인하여 인프라 변경 이력 추적 가능
    AWS Cloud9 과 같은 클라우드 IDE(Integrated Development Environment)를 활용하면 별도의 환경 설정 없이 브라우저 통해 바로 작성 및 디버깅 가능

핵심 구성 요소

  • 템플릿(Template) : 리소스 사양을 적은 설계도(JSON/YAML)
  • 스택(Stack) : 템플릿에 정의된 리소스들의 단일 관리 단위 ▶ 스택 삭제하면 그 안의 모든 리소스 함께 삭제됨
  • 변경 셋(Change Sets) : 스택을 업데이트하기 전, 이 변경이 운영 중인 인프라에 어떤 영향을 줄지 미리 보여주는 요약 리포트(e.g. 어떤 리소스가 교체/수정/삭제되는지 확인)

주요 기능 및 운영 메커니즘

운영 및 모니터링

  • 이벤트 로그(Events) : 리소스 생성/수정/삭제 단계를 실시간으로 확인하여 어느 지점에서 성공하거나 실패했는지 파악 가능
  • 알림 연동 : Amazon SNS와 연동하여 스택 작업의 성공/실패 여부를 이메일이나 메시지로 즉시 받을 수 있음

안정성(Rollback)

  • 자동 롤백 : 리소스 생성 중 단 하나라도 에러가 발생하면, CloudFormation은 인프라 상태가 꼬이지 않도록 이전의 정상 상태로 모든 변경 사항을 되돌림

유연성 및 모니터링

  • 모듈화 : 하나의 거대한 템플릿 대신, 네트워크 스택 / DB 스택 / 앱 스택 등으로 나누어 관리하고 서로 참조 가능
  • 다양한 인터페이스 : 콘솔 외에서 CLI, SDK, API를 통해 자동화 파이프라인(CI/CD)에 쉽게 통합 가능

드리프트 감지(Drift Detection) : 누군가 콘솔에서 수동으로 리소스를 수정하여 템플릿 내용과 실제 인프라 상태가 상이할 때, 이를 감지해주는 기능 ▶ IaC 무결성을 지키는데 매주 중요

0개의 댓글