Why 홈 서버?
제목에서 알 수 있듯이, 맥 미니로 홈 서버를 직접 구축하기로 했습니다.
이유는 다음과 같습니다.
현재 저는 Spring Framework를 활용한 Backend 개발을 공부하고 있습니다.
지금 일 년 넘게 진행하고 있는 프로젝트가, 스토어에 정식으로 등록이 된 후로 앱을 운영하는 단계에 접어들었습니다.
저희 팀은 AWS의 서비스를 적극적으로 활용하여 모든 서버 인프라를 클라우드에 구축해 둔 상황입니다.
클라우드 서비스를 이용할 때 역시 가장 먼저 떠오르는 생각은 요금 걱정입니다.
실제로 저희 팀은 매달 약 5~7만 원 정도의 서버 비용이 발생합니다.
지금까지는 기획자, 디자이너, 모바일, 서버 팀원 모두가 1/N을 해오고 있어서 크게 가격적으로 부담을 느껴본 적은 없지만,
솔직히 항상 서버비가 아까웠습니다.
저희 팀은 AWS의 EC2 t3.small 요금제를 사용했습니다.
솔직히 이건 서버가 터지지 않고 적당히 돌아가기 위한 최소한의 스펙이었습니다.
t3.small 기준, 클라우드이니 CPU도 vCPU로 제공받고,,, vCPU 2개가 물리 코어 1개라고 하니.. 정말 처참하고..
메모리도 2G라 정말 참담합니다.
그래도 아직 앱에 트래픽이 많이 몰리는 상황은 아니라. 이 정도로도 운영이 됐었는데,
최근에 Blue/Green 배포로 무중단 배포를 구현하는 과정에서 t3.small로는 그냥 EC2 인스턴스가 과부하가 걸려 다운되는 상황이 발생했습니다.
이때, 확실히 마음먹었습니다. "아 홈 서버를 구축해야겠다."
사실 예~전부터 홈 서버를 만들고 싶었지만, 대학생이다 보니 초기 하드웨어에 투자하는 비용이 겁나서 미루고 미루다가, 드디어 명분이 생겨서 과감히 결정했습니다.
Why Mac mini?
홈 서버를 구축하기로 한 뒤, 가장 먼저 해야 할 일은 하드웨어 선택입니다.
저에겐 다양한 선택지가 있었습니다.
1. 라즈베리파이
실제로 라즈베리파이로 홈 서버를 많이들 만드시는 것 같았습니다.
장점으로는 저렴한 가격, 전력 소모가 적고 커뮤니티가 활발해서 정보가 많다는 점입니다.
하지만 단점으로는, 연산력 한계와 초기 세팅이 굉장히 번거로운 것 같았습니다.
2. 데스크톱
데스크톱은 라즈베리파이보다는 가격대가 있지만, 성능은 뛰어납니다.
하지만 마찬가지로 초기 세팅이 굉장히 번거로운 것 같았습니다.
또한, 큰 부피 차지, 24시간 내내 데스크톱을 켜두기엔 소음, 발열 문제가 걱정됐습니다.
3. 맥 미니
이미 결과론적으로 맥 미니를 선택한걸 다들 아실 테니 맥 미니의 효능을 설명하겠습니다.
1. 전력 효율
https://support.apple.com/ko-kr/103253
사실 말이 안 됩니다. 전 M1칩이 탑재된 맥미니를 구매했는데,
오피셜로는 대기 6.8W, 최대 39W로 확인했고
여러 글을 서칭 해봤을 때, 30W로 24시간 30일 풀로 사용했을 때,
1 kwh = 160원 가정 시, 많이 나와도 약 3,500 정도라고 합니다.
조금 긴 형광등이 30W 정도 먹는다고 한다 하니, 크게 걱정되지 않았습니다.
2. 비교적 저렴한 중고가
맥 미니는 M1칩 이후 M2칩, 최근에는 M4칩이 탑재된 모델이 나오면서 M1 맥미니의 중고가가 굉장히 저렴히 형성됐습니다.
M4칩 맥미니 새 상품 기준 정가 89만 원, 교육 할인 적용 시 74만 원입니다... 후들후들...
이 가격을 지불하기엔 너무나 큰 출혈이라.... 새 상품은 엄두도 못 냈고, 당연히 중고로...
당근마켓, 번개장터, 중고나라를 전~부 찾아보며
M1칩, RAM 16GB, SSD 256GB 스펙의 맥 미니를 40만 원에 구매했습니다.
저와 저희 팀 모두를 위한 거긴 하지만 당연하게 제 사비로 전부 구매했습니다! 왜냐면 제가 하고 싶었으니ㅎㅎ..
사실 40만 원도 절대 저렴한 가격은 아니지만....
예전부터 직접 서버를 구축해 보며 공부를 해보고 싶었기도 했고, 실제로 했을 때의 이점도 뚜렷했기에...
작년 인턴 당시 꽁꽁 아껴놨던 월급을..... 쓰기로 했습니다ㅎㅎ..
3. 작고 조용함. 디자인은 덤
맥미니는 라즈베리 파이보다는 크고, 데스크톱보다는 엄~청 작아서, 자취방 어디에 둬도 큰 문제가 없습니다.
또한, 디자인도 굉장히 이뻐서 데스크테리어로도 훌륭합니다.
소음 또한 없습니다.
4. macOS
맥 미니는 당연하게도 macOS가 기본 운영 체제입니다.
macOS는 Unix 기반이고, 현재 EC2 인스턴스의 Linux(Ubuntu) 또한 Unix 기반이기에
명령어가 거의 흡사하여 사용하기도 편리하다는 점.
서버를 옮기게 되었을 때도 큰 문제없이 사용할 수 있다는 점.
별도의 OS 세팅 작업이 필요 없다는 점.
모두 매력적입니다.
5. 원격 접속!!! GUI!!! 팀원들과의 호흡
항상 EC2를 쓸 때마다 가장 불편했던 점은
인스턴스에 CLI로 밖에 접근할 수 없다는 점입니다.
GUI가 존재했다면 쉽게 할 수 있는 일들을 모두 CLI로만 하는 것이 여간 불편한 일이 아닙니다.
저희 서버 팀원 분들은 모두 맥북을 사용합니다.
그리고 macOS에는 "화면 공유" 기능과, "화면 공유" 앱을 통해 아주 쉽게 다른 mac에 원격으로 접속할 수 있습니다.
이건 정~~ 말 큰 장점입니다.
간단한 설정만을 통해서, 팀원분들이 맥 미니에 원격 접속해서 다양한 작업을 수행하실 수 있습니다.
GUI를 통해서!!!!
한 마디로 GUI가 기능이 추가된 EC2 인스턴스입니다. 정말 매력적이죠.
6. 성능
램이 무려 16GB!!
실물!!
정~말 무더운 날씨를 뚫고... 직거래를 통해 데려온 저희 팀의 서버(예정)입니다. 참 이쁘네요ㅎㅎ
둥 ~~ 초기화된 맥미니를 다시 살리는 중입니다~
처음에 조금 당황했던 점은.... 맥미니를 처음 구동하면 마우스랑 키보드가 연결하라고 하더라고요....
저는 키보드 마우스 둘 다 블루투스 기반이라... 다이소에 가서 싼 USB 연결 마우스 키보드를 사야 하나 했는데...
다행히도ㅋㅋㅋ
C to C 타입으로 마우스와 맥미니를 연결하면 되더라고요. 참고로 마우스는 로지텍의 MX Vertical을 사용 중입니다.
키보드 또한 매직 키보드를 쓰는데 8 pin to C타입으로 맥미니와 연결하니 인식했습니다.
짠! 맥 미니 켜기 성공입니다~~
배경화면도 참 이쁘네요ㅠㅠ
이로써... 또 하나의 애플 기기가 추가됐습니다.
점점 더 앱등이가 되어가는군요
맥북, 아이폰, 아이패드, 애플 펜슬, 애플 워치, 에어팟, 에어팟 맥스, 매직 키보드, 트랙패드, 멀티포트 어댑터...
여기에 맥미니까지 추가됐습니다 허허......
최근에 자취방 이사를 하면서... 책상이 작아졌는데.. 맥 미니까지 생기니 책상이 너무 좁네요.....
자취방이 책상 하나가 들어갈 정도 크기는 되어서 또 당근으로 책상을 알아봐야 할 거 같네요....
책상이 너무 지저분하네요 ㅎㅎ......
이제 본격적으로 홈 서버 구축을 위해 해야 할 일들이 많은데 후속작으로 계속 글 올려보도록 하겠습니다!