피드로 돌아가기
Building a Multi-VM Lab with Vagrant: Two Web Servers and a Database
Dev.toDev.to
Infrastructure

Vagrant 기반 IaC 설계를 통한 Multi-VM 환경 재현성 확보

Building a Multi-VM Lab with Vagrant: Two Web Servers and a Database

FOLASAYO SAMUEL OLAYEMI2026년 6월 24일8beginner

Context

수동 VirtualBox 설정 및 설치 과정에서 발생하는 환경 불일치와 재현 불가능한 설정 문제 분석. 개별 VM의 OS 버전 및 네트워크 구성의 파편화로 인한 인프라 관리 효율 저하 상황.

Technical Solution

  • Vagrantfile 내 config.vm.define를 활용한 Multi-machine 토폴로지 정의로 단일 설정 파일 기반 인프라 관리
  • Ubuntu 20.04 및 CentOS 7 Base Box 활용을 통한 OS 설치 단계 제거 및 프로비저닝 시간 단축
  • 192.168.56.0/24 Host-only Private Network 구성을 통한 외부 격리 및 VM 간 통신 경로 확보
  • Shell Provisioner를 이용한 MariaDB 자동 설치 및 /etc/hosts 기반의 정적 서비스 디스커버리 구현
  • Ruby DSL 기반의 선언적 구성을 통한 Infrastructure as Code(IaC) 원칙 적용 및 환경 버전 관리 체계 구축

- Multi-VM 환경 구축 시 Host-only 네트워크 대역(

1

9

2.

1

6

8.

5

6.0/21) 준수 여부 확인 - 단순 설치 스크립트의 복잡도 증가 시 Shell Provisioner에서 Ansible 등 구성 관리 도구로의 전환 검토 - VM 리소스 부족 시 config.vm.provider 블록을 통한 CPU 및 Memory 개별 튜닝 적용 - 프로비저닝 스크립트 수정 후 vagrant reload --provision 명령어를 통한 변경 사항 반영 확인

원문 읽기