피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
블로그를 Ubuntu 16.04에서 10년 동안 운영하다가 FreeBSD로 마이그레이션함
FreeBSD Jails 도입을 통한 비용 50% 절감 및 처리량 최대 11배 향상
AI 요약
Context
Ubuntu 16.04 LTS의 지원 종료에 따른 보안 취약점 노출 및 패키지 업데이트 불가 상태 지속. 단일 VPS 내 여러 정적 사이트 운영 구조로 인해 서비스 간 격리 부족 및 보안 침해 위험 상존.
Technical Solution
- FreeBSD Jails와 Bastille를 활용한 사이트별 독립 샌드박스 환경 구축으로 보안 격리 수준 강화
- Caddy Jail을 Reverse Proxy 및 SSL 자동화 계층으로 배치하여 내부 Jail로 트래픽을 분산하는 중앙 집중식 게이트웨이 설계
- 호스트 디렉터리를 nullfs(read-only)로 Jail에 마운트하여 설정 파일의 중앙 관리와 Jail 내부의 불변성 동시 확보
- PF(Packet Filter) 규칙 기반의 포트 포워딩 설정을 통해 외부 요청을 Caddy Jail로 정밀하게 라우팅
- kern.ipc.somaxconn 커널 파라미터 튜닝(128 → 16,384)을 통한 고동시성 연결 처리 능력 확장
- ZFS 파일시스템 도입을 통한 데이터 무결성 보장 및 스냅샷 기반의 백업 의존도 감소
Impact
- 인프라 비용 월 $13에서 6유로 미만으로 50% 이상 절감
- 10,000 동시 연결 부하 테스트 시 요청 처리량 기존 대비 3~11배 증가
- 대규모 트래픽 상황에서 요청 완료율 7%에서 94%로 대폭 향상
- 전 세계 주요 거점 기준 메인 페이지 응답 시간 3.5초 미만 유지
Key Takeaway
범용 컨테이너보다 커널 공유 기반의 가벼운 가상화(Jails)가 정적 호스팅 환경에서 낮은 오버헤드와 높은 격리 효율을 제공함. 시스템 튜닝을 통한 소켓 큐 최적화가 실제 처리량(Throughput) 결정의 핵심 병목 지점임을 입증함.
실천 포인트
- OS EOL(End of Life) 도래 시 단순 버전 업그레이드 외에 인프라 패러다임 전환 검토 - 고동시성 서비스 설계 시 OS 기본 somaxconn 값 확인 및 트래픽 규모에 맞는 커널 파라미터 튜닝 적용 - SSL 인증서 관리 공수 제거를 위해 자동화 기능이 내장된 Reverse Proxy(예: Caddy) 도입 고려 - 보안 강화를 위해 서비스별 실행 환경을 격리하고 데이터 영역은 Read-only 마운트로 보호