모든 사례

다중 사이트 호스팅

200개 이상 사이트를 하나의 배포·인증서·롤백 절차로 관리

흩어진 사이트 출시 작업을 검증, 자동화, 버전 관리가 가능한 다중 사이트 호스팅 플랫폼으로 통합했습니다.

분야
다중 사이트 호스팅
기간
지속 운영 중
담당 역할
클라우드 설계, 백엔드 개발, 배포 절차
200개 이상 사이트를 하나의 배포·인증서·롤백 절차로 관리 · 시스템 흐름도

문제

사이트가 늘어나면서 파일 업로드, 도메인 설정, 인증서 발급을 개별 처리하는 일이 느려지고 감사도 어려워졌습니다. 수동 덮어쓰기는 복구도 불확실하게 만듭니다. 신규 출시와 일상 업데이트에 버전 이력을 확인할 수 있는 반복 가능한 공통 절차가 필요했습니다.

제약 조건

  • 사이트마다 상시 컨테이너를 유지하지 않으면서 여러 독립 도메인과 정적 사이트를 제공해야 했습니다.
  • 도메인과 인증서 변경을 자동화하는 동안에도 기존 사이트를 계속 제공해야 했습니다.
  • 고객 신원, 트래픽, 비용, 내부 운영 데이터는 비공개입니다.

우리가 한 일

실행 환경은 공유하고 사이트 파일은 분리

Cloud Run의 Nginx로 공통 제공 계층을 구성하고 사이트 패키지와 버전은 Google Cloud Storage에 저장해 컴퓨팅 자원을 독립적으로 확장합니다.

채택하지 않은 대안 사이트별 상시 컨테이너는 이미지, 배포, 운영 작업을 함께 늘리므로 사용하지 않았습니다.

검증을 포함하는 배포 절차

업로드한 패키지 구조를 검증한 뒤 압축 해제, 버전 생성, 서비스 전환 순서로 처리합니다.

채택하지 않은 대안 부분 쓰기나 잘못된 패키지는 복구하기 어려운 상태를 만들므로 운영 파일을 직접 덮어쓰도록 하지 않았습니다.

도메인과 TLS 자동화

Cloudflare DNS, TLS, 사이트 설정을 하나의 준비 절차로 처리하고 DNS-01 검증으로 이전 중 기존 사이트에 미치는 영향을 줄입니다.

채택하지 않은 대안 사이트별 수동 인증서 발급을 유지하면 규모가 커질수록 누락이나 갱신 실패를 발견하기 어려워 자동화했습니다.

최신 파일뿐 아니라 버전 보존

배포마다 선택 가능한 버전을 생성해 이전 패키지를 다시 구성하지 않고도 롤백할 수 있게 했습니다.

채택하지 않은 대안 최신 업로드만 보관하면 별도 백업의 유무에 따라 복구 가능 여부가 달라지기 때문입니다.

성과

  • 200개 이상의 사이트를 하나의 플랫폼에서 관리합니다.
  • 패키지 업로드, 검증, 배포가 하나의 자동화 절차로 연결되었습니다.
  • 배포마다 롤백 대상으로 선택할 수 있는 버전이 남습니다.

기술

  • Google Cloud Run
  • Nginx
  • Google Cloud Storage
  • Cloudflare

돌아보며

다시 시작한다면 장애 상태, 작업 감사 이력, 테넌트 경계를 더 일찍 설계의 핵심으로 두겠습니다. 사이트가 적을 때는 관리 기능처럼 보이지만 일정 규모를 넘으면 그 자체가 아키텍처가 되기 때문입니다.

비슷한 복잡함을 운영 가능한 시스템으로 정리하고 싶으신가요?