IaC — CloudFormation과 Terraform

25
1 / 14

IaC — CloudFormation과 Terraform

새벽 2시. 서비스가 갑자기 다운됩니다. 담당 개발자 김씨는 급히 AWS 콘솔에 접속합니다. VPC를 만들고, 서브넷을 설정하고, 보안 그룹을 구성하고, EC2를 띄우고, RDS를 연결하고... 클릭, 클릭, 클릭. 45분이 지났습니다. 드디어 서비스가 복구되었습니다.

다음 날 아침, 팀장이 묻습니다. "어제 무슨 설정으로 복구했어요?" 김씨는 기억을 더듬습니다. "음... 보안 그룹에 포트 8080을 열었고, 서브넷은... 어, 정확히 기억이 안 나네요."

3개월 후 같은 장애가 발생합니다. 이번에는 김씨가 휴가 중입니다.

이것이 수동 인프라 관리의 현실입니다.

  • 재현 불가능한 환경 구성
  • 문서화되지 않는 변경사항
  • 담당자에게만 있는 암묵적 지식
  • 개발/스테이징/프로덕션 환경의 불일치
  • 긴급 복구 시 실수와 누락

이 레슨을 마치면 다음을 이해할 수 있습니다:

  • Infrastructure as Code(IaC)가 무엇이고 왜 필요한지
  • 선언적 방식과 명령적 방식의 차이
  • AWS CloudFormation의 템플릿 구조와 사용법
  • Terraform의 HCL 문법과 워크플로우
  • CloudFormation, Terraform, CDK 중 무엇을 선택할지
수동 인프라 관리의 고통과 IaC 자동화의 대비 일러스트

이 레슨의 대상: AWS 기본 서비스(EC2, VPC, S3)를 사용해 본 적이 있으며, 인프라를 코드로 관리하고 싶은 분을 위해 작성되었습니다. DevOps 여정의 핵심 역량 중 하나입니다.