피드로 돌아가기
Dev.toDevOps
원문 읽기
Nginx Reverse Proxy 기반 VPS 환경 Zero Downtime 배포 전략
Docker Deploy on VPS: Nginx Strategies for Zero Downtime
AI 요약
Context
VPS 기반 Docker 컨테이너 배포 시 발생하는 서비스 중단 문제 해결 필요성 대두. 기존 수동 배포 방식의 버전 교체 과정에서 발생하는 요청 유실 및 시스템 불능 상태를 제거하기 위한 고가용성 트래픽 제어 구조 설계.
Technical Solution
- Upstream 블록과 proxy_pass 지시어를 통한 백엔드 서버 그룹의 추상화 및 트래픽 라우팅 분리
- Blue-Green 전략을 통한 구 버전(Blue)과 신 버전(Green)의 독립적 동시 운용 및 즉각적인 트래픽 전환 체계 구축
- Canary 전략의 Weight 설정을 통한 점진적 트래픽 전이로 신규 버전의 리스크 최소화 및 조기 결함 탐지
- nginx -s reload 명령어를 활용한 무중단 설정 반영으로 런타임 프로세스 재시작 없이 구성 변경 적용
- Health Check 기반의 자동화 스크립트를 통한 컨테이너 상태 검증 및 설정 업데이트-재로드 프로세스 통합
실천 포인트
- Blue-Green 적용 시 인프라 리소스 2배 소모 및 Database Schema 호환성 유지 방안 검토 - Canary 배포 시 Weight 기반의 점진적 트래픽 증가 시나리오 설계 - 배포 스크립트 내 신규 컨테이너 Health Check 단계 필수 포함 - 장애 발생 시 즉각적인 롤백을 위한 구 버전 컨테이너 유지 기간 설정