블로그 서브도메인 분리로 서비스 구조 정리
목차
메인 도메인 구조를 정리하면서 블로그 콘텐츠를 별도의 서브도메인으로 분리했다. 초기에는 메인 도메인 아래 /blog 경로로 호스팅했지만, 서비스가 성장하면서 콘텐츠와 메인 서비스를 물리적으로 분리해야 한다는 필요성이 생겼다. 특히 트래픽 분산, SEO 최적화, 그리고 향후 블로그 플랫폼의 독립적 관리를 고려하면 서브도메인 분리가 더 효율적이라고 판단했다.
왜 도메인 분리가 필요한가
블로그를 별도 서브도메인으로 옮기는 것은 단순한 구조 정리가 아니다. 초기 스타트업 단계에서는 하나의 도메인 아래 모든 콘텐츠를 운영하는 것이 빠르고 간편하다. 하지만 시간이 흐르면서 몇 가지 문제가 드러난다. 첫째, 블로그 트래픽이 증가하면 메인 서비스의 대역폭을 잠식한다. 둘째, 블로그와 메인 서비스의 캐싱 정책, 보안 정책, 인프라 스케일링 전략이 서로 다를 수 있다. 셋째, 마케팅 팀이 블로그 애널리틱스를 독립적으로 관리하고 싶어 한다. 넷째, 검색 엔진 관점에서도 도메인 권위(domain authority)를 메인 서비스에 집중시키는 것이 유리할 수 있다.
우리 팀에서도 이 지점에 도달했고, 결국 /blog/* 경로를 새로운 서브도메인으로 이전하기로 결정했다.
설정 변경: 301 리다이렉트의 힘
nginx 설정에서 핵심은 301 Moved Permanently 리다이렉트다. 임시 이동(302)이 아니라 영구 이동(301)을 사용하는 이유는 여러 가지다.
# 메인 도메인 설정에 추가
location /blog {
return 301 https://blog.{domain}/;
}
location ~ ^/blog/(.*)$ {
return 301 https://blog.{domain}/$1;
}
301의 의미:
- 검색 엔진 크롤러: 기존 URL의 검색 순위와 백링크를 새 도메인으로 이전 (SEO 손실 최소화)
- 사용자 브라우저: 캐시 수준에서 이전을 기억 (반복 방문 시 빠른 이동)
- 301 체인 방지: 한 번의 리다이렉트로 끝내기 (여러 번 리다이렉트되면 느려짐)
만약 302(Found)를 사용했다면 검색 엔진은 원본 도메인이 여전히 권위있다고 생각하고, SEO 페널티를 입을 가능성이 높다. 또한 사용자가 매번 리다이렉트 요청을 하게 되어 서버 부하도 증가한다.
설정 백업의 중요성
commit 메시지에 "설정 백업"이라고 명시한 이유는, nginx 설정은 정적이지만 매우 민감한 파일이기 때문이다. 한 줄의 실수로 웹 서버가 다운되거나 예상치 못한 트래픽 손실이 생길 수 있다.
git으로 관리하면:
- 이력 추적: 언제 누가 어떤 설정을 변경했는지 명확함
- 빠른 롤백: 문제 발생 시 이전 버전으로 즉시 복구 가능
- 코드 리뷰: 본인 외 팀원이 설정 변경을 검토하고 피드백 가능
- 인프라 자동화: IaC(Infrastructure as Code) 기반 배포 가능
nginx, Apache, 로드밸런서 같은 인프라 설정은 프로덕션 영향이 매우 크므로, 개발 코드만큼이나 신중하게 관리해야 한다.
마이그레이션 체크리스트
도메인 이전 작업을 진행할 때는 단순히 nginx 설정만으로는 부족하다:
- 검색 엔진 제출: 구글 서치 콘솔, 네이버 웹마스터에서 URL 변경 신고 (명시적으로 검색 엔진에 이전을 알림)
- 301 리다이렉트 검증: curl, 브라우저 개발자 도구로 상태 코드 확인
- 리다이렉트 체인 확인: blog.domain → blog.domain/page → final-page 같은 체인이 생기지 않았는지 점검
- 모니터링: 이전 후 며칠간 트래픽, 에러율, 응답 시간 모니터링
- 사용자 공지: 이메일, 공지사항으로 블로그 URL 변경 안내
회고: 작은 설정, 큰 영향
이 작업은 일견 작은 chore처럼 보인다. 코드 추가도 5줄 정도, 새 기능도 없다. 하지만 실제로는 도메인 아키텍처, SEO, 트래픽 분산, 팀의 운영 효율성에 영향을 미친다. 한 팀장으로서 느낀 점은, 이런 인프라 작업이 일관되게 관리되지 않으면 나중에 훨씬 큰 마이그레이션 비용이 발생한다는 것이다.
특히 초기 스타트업에서는 빠른 성장에 집중하느라 인프라 정리를 뒤로 미루는 경우가 많다. 하지만 트래픽이 커지고 팀 규모가 늘어날수록, 이런 구조 정리가 운영 생산성 향상으로 직결된다. 앞으로도 서비스 성장에 맞춰 인프라를 지속적으로 정리하고, 설정 변경은 항상 git으로 추적하는 문화를 유지하려고 한다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.