나만의 서버 구축하기
사이드 프로젝트를 진행하며 다양한 인프라 시스템을 구축하고, 개발할 때 리눅스 서버를 24/7 마음껏 사용하고 싶었다. 여기에는 다양한 선택지가 있었다.
1. AWS EC2 사용 (꼭 AWS여야만 하는 것은 아니었다.)
우선 첫 번째 선택지인 EC2는 가장 먼저 제외됐다. 나만의 개발 서버인 만큼 조금은 널널한 환경에서 막 사용하고 싶었고 클라우드 컴퓨팅 비용 관리에 휘둘리기가 싫었다. 만약 사이드 프로젝트를 운영하게 된다면 운영서버는 AWS에 올릴 생각이지만 저비용의 클라우드 서버는 스펙이 매우 열악하다.
AWS 프리티어로 EC2를 사용하면 위의 t2.micro
인스턴스를 사용할 수 있다. 위 인스턴스는 t2.micro
보다 vCPU
가 하나 더 많은 t3.micro
이다. 해당 인스턴스는 1코어 2스레드에 메모리는 1GiB(기비바이트 = 1024MB)가 전부이다. 한 번 계산을 해보자.
시간당 비용이 0.013 이므로 8,760(24 * 365)시간동안 작동시키면 1년에 113.88달러의 요금이 책정된다.
오늘(24년 5월 14일) 매매기준율 기준 155,822원이다. 저렴한 건가? 일단 넘어가보자.
2. 집에 있는 데스크탑의 WSL로 서버 구축
집에 램 16GB에 CPU도 나름 괜찮은 데스크탑이 있다. SSD 용량이 조금 작아 SSD를 구매하면 나름 쓸만하다 생각했는데 , 데스크탑용 512GB SDD 기준 최소 7만원 정도 했다. 문제는 데스크탑을 24/7 켜놓는다고 하면 엄청난 전력소비와 소음에 시달릴 것 같았다. 우선 패스다.
3. 미니PC 구매 (채택)
처음에 "미니 PC" 라는 건 후보지에 없었고, 라즈베리파이5를 생각했다. 라즈베리파이5는 최대 8GB의 램을 지원했고 CPU는 쿼드코어였다. 스토리지는 microSD 카드를 꽂는대로 늘어날 수 있었다. 여러모로 좋은 생각이라 크게 고민하지 않고 구매했다.
정말 작고 귀여워서 마음에 들었다... 다음 날 어떤 유튜브를 보기 전까지는 말이다.
라즈베리파이5를 조립하고 설치하기 위해 유튜브를 참조했는데 다음 영상을 보고말았다.
유튜브
해당 영상을 보면 라즈베리파이5를 신랄하게 까고 있다. 이 영상에서 인텔의 N100을 기반으로 한 미니 PC에 대해 언급하는데, 바로 찾아봤다.
(링크: 알리익스프레스 FIREBAT T8PRO)
알리 익스프레스에 가면 N100을 사용하는 중국발 미니PC들이 많다. 이 PC는 메모리 16GB와 SSD 512GB, 4코어 CPU를 가지고 있었다. 전성비(전력 가성비) 역시 라즈베리파이와 크게 차이가 없었고, 라즈베리파이보단 컸지만 역시 매우 작았다. 이걸 보고 어떻게 혹하지 않을 수 있으랴..
할인(11/11 알리 광군절)할 때 까지 사이드 프로젝트를 미룰 순 없으니, 급한대로 당근을 알아보니 15만원에 거래되고 있었다.
15만원이라... 내 개발서버로 사용할건데 EC2에서 메모리 1GB와 1코어(2스레드)를 사용하며 1년에 15만원씩 꾸준히 낼 바에 이게 낫지 않나?.. 라는 생각이 가득찼다. 라즈베리파이5 역시 라즈베리파이 그 자체만 11만원 정도 였지, 전용 어댑터, 케이블, 쿨러, SD카드, 리더기, Micro HDMI 등 사다보니 17만원이 훌쩍넘어버렸다. 그리고 다음 날 바로 당근했다. 라즈베리파이5 역시 지금은 사용할 것 같지 않아 판매했다.
라즈베리 파이5와 Firebat T8 Pro(미니PC)의 크기 차이
사진을 보면 생각보다 큰 차이가 없다는 걸 알 수 있다.
개인적으로 미니 PC에 너무 만족한다. 팬 돌아가는 소음도 거의 안나고(1~100이라면 5정도..?) 아직 서버를 열일하게 해본 적은 없지만 발열도 생각보다 없다. 15만원 들여 16GB 4코어 SSD 512GB의 손바닥보다 작은 PC를 사용할 수 있는 걸 보니 참 세상 좋아졌다라는 생각 든다.
우리 집을 지켜라
집에 설치한 홈 서버이기때문에 기존 공유기를 사용하여 공용 IP를 통해 해당 서버에 접근할 수 있다. 이 서버에 SSH, HTTP, HTTPS 등을 통해 접근하려면 해당 프로토콜과 포트에 대해 네트워크 공유기 차원에서 열어줘야하는데, 이걸 연다는 것은 내 공용IP에 대한 접근을 환영한다는 것이다. 따라서 보안이 매우 중요해졌다. 사실 AWS EC2 프리티어로 개발할 때에는 인바운드, 아웃바운드에 대한 관리만 해주고 다른 보안에 대해서는 크게 신경쓰지 않았다. 그런데 내가 살고 있는 곳의 IP를 노출해야하다보니 좀 더 신경쓰게 된다.
다음 글에서는 Home 과 홈 서버를 지키기 위한 고군분투에 대해 작성해보겠다.
'프로젝트' 카테고리의 다른 글
[사이드프로젝트] 특정 디렉토리 소나큐브 커버리지 제외하기 (0) | 2024.06.19 |
---|---|
[사이드 프로젝트] 소나큐브 사용하기 (1) | 2024.06.14 |
[사이드 프로젝트] 경제 서비스 기획하기 (0) | 2024.05.14 |