IaC (Infrastructure as Code)

MIN·2025년 7월 27일

weekly

목록 보기
28/31

IaC란?

Infrastructure as Code(코드형 인프라)
서버, 네트워크, 데이터베이스 등 인프라 리소스를 수동으로 설정하지 않고, 코드로 정의하여
버전 관리와 자동화가 가능하도록 하는 개념이다.

사용

이전에는 서버를 만들려면 콘솔에서 클릭하고 설정해왔지만
IaC를 사용하게되면 YAML, JSON, HCL 같은 파일에 서버 설정 명시 후
실행하면 인프라가 구성됨.

도구

  • Terraform : 가장 잘 알려져 있는 IaC도구로 클라우드 환경에서 통합지원 - AWS

IaC를 사용하면 좋은점

  • 자동화
    반복적인 수동 설정 작업 없이 인프라를 한 번에 구축 가능

  • 버전 관리
    코드처럼 Git 등으로 변경 사항 추적 가능

  • 일관성
    같은 코드로 여러 환경(dev, staging, prod)을 동일하게 재현 가능

  • 협업 용이
    인프라 설정을 코드로 공유하고 리뷰 가능

예시 (Terraform)
resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}

위 예시 코드는 AWS에 t2.micro 타입의 EC2 인스턴스를 생성하는 Terraform 구성 코드로
• resource는 만들 리소스의 종류 (EC2 인스턴스),
"aws_instance"는 AWS의 인스턴스 리소스
"web"은 이 리소스의 논리적 이름
ami는 사용할 Amazon 머신 이미지 ID,
instance_type인스턴스의 스펙(t2.micro는 프리 티어에서 자주 사용하는 스펙)

이 파일을 terraform apply 명령어로 실행하면,
Terraform이 AWS에 API 요청을 보내 실제 인프라를 자동으로 생성하게 된다.

0개의 댓글