Webサービス公開に必要なもの

Webサービスを公開するには、主に3つの要素が必要です:

  • ドメイン名: サイトのアドレス(例: example.com)
  • サーバー: アプリケーションを実行する環境
  • SSL証明書: HTTPS通信のための証明書(次の記事で解説)

ドメイン名とは

ドメイン名は、インターネット上の住所のようなものです。IPアドレス(123.45.67.89のような数字)を人間が覚えやすい文字列に変換したものです。

ドメインの構造

https://www.example.com/
         │    │      │
         │    │      └─ トップレベルドメイン(TLD)
         │    └──────── セカンドレベルドメイン(SLD)
         └───────────── サブドメイン

主なトップレベルドメイン(TLD)

  • .com: 商用、最も一般的
  • .net: ネットワーク関連
  • .org: 非営利組織
  • .jp: 日本
  • .io: テック系で人気
  • .app: アプリケーション向け

ドメイン取得サービスの選び方

主要なドメインレジストラ

1. お名前.com(国内最大手)

  • ✅ 日本語サポート充実
  • ✅ 価格が比較的安い
  • ✅ キャンペーンが多い
  • ⚠️ 更新時の価格上昇に注意

2. Google Domains

  • ✅ シンプルなUI
  • ✅ プライバシー保護が標準
  • ✅ Google Cloudとの連携
  • ⚠️ 2023年にSquarespaceに売却

3. Cloudflare Registrar

  • 最安値クラス
  • ✅ プライバシー保護無料
  • ✅ CDN・DNS機能が優秀
  • ⚠️ 英語のみ

4. ムームードメイン

  • ✅ 初心者向けで使いやすい
  • ✅ ロリポップと連携
  • ✅ サポート充実

選定のポイント

  • 価格: 初年度だけでなく更新料金も確認
  • DNS管理: 柔軟な設定が可能か
  • Whois情報公開代行: 個人情報を隠せるか(重要)
  • 移管のしやすさ: 他社への移行が可能か

ドメイン取得の手順(お名前.com例)

ステップ1: ドメインの検索

1. お名前.comにアクセス
2. 希望のドメイン名を入力
3. 取得可能かチェック

ドメイン名の選び方のコツ

  • 短く覚えやすい
  • スペルが簡単
  • ブランド名と一致
  • 数字やハイフンは避ける(推奨)

ステップ2: オプション選択

  • Whois情報公開代行: 必ず有効化(個人情報保護)
  • ドメインプロテクション: 任意
  • メールアドレス作成: 必要に応じて

ステップ3: 支払い

クレジットカードまたは銀行振込で支払います。初年度は数百円~2000円程度です。

ステップ4: DNS設定の準備

ドメイン取得後、DNSレコードを設定する必要があります(後述)。

サーバーの種類と選び方

主なサーバータイプ

1. 共用サーバー(レンタルサーバー)

  • ✅ 安価(月500円~)
  • ✅ 設定が簡単
  • ⚠️ 性能制限あり
  • ⚠️ カスタマイズ性が低い

向いている用途: WordPressブログ、小規模サイト

2. VPS(Virtual Private Server)

  • root権限で自由にカスタマイズ
  • ✅ 専用リソース保証
  • ✅ 拡張性が高い
  • ⚠️ Linux知識が必要
  • 💰 月1000円~5000円程度

向いている用途: カスタムアプリ、Docker利用、本記事の対象

3. クラウドサーバー(AWS、GCP、Azure)

  • ✅ 無限の拡張性
  • ✅ 従量課金制
  • ⚠️ 複雑で学習コストが高い
  • 💰 使用量次第で高額に

向いている用途: 大規模サービス、エンタープライズ

推奨VPSサービス

1. ConoHa VPS(国内、初心者向け)

  • ✅ 日本語サポート充実
  • 時間課金対応
  • ✅ SSD標準、高速
  • ✅ テンプレート豊富
  • 💰 512MB: 687円/月~

2. さくらのVPS(国内、老舗)

  • ✅ 安定性が高い
  • ✅ サポート充実
  • ✅ スタートアップスクリプト
  • 💰 512MB: 590円/月~

3. Vultr(海外、高性能)

  • ✅ 世界中にデータセンター
  • 時間単位の課金
  • ✅ 高性能SSD
  • ⚠️ 英語のみ
  • 💰 $6/月~

4. DigitalOcean(海外、人気)

  • ✅ シンプルなUI
  • ✅ ドキュメント豊富
  • ✅ Kubernetesサポート
  • 💰 $6/月~

VPS契約の手順(ConoHa VPS例)

ステップ1: アカウント作成

1. ConoHa VPSサイトにアクセス
2. メールアドレスとパスワードで登録
3. SMS認証で本人確認
4. 支払い方法を登録

ステップ2: サーバープラン選択

  • メモリ: 最低1GB推奨(Dockerを使う場合は2GB以上
  • リージョン: 東京リージョン(日本向けサービスの場合)
  • OS: Ubuntu 22.04 LTS推奨

ステップ3: rootパスワード設定

強力なパスワードを設定してください(英数字+記号、12文字以上)。

ステップ4: SSH鍵の登録(推奨)

パスワード認証より安全です。

# ローカルでSSH鍵ペアを生成
ssh-keygen -t ed25519 -C "your_email@example.com"

# 公開鍵をコピー
cat ~/.ssh/id_ed25519.pub

コピーした公開鍵をConoHaの管理画面に登録します。

サーバーへの初回接続

SSH接続

# IPアドレスを確認(ConoHa管理画面)
ssh root@123.45.67.89

# 鍵認証の場合
ssh -i ~/.ssh/id_ed25519 root@123.45.67.89

初期設定(セキュリティ対策)

# システムアップデート
apt update && apt upgrade -y

# 一般ユーザーの作成
adduser myuser
usermod -aG sudo myuser

# ファイアウォール設定
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

# rootログインの無効化(推奨)
# /etc/ssh/sshd_config を編集
PermitRootLogin no
PasswordAuthentication no

DNS設定

ドメインとサーバーを紐付ける設定です。

Aレコードの設定

ドメインレジストラ(お名前.com等)の管理画面で:

タイプ: A
ホスト: @(またはwww)
値: 123.45.67.89(サーバーのIPアドレス)
TTL: 3600

DNS反映の確認

# DNSの確認
dig example.com

# または
nslookup example.com

反映には数分~数時間かかる場合があります

Dockerのインストール

サーバーにDockerをインストールします。

# 古いバージョンの削除
apt remove docker docker-engine docker.io containerd runc

# 依存パッケージのインストール
apt install -y ca-certificates curl gnupg lsb-release

# Docker公式GPGキーの追加
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# リポジトリの追加
echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null

# Dockerのインストール
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
  docker-compose-plugin

# 確認
docker --version
docker compose version

アプリケーションのデプロイ

方法1: Gitでクローン

# Gitのインストール
apt install -y git

# リポジトリのクローン
git clone https://github.com/yourusername/your-app.git
cd your-app

# Docker Composeで起動
docker compose up -d

方法2: SCPで転送

# ローカルからサーバーへファイル転送
scp -r ./my_flask_app root@123.45.67.89:/opt/

料金の目安

月額コスト例

  • ドメイン: 100円~200円/月(.com の場合)
  • VPS(2GB): 1,500円~3,000円/月
  • SSL証明書: 無料(Let's Encrypt)

合計: 約2,000円/月でWebサービスを運用可能

トラブルシューティング

DNS設定が反映されない

  • 設定から24~48時間待つ
  • TTL値を短く設定する
  • キャッシュをクリアする

サーバーに接続できない

  • ファイアウォールの設定確認
  • セキュリティグループの確認(クラウドの場合)
  • SSHポート(22番)が開いているか確認

まとめ

この記事では、ドメイン取得からサーバー契約、初期設定までを解説しました。

学んだこと

  • ドメインの選び方と取得方法
  • VPSサービスの選定基準
  • サーバーの初期セキュリティ設定
  • DNS設定によるドメインとサーバーの紐付け
  • Dockerのインストールとデプロイ

次のステップ

次の記事では、Let's EncryptでHTTPS化する方法を解説します。