Kon's DX Lab - Case Study

Day 88|サブドメインってどう使うの?

Published on 2025-06-28

🔬 Case Study Summary
Problem

(ここに課題を記述)

Result

(ここに具体的な成果を記述)


Tech & Process

(ここに採用技術とプロセスを記述) コードを詳しく見る »

こんにちは、こんです🦊

今回は、api.〜 や admin.〜 などのサブドメインを使って、1つのドメインを役割ごとに分ける方法を解説します!


1. 導入:この記事でできるようになること

この記事では、api.〜 / admin.〜 / demo.〜 などのサブドメインを作って、用途に応じてアプリを分けて運用する方法 を学びます。
• api.yourtool.xyz → API専用の入り口
• admin.yourtool.xyz → 管理画面
• demo.yourtool.xyz → デモ用環境

💡 なぜ必要?

• URLを整理してわかりやすくする
• 部分的に公開/非公開を分けやすい
• ロール(役割)ごとにセキュリティを分けられる


2. 背景・基礎知識

🔹 サブドメインとは?

• メインドメイン:yourtool.xyz
• サブドメイン:api.yourtool.xyz、admin.yourtool.xyz

「ドメインの前に好きな名前をつけて“別区画”を作れる仕組み」です。


📦 例えると:

yourtool.xyz = あなたのオフィスビル
api.yourtool.xyz = API部門のフロア
admin.yourtool.xyz = 管理室
demo.yourtool.xyz = 来客用の体験スペース

同じビル内で部屋を分けるように、サブドメインで役割を分担するイメージです。


3. 実践パート

✅ ステップ1:DNSでサブドメインを設定

お名前.comの管理画面から Aレコード を追加します。

例)api.yourtool.xyz を VPS に向けたい場合

✅ ステップ2:nginxでサブドメイン用の設定ファイルを作る

sudo nano /etc/nginx/sites-available/yourtool
server {
    listen 80;
    server_name api.yourtool.xyz;

    location / {
        proxy_pass http://localhost:5000;  # APIアプリ
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 80;
    server_name admin.yourtool.xyz;

    location / {
        proxy_pass http://localhost:8000;  # 管理画面
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 80;
    server_name demo.yourtool.xyz;

    location / {
        proxy_pass http://localhost:8501;  # デモ環境
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

✅ ステップ3:設定を有効化&リロード

sudo ln -s /etc/nginx/sites-available/yourtool /etc/nginx/sites-enabled/
sudo nginx -t  # 構文チェック
sudo systemctl reload nginx

✅ ステップ4:SSLも忘れずに

Let's Encrypt を使ってサブドメインもまとめて HTTPS 化しておくと安全です。

sudo certbot --nginx

4. つまずきポイントと対処法(FAQ)

5. まとめと次回予告

• サブドメインは 役割でURLを整理する最強の道具。
• nginxの設定 × DNS設定 で切り分けを実現できる。

次回は、サブドメインごとのアクセス制御や、パスワード保護の設定 について紹介予定です!