Vercel이 프라이빗 백엔드에 연결하는 안전한 빌드 인프라(Secure Compute)를 구축하는 과정을 다룬다. 기존에는 빌드 시작 전 보안 네트워크 프로비저닝에 90초가 걸렸는데, WireGuard 터널과 Linux 네트워크 네임스페이스 기반 아키텍처로 이를 5초로 줄이고 빌드 성능도 30% 개선했다.
핵심 포인트- Hive(Vercel 컴퓨팅 플랫폼)와 Secure Compute 네트워크를 WireGuard VPN 터널로 연결, 프라이빗 DB나 레지스트리에 안전하게 접근한다.
- Connector(EC2) + Key Exchange Service + Hive cell 세 컴포넌트로 구성되며, 키는 부팅 시 생성·배포되고 종료 시 폐기돼 영속성이 없다.
- Linux 네트워크 네임스페이스와 소스 기반 라우팅으로 인터페이스별로 트래픽을 격리해 라우팅 충돌을 방지한다.
- 프로비저닝 시간 90초 → 5초(94% 단축), 빌드 성능 평균 30% 향상.
상세 정리- 배경: 사내 DB나 프라이빗 레지스트리 등 VPC 안 리소스에 접근해야 하는 빌드 환경이 필요한데, 기존 방식은 보안 네트워크 프로비저닝에 90초가 걸려 개발 흐름이 끊겼다.
- 아키텍처 3요소: Connector(EC2, WireGuard 터미네이터), Key Exchange Service(키 분배·관리), Hive cell(실제 빌드 실행 단위).
- Connector: Secure Compute 네트워크 내 EC2 인스턴스로, WireGuard 연결을 종단하고 트래픽을 내부 리소스로 라우팅한다. 커스텀 AMI + 데몬이 Key Exchange Service와 통신한다.
- Key Exchange Service: 각 Hive cell 부팅 시 생성된 WireGuard 퍼블릭 키를 Connector에 배포하고, 빌드 완료 후 리소스 정리를 담당한다.
- WireGuard 터널: Hive cell과 Connector 사이에 암호화 터널을 형성. 키는 부팅 시에만 생성·존재하고 종료 시 폐기 — 재사용·영속 없음. 에페머럴 키로 보안을 강화했다.
- 네트워크 네임스페이스 격리: WireGuard 인터페이스마다 전용 Linux 네트워크 네임스페이스를 만들고 소스 기반 라우팅(Linux netlink 레이어 활용)으로 트래픽을 격리. 커스텀 CNI 플러그인이 네임스페이스 생명주기를 관리한다.
- Connector 측 단일 WireGuard 디바이스: Connector는 하나의 WireGuard 디바이스로 모든 peer(Hive cell) 트래픽을 처리해 운영 복잡도를 낮췄다.
- 성능 개선 이유: 사전 프로비저닝 준비 + 키 교환 병렬화로 빌드 시작 대기 시간이 90초에서 5초로 단축됐다.
- 결과: 보안 격리를 유지하면서 프로비저닝 94% 단축, 빌드 성능 30% 향상.
왜 읽나WireGuard 기반 VPN 터널과 Linux 네트워크 네임스페이스로 CI/CD 빌드 환경에 보안 접근성을 더하고 싶은 인프라·SRE 엔지니어에게.