
2026/08/26 2:23
DigitalOcean で月額 $4 の OpenBSD を起動する
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
著者は、GitHub Pages や Cloudflare などのマネージドサービスから、デジタルオーシャン上にホストされた非常に安全な OpenBSD 7.9 サーバーへホームページを移行することに成功し、月額約 4.24 ドルでの運用を実現しました。本ガイドでは、
miniroot79.imgイメージ(arm64 から amd64 に修正)を使用して、最小限の Web スタック—具体的には httpd(8) と acme-client(1) を通じた Let's Encrypt のインストール—who検証された手順で説明しています。このプロセスには、512MB のドロップレットを作成し、イメージのチェックサムを検証し、リカバリーコンソールを介してシステムを構成するというステップが含まれます。セキュリティは最優先として、ルート SSH ログインを無効化し、SSH キー認証を使用するとともに、不要なセット(X11 やゲームなど)を除去し、非ルートユーザーのパスワード認証を無効化することで実施します。フルディスク暗号化によりさらなるコスト削減が可能ですが、OpenBSD の制限により、起動時のパスフレーズ手入力が必要となります。その結果得られるシステムは、極めて小さいフットプリントを持ち、robust な脅威緩和を実現しており、OpenBSD のセキュリティ評判を活用しつつ、bsd、base79.tgz、man79.tgz などの必須コンポーネントを備えています。本文
デジタルオシアンで $4/月に OpenBSD サーバーを構築・運用する方法
OpenBSD を動作させた自作ウェブ環境を、クラウドフレア(デジタルオシアン)へ移行しました。GitHub Pages や現役の OpenBSD ホームページと同じく、無料または非常に安価なコストで SSL/TLS 証明書を取得する仕組みを実現しています。
専業ソフトウェア開発者として自宅 PC に触れなくなることもありますが、幼少期からの「自作(DIY)」への懐古と UNIX シェルアカウントを介した友人との思い出を想い起こし、今回、OpenBSD を DigitalOcean で立ち上げる詳細な手順をまとめました。
コスト概算
- 月間料金: $4.00
- 実費用(税込): 約 $4.24
- ※非常に安価ながら、プロフェッショナルなセキュリティとパフォーマンスを提供します。
1. OpenBSD のダウンロード
OpenBSD 7.9 の miniroot イメージ を取得します。最も簡便で安全な手順です。
ダウンロードコマンド
curl -O -O https://cdn.openbsd.org/pub/OpenBSD/7.9/amd64/{miniroot79.img,SHA256}
チェックサム確認
ダウンロードしたイメージの完全性を検証します。
sha256sum -c --ignore-missing SHA256 miniroot79.img # 期待出力:miniroot79.img: OK
2. デジタルオシアンの登録とイメージアップロード
DigitalOcean アカウントへのログイン後、カスタムイメージとして
miniroot79.img をアップロードします。
アップロード手順
- 左側ナビゲーションの STORAGE > Backups & Snapshots をクリック。
- Upload an Image ボタンをクリックし、ダウンロードしたファイルをアップロード。
- データセンター(リージョン): ご自身の事情に合わせて選択可能。
- 配信元: 「Other(その他)」を選択(BSD ディストリビューションがデフォルトに含まれないため)。
- イメージ名: 覚えやすい名称を設定(例:
)。OpenBSD miniroot79 - Add Custom Image ボタンをクリック。
⚠️ 重要:カスタムイメージの管理 デジタルオシアンはカスタムイメージに対して料金を課します。サーバーが正常に動作し始めた後、必ずこのページに戻って不要なイメージを削除してください。
3. ドロップレットの作成
アップロードしたイメージを使用したドロップレットを作成します。
コンフィグレーション設定
- メモリ: 512MB
- CPU: 1 vCPU
- 転送量: 500GB
- ディスク: 10GB
- カスタムイメージ: 先ほどアップロードした
を選択。miniroot79.img - プラン: Basic
セキュリティ設定
- SSH キー: 認証セクションに追加必須(DigitalOcean 側で自動生成されません)。公式ガイドに従って鍵を生成・登録してください。
- IPv6: 現状、有効化不可能なため注意が必要です。
ドロップレットの名称を設定し、Create Droplet ボタンをクリックします。総額 $4.00/月 の破格な価格となります。
4. OpenBSD のインストール
新規作成したドロップレットへアクセスし、Web コンソール経由で OS をインストールします。
アクセス方法
- ドロップレット詳細ページから右上の Web Console ボタンをクリック。
- モーダルウィンドウが表示されたら、Launch Recovery Console をクリック。
- 新しいブラウザタブが開き、青色背景に白い文字で現れます。
インストールステップ
ターミナル内で
i と入力し、Enter キーを押してセットアップを開始します。以下の問いに回答してください(デフォルト値でも動作しますが、各自の環境に合わせて調整可能です)。
- ホスト名: サーバーに魅力的な名前を付けてください。
- ネットワークインターフェース:
を選択。vio0 - IP アドレス設定: IPv4 および IPv6 は「autoconf」を選択し、完了後に
。[done]- ※後から他のインターフェースも追加設定可能です。
- ルートパスワード: 強力なパスワードを設定してください。
- SSH 起動: デフォルトで
を起動します。sshd(8) - X Window システム: 「no」と入力して有効化を拒否(基本的なサーバー構成のため)。
- コンソールデバイス: デフォルトの
に変更しないよう注意。com0 - 新ユーザー作成: 非ルートアカウント(ご自身のアカウント)を作成し、強力なパスワードとユーザー名を設定。
- SSH リストニング: ルートアカウントからの SSH ログインを無効化します。
- タイムゾーン: 適切な地域を選択。
- ルートディスク:
を選択(サイズ確認は「?」で)。sd0
🔐 フルディスク暗号化について 高度なセキュリティが必要な場合、「p」を選んでパスフレーズによる暗号化を選択可能です。
- (W)hole disk MBR を選択。
- 強力なパスフレーズを入力。
- 配列レイアウトは (A)uto layout。
の初期化は不要(Enter でsd1)。[done]注意点: 現時点で Web コンソールからのパスワード入力に代わる簡便なリブート機能は存在しません。再起動時には毎回パスフレーズを入力する必要がありますが、セキュリティ上のメリットを考慮し、この手順でも十分運用可能です。
セット選択(最小構成)
セットのインストールを開始します。今回は最小限の Web サーバー構成とするため、不要なコンポーネントを除外します。
- プロトコル: http
- ミラー選択:
で一覧を表示し、利用データセンターに最も近い番号を選択。括弧表示を確認後 Enter キーを押す。? - ディレクトリ:
のデフォルトを使用。pub/OpenBSD/7.9/amd64
不要なセットを削除するコマンド: 以下の記述を入力して、最小構成(bsd, bsd.rd, base79.tgz, man79.tgz)のみを残します。
-x* -gam* -com*
署名検証が完了しセットインストールが終わったら
[done] を選択し、Enter キーで再起動します。
5. SSH 接続と初期設定
OS が起動したら、Web コンソールから SSH への移行を行います。
接続手順
- フルディスク暗号化選択時: パスフレーズを入力して
プロンプトへ進みます。自動起動も可能です。boot> - SSH キーのコピー: Web コンソールからコピーしても良いですが、作業性のため SSH 推奨です。
- 接続:
- DigitalOcean ダッシュボードでパブリック IP アドレスをコピー。
- ターミナルにて、インストール時に作成した非ルートユーザーを使用して接続してください。
ssh user_name@PUBLIC_IP_ADDRESS
⚠️ 注意点: インストール時にルートの SSH ログインを無効化しているため、
アカウントへの直接 SSH はできません。root
推奨セキュリティ強化
OpenBSD の ハンデブック および FAQ を参照し、以下の措置を施してください。
- 公開 SSH キーの追加: サーバーにコピーする。
- パスワード認証無効化:
で/etc/ssh/sshd_config
設定。PasswordAuthentication no-
PasswordAuthentication yes -> no
-
- HTTP セキュリティ: Let's Encrypt を用いた SSL/TLS 証明書の発行(httpd と acme-client)。
これで、月額 $4 という破格の価格で動作する高セキュリティな OpenBSD サーバーが完成しました。
追記:修正履歴
- 2026/8/25 17:45 (EDT): コマンド内のアーキテクチャ指定を
からarm64
に修正しました。Ben 氏による貴重なご指摘に感謝申し上げます!amd64