【WEBディレクション】誰でもお客様に説明できるよう、WEBサーバ・DBサーバ・DNSについて解説します。

WEB制作・運営

今回は、WEBディレクション業務の中で、度々知識を求められる【サーバ】について、説明します。

これからWEB業界を目指す方も、WEB業界に入ったばかりの方も必須の知識なので、是非ご覧ください。

サーバーとは?

まずは、サーバーとは何かについて簡単に説明します。

Server = 情報を提供する側

Client = 普段の私たち。情報をもらう側

皆さんが普段から閲覧している、ウェブサイトやアプリケーションをインターネット経由で多数の人に提供するためのコンピューターです。

サーバーといっても、要はコンピューターのことなので、ご自身のデスクトップ、ノートパソコンでもサーバーになり得ます。

ただ、私達が普段使うようなコンピューター(パソコン)は、様々な機能が盛り込まれているため、サーバーとしての役割を担うには非効率。

なので、サーバー機能に特化したコンピューターを使うことで不特定多数の方に、WEBサービスをお届けできます。(個人のパソコンレベルでも、ローカルサーバーを立てることはできます。)

サーバーの種類

サーバーには複数の種類があります。

こちらは、WEBディレクタション業務で議題に上がる3つのサーバーについて説明します。

WEBサーバー

WEBサーバーには、皆さんが普段から目にするインターネットで表示されているコンテンツの情報が入っています。

具体的には、HTMLやCSS、Jvavascriptのデータです。コンテンツを表示するためのデータを格納しておき、コンテンツを閲覧したいというリクエスト(アクセス)に対し、レスポンスを返すことで、皆さんのパソコンの画面にコンテンツが表示されます。

  • リクエスト = コンテンツを閲覧したいという要求。URLへのアクセス。
  • レスポンス = リクエストに対してデータ(HTMLなど)を返すこと。

WEBサーバの代表的なものには、Apache(正式名称: Apache HTTP Server)があります。

XAMPPをダウンロードすると、簡単に自分のPCをサーバ化できる

XAMPPというアプリケーションをダウンロードすると、Apache、MySQLなどがPCに揃うので、サーバとしての役割を担うことができます。

XAMPPにWordpressをインストールして、検証環境を用意したりできます。

DBサーバー

DB(データベース)サーバーは、その名の通りデータベース専用のサーバーです。

DBとは、データの保管庫と理解しておけば問題ありません。

皆さんも色々なサービスを使われると思いますが、その中でも会員機能ってありますよね。

サービスを利用するために、自分の個人情報をWEB上で入力して送信!

すると、会員ページにログインができて、サービスを受けられますね。

では、その個人情報ってどこにいったんでしょうか?

その答えが、DBサーバーになります。

あなたがWEBディレクターだとして、お客様に「サーバーがパソコンみたいなものなら、WEBサーバーもDBサーバーも一緒でいいんじゃないの?」と言われたらどうしましょうか。

答えはYESです。が…

実際、同じサーバー内にWEBサーバとDBサーバが同居することは可能です。しかし、問題点があります。

1つ目の問題は、セキュリティ

WEBサーバーはクライアントが参照することができます(参照することでコンテンツを見ていますから)。
そこに、DBサーバーがあったらどうでしょうか。
個人情報のような大切なデータが、不特定多数が見れるコンテンツと同じ場所にあったら、怖いですね。

WEBサーバは公開される特性上、サイバー攻撃の対象になります。WEBサーバ経由でDBサーバに不正にアクセスされる可能性も否定できません。

そのため、通常はWEBサーバーとDBサーバーは分けて、DBはブラウザから参照できない仕様に設計します。

2つ目の問題は、負荷です。

一つのコンピューターにWEBサーバーとDBサーバーを同居させるより、それぞれ別のコンピューターで機能を持たせた方がコンピューターの負荷が減ります。

サーバーを2台用意して、1つはWEBサーバー専用、もう1つはDBサーバ専用というのが一般的です。

アクセスの多いサイトであれば、WEBサーバを複数用意することもあります。

複数のWEBサーバがあるとき、ユーザーはどのサーバでコンテンツを閲覧するのかという話になりますが、負荷分散(ロードバランサー)という機能があるので、それぞれサーバの負荷に応じて、ユーザーがアクセスするサーバーを自動で切り替えることができます。

DNSサーバー

DNSの役割

  • ドメイン名 → IPアドレス変換:
    人間が覚えやすいドメイン名(例: example.com)を、コンピュータが理解できるIPアドレス(例: 192.0.2.1)に変換します。
  • IPアドレス → ドメイン名変換(逆引き):
    IPアドレスから対応するドメイン名を調べることもできます(逆引きDNS)。

なぜDNSが必要なのか?

インターネット上のデータ送信はIPアドレスを使って行われますが、覚えやすいドメイン名を使った方が利便性が高いため、DNSがドメインとIPアドレスを橋渡ししています。


DNSの仕組み

  1. ユーザーのリクエスト:
    ブラウザで www.example.com にアクセスすると、デバイスはDNSサーバーにIPアドレスを問い合わせます。
  2. DNSクエリの流れ:
    1. ローカルDNSキャッシュ:
      まず、デバイスやルーター内のキャッシュが参照されます。
    2. リゾルバ(DNSリゾルバ):
      ISPが提供するリゾルバ(再帰的DNSサーバー)に問い合わせます。
    3. ルートDNSサーバー:
      .(ルート)を管理するサーバーが、TLD(Top-Level Domain、例: .com)のサーバー情報を返します。
    4. TLDサーバー:
      com サーバーが、ドメイン名(example.com)を管理するサーバーの情報を返します。
    5. 権威DNSサーバー:
      最終的に、ドメインの実際のIPアドレスを返します。
  3. IPアドレス取得:
    デバイスは取得したIPアドレスを使い、目的のサーバーに接続します。

主なDNSサーバーの種類

  1. リゾルバ(再帰的DNSサーバー):
    ユーザーのリクエストを処理し、IPアドレスを見つけるまで他のDNSサーバーを巡回します。
  2. 権威DNSサーバー:
    特定のドメインに関する情報を持つサーバー。ドメインのIPアドレスを公式に回答します。
  3. ルートDNSサーバー:
    インターネット全体で13個存在し、DNSクエリの最初の窓口となります。
  4. キャッシュDNSサーバー:
    よく参照されるドメインのIPアドレスを一時保存し、クエリの速度を向上させます。

代表的なパブリックDNSサーバー

  • Google DNS: 8.8.8.88.8.4.4
  • Cloudflare DNS: 1.1.1.11.0.0.1
  • OpenDNS: 208.67.222.222208.67.220.220

DNS関連の用語

MXレコード: メールサーバーの情報。

ゾーンファイル: ドメインに関する設定情報が含まれたファイル(例: Aレコード、CNAME、MXレコード)。

レコードタイプ:

Aレコード: ドメイン名とIPv4アドレスの関連付け。

AAAAレコード: ドメイン名とIPv6アドレスの関連付け。

CNAMEレコード: 別名(エイリアス)を設定するためのレコード。

まとめ

WEBサーバはウェブページのデータを提供する役割を持ち、ユーザーがブラウザでアクセスする情報を送信します。

DBサーバはデータベースを管理し、ウェブサイトやアプリのデータ(例: ユーザー情報、商品リストなど)を保存・提供します。

DNS(ドメインネームシステム)は、わかりやすいドメイン名(例: example.com)をIPアドレスに変換する仕組みで、インターネット上でデータを正しい場所に届ける役割を果たします。この3つが連携して、ウェブサービスがスムーズに動作します。

タイトルとURLをコピーしました