피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Vagrant 기반 IaC 설계를 통한 Multi-VM 환경 재현성 확보
Building a Multi-VM Lab with Vagrant: Two Web Servers and a Database
AI 요약
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 명령어를 통한 변경 사항 반영 확인