코드로 인프라 관리하기: IaC 개념 정리

콘솔 화면을 클릭해가며 서버를 만들던 시절은 지나가고 있습니다. 이제는 코드 한 줄로 인프라 전체를 재현할 수 있습니다.

IaC란 무엇인가

Infrastructure as Code는 서버, 네트워크, 데이터베이스 같은 인프라 자원을 코드로 정의하고 버전 관리하는 방식입니다. 수동 설정으로 인한 실수와 환경 차이를 줄일 수 있습니다.

선언형 vs 명령형

Terraform 같은 도구는 '원하는 최종 상태'를 선언하면 도구가 알아서 현재 상태와의 차이를 계산해 적용하는 선언형 방식을 사용합니다. 이는 매 단계를 직접 명시해야 하는 명령형 스크립트보다 유지보수가 쉽습니다.

간단한 예시

resource "aws_instance" "web" {
  ami           = "ami-0abcdef1234567890"
  instance_type = "t3.micro"
}

도입 효과

  • 인프라 변경 이력을 코드 저장소에서 추적 가능
  • 동일한 환경을 여러 번 빠르게 재현 가능
  • 리뷰 절차를 통한 변경 사항 검증 가능