0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】DNS・ドメイン・サーバー運用の基本:Webサービス公開の仕組みを理解する

Last updated at Posted at 2025-08-28

DNS・ドメイン・サーバー運用の基本:Webサービス公開の仕組みを理解する

🚀 はじめに

この記事では、Webサービスを外部に公開するために必要不可欠な、DNS、ドメイン、サーバー運用の基本知識を解説します。インフラ初心者から Web開発担当者まで、具体的な設定手順やトラブル対応を学び、自社サービス公開の流れを理解することをゴールとします。

対象読者: インフラ初心者~Web開発担当者
ゴール: 具体的な設定手順やトラブル対応を学び、自社サービス公開の流れを理解する

🎯 なぜこの知識が必要?

社内Webサービスを公開するために必須の知識

外部からアクセスできる仕組みを理解しないと、トラブル対応やセキュリティ設計ができません。

✅ 理解すると...

  • サービス障害の原因特定が早くなる
  • セキュリティリスクを把握できる
  • コスト最適化の判断ができる

❌ 理解せずに運用すると...

  • DNS障害で長時間復旧できない
  • SSL証明書切れでサービス停止
  • セキュリティホールを見落とす

⚠️ SSL証明書が切れると、ブラウザに「接続はプライベートではありません」という警告が表示され、ユーザーがアクセスできなくなります。

🌐 Webサービス公開の全体像

リクエストの流れ

ブラウザ → DNS → Webサーバー → アプリ → DB
          ↓      ↓         ↓      ↓
     名前解決  IPアドレス  コンテンツ  データ

各要素の役割

  • 🏷️ ドメイン - Webサイトの名前(例:example.com)
  • 🔍 DNS - 名前をIPアドレスに変換(名前解決)
  • 🖥️ サーバー - コンテンツを返す実際のマシン

リクエストの流れ: ①ユーザーがURL入力 → ②DNSでIP検索 → ③サーバーにアクセス → ④コンテンツ取得 → ⑤ブラウザに表示

WordPressサイトの具体例

ユーザー(example.com を入力)
↓
DNS(203.0.113.10 を返却)
↓
Webサーバー(Apache/Nginx)
↓
WordPress(PHP処理)
↓
MySQL(データ取得)
↓
HTMLページを生成してユーザーに返送

🏷️ ドメインとは?

Webサイトの住所

example.com のような覚えやすい名前のことです。

取得方法

ドメインレジストラで検索・購入します:

  • お名前.com
  • ムームードメイン
  • AWS Route53
  • Squarespace Domains(旧Google Domains)

年間コスト目安

ドメイン種類 価格目安(年間)
.com 1,000円~
.jp 3,000円~
.co.jp 4,000円~

⚠️ 注意点: ドメイン取得後、DNS設定やネームサーバー設定が必要です
ネームサーバー: ドメインとIPアドレスの対応を管理するサーバーのこと
※価格は2025年時点の目安で、変動する可能性があります

🔍 DNSとは?

Domain Name System

www.example.com203.0.113.1(ドメイン名をIPアドレスに変換)

主要なDNSレコード種類

  • A レコード - ドメイン → IPv4アドレス(例:example.com → 203.0.113.1
  • AAAA レコード - ドメイン → IPv6アドレス(IPv6対応サイト用)
  • CNAME レコード - 別名(エイリアス)設定(例:www → example.com
    • 注意:ルートドメイン(Apex, @)ではCNAME使用不可。ALIAS/ANAME対応のDNSかA/AAAAを使用
  • MX レコード - メールサーバー指定(例:mail.example.com
  • NS レコード - ネームサーバー指定(ドメインのDNS設定をどこで行うか)

サブドメインとは

メインドメインの前に付ける識別子:

  • example.com(メインドメイン)
  • www.example.com(一般向けサイト)
  • api.example.com(API専用サーバー)
  • admin.example.com(管理画面)
  • blog.example.com(ブログサイト)
  • dev.example.com(開発環境)

セカンダリDNSサーバー

  • 冗長化 - プライマリ障害時のバックアップ
  • 負荷分散 - アクセス負荷を分散
  • 高可用性 - サービス停止リスク軽減

通常はドメインレジストラやDNSサービス提供者が冗長化してくれているため、ユーザーが直接設定することは少ない

DNSレコード設定例

; DNSレコード設定例
example.com.        A      203.0.113.10
www.example.com.    CNAME  example.com.
mail.example.com.   MX     10 mail.example.com.

; 末尾のドット(.)はルートゾーンを表す
; 省略すると自動補完される場合もある

🚀 ドメイン取得から公開までの流れ

  1. ドメイン取得
    お名前.com / AWS Route53 でドメイン購入

  2. DNS設定
    ネームサーバー指定 → Aレコードでサーバーip登録

  3. サーバー構築
    AWS EC2、ConoHa VPS、さくらのVPS等でサーバー準備
    (Docker、AWS CLI等の活用も検討)

  4. SSL証明書設定
    Let's Encrypt(無料)またはCA認証局から取得

  5. 動作確認
    ping、curl、ブラウザで接続テスト
    (ブラウザのF12デベロッパーツールも活用)

動作確認コマンド例

# 基本的な疎通確認
ping example.com
curl -I https://example.com

# DNSの確認
nslookup example.com
dig example.com A

📝 実際のDNSレコード設定例

# コマンドライン形式での表記例(参考)
example.com.        A      203.0.113.10
www.example.com.    CNAME  example.com.
api.example.com.    A      203.0.113.11
mail.example.com.   A      203.0.113.20

; 実際の設定はドメイン管理会社のコントロールパネルで行います

設定のポイント

  • TTL(Time To Live): 300秒程度に設定(キャッシュの有効期間。短くすると変更が早く反映されるが、DNSサーバーへの問い合わせが増加)
  • 冗長化: 複数のAレコードでロードバランシング、セカンダリDNSで可用性向上
  • サブドメイン: 機能ごとに分けて管理しやすくする(api.、admin.、dev.など)
  • 設定方法: 通常はドメイン管理会社のコントロールパネル(コンパネ)で設定

実際の設定画面イメージ(お名前.comの例)

ホスト名 TYPE VALUE TTL
@ A 203.0.113.10 300
www CNAME @ 300
api A 203.0.113.11 300
mail A 203.0.113.20 300

※@マークは自分のドメイン名(example.com)を表します

⚠️ DNS伝播: 設定変更後、世界中のDNSサーバーが古い情報をキャッシュしているため、更新に時間がかかります。環境により数分以内~48時間程度(Cloudflare、Route53では通常数分以内)

🖥️ サーバー運用の基本

定期メンテナンス

  • OSアップデート、セキュリティパッチ適用
  • ログローテーション、ディスク容量チェック
  • 監視ツール設定(Zabbix、Prometheusなど)

セキュリティ設定

  • ファイアウォール(22:SSH, 80:HTTP, 443:HTTPS)
  • SSH鍵認証 + ポート変更(セキュリティ向上)
  • 不要なサービス停止、ログ監視

バックアップ

  • DBダンプ(毎日)、ファイルバックアップ
  • スナップショット、復元テスト

よく使う運用コマンド

# CentOS/RHEL系
sudo yum update -y
sudo systemctl status httpd
sudo firewall-cmd --list-all

# Ubuntu/Debian系
sudo apt update && sudo apt upgrade -y
sudo systemctl status apache2
sudo ufw status

# ログローテーション設定例
sudo vim /etc/logrotate.d/myapp

監視のポイント: CPU使用率、メモリ使用率、ディスク容量、応答時間を定期的にチェック

🛡️ セキュリティ対策

基本的なセキュリティ

  • SSH鍵認証 - パスワード認証を無効化
  • ポート制限 - 必要最小限のポートのみ開放
  • 最小権限の原則 - 管理者(root)での直接操作を避ける
  • 定期更新 - OS・ソフトウェアの最新化

Webアプリケーション

  • HTTPS必須 - SSL/TLS証明書の設置
  • WAF(Web Application Firewall)の検討 - 不正な攻撃を防ぐ
    Cloudflare(無料プランあり)/ AWS WAF
  • DDoS対策 - レート制限・監視の設定

SSL証明書の比較

項目 無料(Let's Encrypt) 有料SSL
価格 無料 年間 数千円〜数万円
有効期限 90日(自動更新可) 1年間
サポート なし あり + 補償
証明書種類 DVのみ DV/OV/EV対応(EV証明書は信頼性表示あり)

⚠️ 自動更新設定必須: Let's Encryptは90日で期限切れするため、必ずcronで自動更新を設定
0 0 * * * certbot renew --quiet

💰 運用コスト目安

主要な費用

項目 価格目安
ドメイン費用(年間) .com: 1,000円~, .jp: 3,000円~, .co.jp: 4,000円~
サーバー費用(月額) ConoHa VPS: 1,000円~, さくらのVPS: 900円~, AWS EC2: 数百円~
SSL証明書 Let's Encrypt: 無料, DV証明書: 年間5,000円~, EV証明書: 年間50,000円~

規模別コスト例

規模 構成 月額コスト 年間コスト
小規模 VPS 1台 + ドメイン + 無料SSL 1,000円 13,000円
中規模 VPS 2台 + LB + ドメイン + 有料SSL 3,000円 41,000円
大規模 AWS構成 + CDN + 監視 + EV証明書 10,000円~ 150,000円~

コスト最適化のポイント: 小規模スタート → 負荷に応じてスケールアップ → 必要に応じてクラウドサービス活用
⚠️ 注意: クラウドサービスはデータ転送量によって料金が大きく変動します
※価格は2025年時点の目安です

🚨 社内でよくあるトラブル

DNS伝播待ち

  • 症状: DNS設定を変更したが、一部の人だけアクセスできない
  • 対策: 最大24~48時間待つ。急ぎの場合はTTLを短く設定

ポート閉じ忘れ

  • 症状: サーバーは動いているが、ブラウザでアクセスできない
  • 対策: ファイアウォールで80/443番ポートが開いているか確認

証明書の自動更新失敗

  • 症状: Let's Encryptの証明書が期限切れでサイトエラー
  • 対策: crontabで自動更新設定 + 監視アラート設置

ドメイン有効期限切れ

  • 症状: サイト全体が完全にアクセス不可になる(最も深刻)
  • 対策: ドメイン自動更新設定 + 期限切れ通知設定

ディスク容量不足

  • 症状: サイトが重い、エラーが頻発する
  • 対策: ログローテーション設定 + 容量監視アラート

トラブル解決の基本手順

# 1. 基本的な疎通確認
ping ドメイン名
curl -I https://ドメイン名

# 2. DNSの確認
nslookup ドメイン名
dig ドメイン名 A

# 3. サーバーの状態確認
systemctl status httpd  # Webサーバー
systemctl status nginx
df -h                    # ディスク使用量
free -h                  # メモリ使用量

# 4. ログの確認
tail -f /var/log/httpd/error_log
tail -f /var/log/nginx/error.log

予防策: 定期的な死活監視 + ログ監視 + 容量監視で問題を早期発見

📋 まとめ

4つの基本要素

  • 🏷️ ドメイン = 名前 - Webサイトの住所、覚えやすい識別名
  • 🔍 DNS = 名前解決 - ドメイン名をIPアドレスに変換
  • 🖥️ サーバー = 実体 - 実際にコンテンツを配信するマシン
  • 🛡️ SSL = セキュリティ - 通信を暗号化、信頼性を確保

重要なポイント

  • セキュリティファースト: SSL証明書、ファイアウォール設定は必須
  • コスト管理: 小規模から始めて段階的にスケールアップ
  • 監視・運用: 問題の早期発見と迅速な対応が重要
  • バックアップ: データ損失に備えた定期的なバックアップ

これで基本的なWebサービス公開の流れが理解できたはずです。必要に応じて、各セクションを自社の運用ポリシーに合わせてカスタマイズしてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?