世界を動かす技術を、日本語で。

DigitalOceanでOpenBSDを月額4ドルで運用する

概要

  • OpenBSDhttpd(8)Let's Encrypt (acme-client(1))による自宅サーバー構築の流れを紹介
  • GitHub PagesCloudflare Pages からの移行理由とDIY精神の再発見
  • DigitalOcean で月額$4.24の低コスト運用方法を解説
  • OpenBSDインストール 手順と重要な設定ポイントを網羅
  • セキュリティ対策や参考資料、連絡先情報も案内

OpenBSDとDigitalOceanで始める個人Webサーバー構築

  • GitHub PagesCloudflare Pages の無料・簡単なホスティングから、 DIYウェブ への回帰
  • UNIX系OS のインストールや設定を楽しむ原点回帰
  • DigitalOcean のDropletを利用し、月額$4.24(税抜$4.00)で運用できるコストパフォーマンス
  • OpenBSDhttpd(8)Let's Encrypt (acme-client(1))による安全なWebサーバー構築

OpenBSDのダウンロードとイメージ確認

  • OpenBSD のダウンロードは minirootイメージ が最速
    • 例:curl -O -O https://cdn.openbsd.org/pub/OpenBSD/7.9/amd64/{miniroot79.img,SHA256}
  • SHA256 でイメージの整合性確認
    • 例:sha256sum -c --ignore-missing SHA256 miniroot79.img
  • イメージが OK であることを必ず確認

DigitalOceanでのイメージアップロードとDroplet作成

  • DigitalOcean にサインアップし、 Backups & Snapshots から miniroot79.img をアップロード
    • データセンターや配布種別(Other)を選択
    • イメージ名は自由に設定
  • カスタムイメージ のホスティングには課金が発生
    • サーバー起動後は削除推奨
  • Droplet の作成
    • 512MBメモリ、1vCPU、500GB転送、10GBディスクのBasicプラン
    • カスタムイメージから起動
    • SSH Key の登録が必須(実際には追加されないが必要)
    • IPv6は利用不可の場合あり
    • 総額$4.00/月で運用可能

OpenBSDインストール手順

  • Web Console から miniroot79.img の起動を確認
  • インストールプロセスは基本的に デフォルト選択 で進行可能
    • ホスト名 の設定
    • vio0 ネットワークインターフェース選択
    • IPv4/IPv6は autoconf
    • rootパスワード の設定
    • sshd(8) はデフォルト起動
    • X Window Systemは不要
    • 非rootユーザー の作成とパスワード設定
    • rootのSSHログインは禁止
    • 適切な タイムゾーン を選択
    • sd0 ディスクをルートディスクに指定
    • 全ディスク暗号化 (希望者のみ):パスフレーズ入力が毎回必要
  • (W)hole disk MBR(A)utoレイアウト を選択
  • 必要セットのみ選択(Xサーバー、ゲーム、コンパイラセットは除外)
    • 残すのは:bsd, bsd.rd, base79.tgz, man79.tgz
  • セットインストール後、 再起動

インストール後の初期設定・セキュリティ

  • Web Console または SSH でログイン
    • 作成した 非rootユーザー でSSH接続推奨
  • OpenBSD HandbookFAQ で追加設定を学習
  • 公開鍵認証 の導入と PasswordAuthentication の無効化を推奨
  • 必要に応じて セキュリティ強化 やサーバー運用のベストプラクティスを検討

参考・連絡先

  • 詳細な手順や質問は https://wallyjones.com で案内
    • OpenBSDサーバーで稼働中
  • 修正履歴 :curlのアーキテクチャ指定を"amd64"に訂正(Benへの感謝)

このガイドに従えば、 OpenBSDDigitalOcean を活用した安全・低コストな 個人Webサーバー 構築が可能。DIY精神を楽しみながら、自分だけの環境を手軽に作成可能。

Hackerたちの意見

ずっとVultr(vultr.com)を使ってるけど、BSDのVMに関してはちゃんとサポートしてくれてるし、あんまり厳密には確認してないけど、いい感じの小規模なプレイヤーって印象。10年以上もOpen/Free BSDのVMを提供してるのは、なんかいいよね。

以前、BSD用にbuyvm.netを使ったことがあるけど、特に問題はなかったよ。サポートに連絡した時も、すぐに返事が来て助かった。前はrootbsd.netを使ってたけど、今はもう存在しないみたい。

管理者はあなたのデータにアクセスできるし、もし何かが変わってなければ、それは監視されてないよ。他のプロバイダーと同じように、NSLにも従うしね。彼らの料金と実際のコストのギャップが痛い。

7.3のAMDファームウェアパッチでVPSが起動しなくなったとき、すごく助けてもらったよ。パッチ-015が出るまで手動で修正を適用してくれるって提案までしてくれた。

VultrにFreeBSDのVMをいくつか持ってるんだけど、そのうちの一つでsshdが定期的に落ちちゃうんだ。原因はよくわからないけど、いくつかの仮説があって、a) VMが侵害されてて、sshdを落とす持続的なルートキットがインストールされてるか、b) 前回の不正なシャットダウンでファイルが壊れて、sshdに必要なファイルが壊れちゃったか、c) たまにメモリ不足になってるかも。マシンにssh接続したいときは、まずVultrのダッシュボードからVNCで接続してsshdを再起動させる必要があるんだ。最新のFreeBSDを使ってるし、新しいバージョンが出たらしばらくしてからログインしてアップグレードしてる。もし侵害されてたら、脆弱性が知られてから次のアップグレードまでの間に持続的なルートキットがインストールされてたかもしれない。過去の不正なシャットダウンでファイルが壊れてたら、FreeBSDのバージョン間で変更されてないファイルかもしれないから、アップグレードしても同じ壊れたファイルが残ってるかも。理想的にはマシンを再インストールしたいけど、それはいつも面倒だから、sshdがたまに落ちるこの壊れた状態でVMを動かし続けてるんだ。

Vultrが新しくて、ラックが一つと数台のボックスしかなかった頃を覚えてる。サイトにはASCIIロゴ以外のグラフィックはなかった。安い価格だったけど、新しいボックスを作るまで待たなきゃいけないことが多かった。彼らの当時のスタンスは、「自分で何をしているか知っている人のために作ってるから、サポートは求めないでくれ、サポートはないから。」だった。でも、もうそんなに小さくはないよね。今はVCから資金を受けて、世界中に36のデータセンターを運営してて、オハイオにAIデータセンターを建設するために10億ドルを使ってる。

https://openbsd.amsterdam/も考えてるんだけど、プロジェクトに寄付するいい方法みたいだね。今のところは、最安のHetznerインスタンスを使ってる。それだとRAMは増えるけど、ディスクスペースが少なくなる(OpenBSDの自動パーティショニングにはちょっと不便だと思う)。

DigitalOceanって、今でもドロップレットの最大CPUが4つまでしか提案してないの? 2025年から2026年にかけて、彼らの計算能力が一晩で消えちゃった理由がわからないんだけど。

来年製造予定のRAMがもう売り切れたって聞いたんだけど、これも関係ある現象なのかな? https://news.ycombinator.com/item?id=49207236 例えば、Hetznerは最近価格を3倍にしたよ。 https://news.ycombinator.com/item?id=48542064

自分のオフィスや家のハードウェアでCloudflareトンネルを使えば、完全に無料でもいけるよ。古いRaspberry Pi 3で、nginxとgolangのウェブアプリを使ってシンプルなウェブサイトを運営してる。Piへのsshアクセスもあるしね。

そうそう、CloudflareのSSHトンネリングはうまくいくんだけど、SSLが設定されてるから、証明書の透明性ログに載っちゃうんだよね。これが原因で、家のシステムに不必要な注目が集まるかもしれないと思って、結局それをオフにしてTailscaleに切り替えたよ。Tailscaleは自宅のIPレンジを広告するように設定してる(192.168以外の範囲を選んだから、範囲の競合問題を避けられる)。だから、Tailscaleに接続して、まるで家にいるかのように10.X.Y.Zに接続できるんだ。覚えやすいホスト名が欲しいときは、そのプライベートIPにDNSレコードをポイントすればいいしね。

電気代はまだ払わなきゃいけないよね。「完全に無料」って考えるなら、月に$4払うのも「完全に無料」と見なされるべきだよ。

Hacker Newsで議論の続きを見る