본문 바로가기
Infra2026년 6월 19일2분 읽기

무중단 배포, blue-green과 rolling 쉽게 이해하기

YS
김영삼
조회 458
무중단 배포, blue-green과 rolling 쉽게 이해하기

핵심 요약

무중단 배포의 핵심은 "새 버전이 준비 완료(healthy)된 뒤에 트래픽을 옮기는 것"이다. blue-green은 동일 환경 둘을 두고 한 번에 전환(즉시 롤백 쉬움), rolling은 인스턴스를 조금씩 교체(자원 효율적). 둘 다 헬스체크가 전제다.

1. 비교

blue-greenrolling
전환한 번에점진적
롤백즉시(트래픽 되돌림)되감기 필요
자원2배 일시 필요적게

2. 공통 전제

  • 로드밸런서가 헬스체크 통과한 인스턴스에만 트래픽
  • graceful shutdown — 기존 요청 처리 후 종료
  • DB 마이그레이션은 신·구 동시 호환되게(expand-contract)

3. 함정

  • 헬스체크가 너무 단순하면 "켜졌지만 준비 안 된" 인스턴스로 트래픽 → 에러
  • 세션을 메모리에 두면 전환 시 로그아웃 — 외부 세션 저장소
  • 마이그레이션이 구버전과 비호환이면 롤백 불가

자주 묻는 질문

blue-green과 rolling 중 뭐가 낫나요?

즉시 롤백과 단순함이 중요하면 blue-green, 자원 절약과 점진 배포가 중요하면 rolling입니다. 트래픽·자원 여건에 맞춰 고르세요.

무중단인데 가끔 에러가 납니다.

헬스체크가 앱의 실제 준비 상태를 반영하지 못하거나, 종료 중인 인스턴스가 요청을 끊어서일 수 있습니다. readiness 체크와 graceful shutdown을 점검하세요.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록