TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 33 READS

$4짜리 OpenBSD 서버 직접 굴려보기, DIY 웹의 재발견

$4짜리 OpenBSD 서버 직접 굴려보기, DIY 웹의 재발견
SOURCE IMAGE · HACKER NEWS

개인 홈페이지나 소규모 서비스를 올릴 때 오늘날의 기본 선택지는 GitHub Pages나 Cloudflare Pages 같은 무료 정적 호스팅이다. 무료인 데다 설정할 것도 거의 없어 편리하다. 하지만 한 개발자가 정리한 이 글은 정반대 방향을 제안한다. 월 4달러(세금 포함 약 4.24달러)를 내고 DigitalOcean에 OpenBSD를 직접 설치해, httpd(8) 웹 서버와 acme-client(1)를 이용한 Let's Encrypt 인증서로 홈페이지를 운영하는 과정이다. 필자는 원래 GitHub Pages와 Cloudflare Pages를 거쳐 왔지만, 유닉스 계열 OS를 손수 설치하고 설정하며 컴퓨터의 동작 원리를 파고들던 'DIY 웹'의 감각이 그리워 다시 서버를 손에 쥐었다고 밝힌다.

miniroot 이미지로 부팅하기

핵심 난관은 DigitalOcean이 BSD 배포판을 기본 제공하지 않는다는 점이다. 그래서 이 방식은 커스텀 이미지 업로드를 우회로로 삼는다. OpenBSD를 받는 방법은 여러 가지지만 가장 빠른 것은 miniroot 이미지를 내려받는 것이고, 받은 뒤에는 체크섬으로 무결성을 확인한다. 이어 DigitalOcean 콘솔의 STORAGE 항목에 있는 Backups & Snapshots에서 miniroot79.img 파일을 업로드하고, 배포판 종류로는 목록에 BSD가 없으니 'Other'를 선택한 뒤 알아보기 쉬운 이름을 붙여 커스텀 이미지로 등록한다. 여기서 놓치기 쉬운 비용 함정이 하나 있다. DigitalOcean은 커스텀 이미지 보관에도 요금을 부과하므로, 서버가 정상적으로 올라온 뒤에는 이 이미지를 반드시 삭제해야 월 4달러라는 계산이 실제로 성립한다.

드롭릿은 가장 저렴한 사양으로 만든다. 메모리 512MB, 1vCPU, 전송량 500GB, 디스크 10GB 구성이 월 4.00달러에 해당한다. 생성 화면에서는 Custom Images 탭에서 앞서 올린 miniroot79.img를 고른다. 인증 항목에는 SSH 키를 추가해야 하는데, 필자의 설명에 따르면 DigitalOcean이 이 키를 실제로 서버에 주입하지는 않으며 단지 드롭릿 생성 요건을 충족하기 위한 형식적 단계다. 한 가지 제약도 언급된다. 이 방식으로는 IPv6를 켠 상태로 드롭릿을 만들 수 없었다는 점이다. 이런 세부 사항들은 실무에서 실제로 부딪히기 전까지 잘 드러나지 않는 부분이라 미리 알아둘 값어치가 있다.

설치와 운영상의 트레이드오프

드롭릿이 만들어지면 상단의 Web Console 버튼으로 복구 콘솔을 띄우고, 부팅된 miniroot 이미지 위에서 설치를 진행한다. 대부분의 질문은 기본값으로 넘어가도 되며, 베어본 웹 서버가 목적이므로 불필요한 세트는 과감히 걷어낸다. -x로 X 서버 세트를, -gam과 -com*으로 게임과 컴파일러 세트를 제거하면 bsd, bsd.rd, base79.tgz, man79.tgz만 남는다. 세트가 내려받아지면서 서명이 검증되고, 설치가 끝나면 재부팅으로 마무리된다.

이 글에서 실무자가 가장 눈여겨볼 대목은 전체 디스크 암호화(FDE)를 둘러싼 트레이드오프다. FDE를 켜면 재부팅할 때마다 DigitalOcean 웹 콘솔에 접속해 패스프레이즈를 직접 입력해야 한다. 필자는 macOS의 fdesetup authrestart에 해당하는, 재부팅 시 자동으로 암호화를 한 번 풀어주는 기능이 OpenBSD에는 자신이 아는 한 없다고 적는다. 결국 재부팅이 필요한 커널 패치를 적용할 때마다 수동 개입이 따라붙는다는 뜻이다. 필자 본인은 이를 큰 불편으로 여기지 않지만, 웹 콘솔에 패스프레이즈를 입력하는 방식 자체의 보안성에 대한 논쟁의 여지도 함께 인정한다. 자동 무인 재부팅이 필요한 환경이라면 이 지점이 도입을 가르는 판단 기준이 된다.

부팅이 끝나면 웹 콘솔을 계속 쓸 수도 있지만, 편의를 위해 SSH 접속이 권장된다. 이때 설치 과정에서 root SSH 로그인을 꺼두었으므로 반드시 별도로 만든 비-root 사용자로 접속해야 한다. 필자가 제시하는 최소한의 마무리 작업은 명확하다. 공개 SSH 키를 서버로 복사하고 PasswordAuthentication을 끄는 것, 그리고 OpenBSD Handbook의 설치 후 구성 문서와 FAQ를 정독하는 것이다.

4달러가 사는 것, 사지 못하는 것

이 접근을 냉정하게 보면, 월 4달러로 얻는 것은 저렴한 요금 자체라기보다 서버 전 계층에 대한 완전한 통제권이다. 정적 호스팅이 가려주던 웹 서버 설정, TLS 인증서 발급, 사용자 권한 관리, 커널 패치 같은 운영 책임이 고스란히 손으로 돌아온다. 512MB 메모리와 10GB 디스크라는 사양은 개인 홈페이지나 실험용 서비스에는 넉넉하지만, 트래픽이 커지거나 무거운 애플리케이션을 올리는 순간 그 한계가 분명해진다. 커스텀 이미지 삭제를 잊으면 요금이 새고, 무인 자동 복구가 필요하면 FDE 선택이 발목을 잡는다.

그럼에도 이 글의 값어치는 비용 절감 팁이 아니라, 관리형 플랫폼이 추상화해 감춰버린 것들을 다시 직접 만져보는 학습 경험에 있다. 유닉스 셸 계정 포럼에서 20년 지기를 만났다는 필자의 회고처럼, 서버를 처음부터 세워보는 과정은 편의성과 맞바꾼 이해의 깊이를 되찾는 일이다. 프로덕션 전략으로 무작정 권할 만한 방식은 아니지만, OpenBSD의 보수적인 보안 설계와 httpd·acme-client의 단순함을 실제 손끝으로 익히고 싶은 개발자에게는 하룻저녁 투자할 값어치가 충분한 실습 코스다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://nil.wallyjones.com/run-openbsd-on-digitalocean-for-4...
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...