
개발자를 위한 커스텀 NAS 구축기: 클라우드 구독을 끊고 얻은 것들
- Technology, Development
- 14 Jun, 2026
아주 오랫동안, 저는 NAS(Network Attached Storage)를 그저 '디지털 서류 보관함' 정도로만 생각했습니다. 사진작가들이 수 테라바이트의 RAW 파일을 쑤셔 넣거나, 영화광 아빠들이 미디어 컬렉션을 모아두는 크고 먼지 쌓인 시시한 상자 말이죠. 그동안 제 개발 워크플로우는 100% 클라우드에 의존하고 있었습니다. 문서를 동기화하기 위해 매달 구글 드라이브(Google Drive) 결제를 했고, 비공개 코드를 저장하기 위해 GitHub를 썼으며, 도커(Docker) 컨테이너를 테스트하거나 CI/CD 파이프라인을 돌릴 때마다 비싼 DigitalOcean이나 AWS EC2 인스턴스를 띄워야만 했습니다.
하지만 매달 빠져나가는 클라우드 구독료가 눈덩이처럼 불어나고, 엔터프라이즈 기업들 사이에서 클라우드 비용을 줄이고 자체 서버로 돌아가자는 이른바 '클라우드 송환(Cloud Repatriation)' 트렌드가 불기 시작하면서 저도 작은 실험을 해보기로 결심했습니다. NAS를 단순한 파일 저장소가 아니라, 아주 강력하고 완벽한 로컬 개발 서버로 직접 구축해 보면 어떨까? 이 글은 제가 어떻게 커스텀 NAS를 만들어 클라우드 의존도를 낮추고 제 개발 환경을 완전히 뒤바꿔 놓았는지에 대한 솔직한 후기입니다.
가장 먼저 결정해야 할 것은 하드웨어와 운영체제였습니다. 여러 개의 가상 머신(VM)과 수많은 도커 컨테이너를 동시에 돌려도 끄떡없을 만큼 강력해야 했지만, 동시에 전기세 폭탄을 맞지 않도록 전력 효율도 챙겨야 했죠. 초보자에게는 훌륭하지만 상대적으로 약한 CPU 성능 대비 비싼 가격을 자랑하는 시놀로지(Synology)나 큐냅(QNAP) 같은 기성품을 사는 대신, 저는 저전력 인텔 코어 i3 프로세서, 32GB의 ECC RAM, 그리고 16TB 용량의 듬직한 IronWolf Pro 하드 드라이브 4개를 엮어 저만의 커스텀 PC를 조립했습니다.
운영체제는 상용 소프트웨어를 건너뛰고 곧바로 'TrueNAS SCALE'을 선택했습니다. 리눅스(데비안)를 기반으로 만들어졌기 때문에 도커 컨테이너나 쿠버네티스(Kubernetes) 배포를 아주 매끄럽게 기본 기능처럼 지원하거든요. 특히 ZFS 스토리지 풀을 처음 설정할 때의 그 든든함은 이루 말할 수 없었습니다. 엔터프라이즈급 파일 시스템 무결성 검사를 통해 제 데이터가 철저하게 보호받고 있다는 사실은, 그동안 클라우드 제공업체를 맹목적으로 믿었을 때와는 차원이 다른 심리적 안정감을 주었습니다.
진짜 재미있는 부분은 제 개발 워크플로우를 NAS로 본격적으로 마이그레이션하면서 시작되었습니다. 가장 먼저 해지한 건 구글 드라이브 구독이었습니다. 저는 Nextcloud 인스턴스를 띄우고, 외부에서 접속할 수 있도록 Cloudflare Tunnels를 통해 안전하게 연결했습니다. 덕분에 집의 IP 주소를 노출하거나 복잡한 공유기 포트포워딩을 만지작거릴 필요가 전혀 없었죠. 반나절 만에 맥북, 아이패드, 안드로이드 폰을 완벽하게 동기화해 주는 저만의 프라이빗 클라우드가 완성되었습니다. 특히 집 안의 10GbE 로컬 네트워크를 통해 대용량 비디오 에셋이나 끔찍하게 무거운 node_modules 폴더를 전송할 때의 체감 속도는 말 그대로 눈 깜짝할 새였습니다.
다음으로는 코드 저장소를 옮겼습니다. Gitea라는 가벼운 Git 서버를 셀프 호스팅으로 구축했는데요. 엄청나게 가벼우면서도 제가 평소 GitHub나 GitLab에서 쓰던 기능의 95% 이상을 완벽하게 지원했습니다. 이제 외부 유출이 걱정되는 보안에 민감한 사이드 프로젝트나 거대한 데이터셋을 만지작거릴 때, 모든 데이터는 제 로컬 네트워크 안에 안전하게 머뭅니다. Push와 Pull을 할 때의 지연 시간(Latency)은 0에 수렴하죠.
하지만 제 개발 환경을 완전히 바꿔놓은 가장 큰 게임 체인저는 바로 이 NAS를 로컬 CI/CD 러너이자 통합 테스트 환경으로 만든 것이었습니다. 웹 애플리케이션을 테스트하기 위한 독립적인 도커 환경을 세팅해 두었죠. 제가 로컬 Gitea에 코드를 커밋하면, 웹훅(Webhook)이 트리거되어 NAS 안에서 조용히 Jenkins 러너가 깨어납니다. 이 녀석이 알아서 Next.js 프론트엔드를 빌드하고, PostgreSQL 데이터베이스를 띄워서 통합 테스트를 쫙 돌린 다음, 다시 모든 컨테이너를 깔끔하게 종료시킵니다. 이 모든 무거운 작업이 NAS에서 백그라운드로 돌아가는 동안, 저는 제 맥북에서 팬 소음 하나 없이 아주 평화롭게 다음 코드를 짤 수 있습니다. 노트북 배터리도 훨씬 오래가고요.
물론 셀프 호스팅이 늘 장밋빛인 것만은 아닙니다. 시스템 구축과 동시에 여러분은 스스로의 1인 IT 부서가 되어야 합니다. 업데이트 후 컨테이너가 갑자기 죽어버리거나, 네트워크 권한을 실수로 잘못 건드렸을 때 전화할 수 있는 고객 센터 따위는 없습니다. 저 역시 도커 브릿지 네트워크 안에서 발생한 골치 아픈 DNS 문제 때문에 꿀 같은 토요일 아침을 온전히 날려버린 적도 있습니다.
하지만, 나만의 인프라를 직접 운영하며 얻는 교육적 가치는 그 어떤 온라인 강의보다도 컸습니다. 리눅스 네트워크의 흐름, 리버스 프록시의 원리, 컨테이너 오케스트레이션에 대한 이해도가 AWS 콘솔에서 버튼만 딸깍거리던 시절과는 비교도 할 수 없을 만큼 깊어졌거든요.
구축한 지 6개월이 지난 지금 돌이켜보면, 이 개발자용 커스텀 NAS를 만든 것은 제가 여태껏 해본 최고의 기술적 투자 중 하나입니다. 매달 고정적으로 나가던 클라우드 비용을 획기적으로 줄였고, 내 데이터에 대한 완전한 주권을 되찾았으며, 로컬 개발 속도와 생산성은 눈에 띄게 향상되었습니다. 인프라를 직접 통제하고 만지작거리는 걸 좋아하는 개발자라면, 최신 NAS가 가진 잠재력을 절대 과소평가하지 마세요. 그것은 단순한 사진 저장소를 넘어, 여러분의 방 한구석에서 잠재력을 터뜨릴 준비를 마친 조용한 발전소입니다.












































































