Cloudflare 기반 1인 웹사이트 아키텍처 및 엣지 운영 기록

핵심 결론
kimura512.dev는 Cloudflare Workers를 기반으로 정적 빌드 결과물과 엣지 API를 결합하여 운영되고 있습니다. 가상 서버를 직접 프로비저닝하지 않아 관리가 불필요하며, 단일 배포 명령어로 릴리스를 완료합니다. Next.js 애플리케이션은 vinext를 통해 Workers 위에서 구동되며, 콘텐츠 데이터는 리포지토리 내 타입스크립트로 관리됩니다.
1. 일원화된 배포 파이프라인
운영 환경 배포는 pnpm run build 후 wrangler deploy로 이어집니다. 대표 도메인에 트래픽을 집중시키고 프리뷰 Worker와 분리하여 오배포 위험을 차단합니다.
2. 정적 이미지 에셋 최적화
블로그 히어로 이미지는 public/blog/에 위치시키고 sharp 라이브러리로 규격을 통일했습니다. 외부 스토리지 링크 의존성을 배제하여 자산 유실 위험을 원천 방지했습니다.
3. 엣지 보안과 비밀키 관리
Cloudflare WAF와 전 구간 HTTPS를 적용하고, 모든 시크릿은 Workers 암호화 환경 변수로만 주입하여 버전 관리 내 평문 유출을 철저히 차단했습니다.
4. 캐시 무효화 및 실 배포 확인
글 업데이트 후 시크릿 창을 통해 목록과 본문을 확인하여 엣지 캐시 갱신을 검증합니다. Git의 변경 사항이 곧 배포 상태와 일치한다는 단순한 모델을 유지합니다.
5. 모바일 성능 최적화
리소스 소모가 큰 3D 캔버스는 메인과 소개 페이지로 한정하고, 글 본문은 초경량 레이아웃으로 렌더링하여 모바일 이탈률을 최소화했습니다.
6. 장애 기록의 문서화
Workers 실시간 로그의 휘발성을 감안하여 중요한 장애 원인과 복구 절차는 기술 블로그 글에 기록하여 노하우를 누적합니다.
7. 스테이징과 프로덕션 분리
프리뷰 환경과 운영 환경의 프로젝트 명칭을 완전히 분리하고, 운영 시크릿은 CLI 명령어로만 등록하는 보안 원칙을 고수합니다.
8. 서브도메인 격리
별도 프로덕트는 독립된 엔드포인트로 분리하고, 메인 사이트는 콘텐츠와 핵심 포트폴리오 전달에 집중하여 관리 비용을 줄였습니다.
요약
배포 레이어는 Workers, 데이터의 원천은 Git, 스키마 검증은 TypeScript가 분담하는 구조가 1인 개발 운영에 가장 효율적입니다.
운영 메모
Q. VPS 대신 Workers를 선택한 이유는?
글로벌 CDN 캐싱과 경량 API를 인프라 관리 부담 없이 원스톱으로 처리할 수 있기 때문입니다.
Q. R2 스토리지 도입 여부는?
블로그 이미지는 프로젝트 내에 함께 번들링하며, R2는 대용량 파일이 필요한 별도 앱에서만 제한적으로 활용합니다.