[初心者向け]色んなサーバ達の役割を知る


はじめに

IT業界に入ったばかりの新人やあまりインフラの知識がない人たち向けに、ザックリとサーバのことを知ってもらいたい

対象

  • ITの知識に乏しい人
  • インフラの基本的なことを勉強したい人
  • サーバ構築などの勉強を始めるにあたり、ザックリとしたイメージを付けたい人

ゴール

以下のサーバ群について大体の役割が分かる。
基本情報なんかで出てきたとき、あーあれね!ってなる。

  • Webサーバ
  • DBサーバ
  • DNSサーバ
  • Mailサーバ

本題

まずは各サーバについて機能の概要を説明する。
そのあと、各サーバが連携して色んなサービスが提供されることを説明できたらいいな。

Webサーバ

ホームページなどいわゆるWebサイトを作りたい時に使う。
Webサービス用のプログラム自身(Apache HTTP Server / IIS)やこれらのプログラムがインストールされたサーバを指す。

なお、クライアントとの通信にはHTTP(80/tcp),HTTPS(443/tcp)を使用する。

DBサーバ

ユーザ毎のデータを貯めたい時などに使う。
Databeseサービス用のプログラム自身(Oracle Database / PostgreSQL)やこれらのプログラムがインストールされたサーバを指す。

また、Webサーバと連係して、動的コンテンツ(ユーザ毎のログインページなど)を実現したいときに利用する。

なお、クライアントとの通信は製品によって異なり、Oracle Database(1521/tcp),PostgreSQL(5432/tcp)を使用する。

DNSサーバ

IPアドレスとFQDNを紐づけたい時に使う。
IPアドレスはインターネット上で考えるとパソコンやサーバの住所のようなものと考えてもらうとよくて、
IPアドレスは数字だけで表示されるから、人間には理解しずらい。だから、名前つけようね的な話。

なお、クライアントとの通信にはDNS(53/udp)を使用する。

ちなみに、qiita.comのサイトは以下のようにサーバのIPアドレスを確認することができる。(Webサーバは3台の冗長構成なのかな??)

$ dig qiita.com

〜省略〜

;; ANSWER SECTION:
qiita.com.      14  IN  A   13.114.166.234
qiita.com.      14  IN  A   176.34.13.209
qiita.com.      14  IN  A   13.113.58.5

Mailサーバ

メールを送受信する時に使う。
メールを利用する際はクライアントソフト(Outlookなど)を思い出す人が多いけど、中の仕組み的には、メールサーバ間でメールを送受信しあっている。

また、メールサーバは、DNSサーバにメールアドレスの@以降を問い合わせし、送信先のメールサーバを特定している。

なお、クライアントとの通信にはメール送信SMTP(25/tcp)、メール受信POP3(110/tcp),IMAP4(143/tcp)を使用する。

イメージ図

上記のサーバ群を使うとこんな風になるよのイメージ図
*IPアドレスは、プライベートアドレスを振ってますが、本来ならグローバルアドレスです。
*sierbc.co.jpというドメインは例なので存在しません。

上段、緑色のラインはパソコンからブラウザでWebサイトにアクセスしようとした時をイメージしてみました。
まずブラウザで(sierbc.co.jp)にアクセスしようとした時には

  • ①DNSサーバに名前解決を行いIPアドレスを特定
  • ②IPアドレスを元にWebサーバへアクセス
  • ③必要に応じて、DBサーバへアクセス された結果が、表示される

下段、オレンジのラインはパソコンから別の会社の人にメールを送ろうとした時をイメージしてみました。
まず([email protected])にメールを送信しようとした時には

  • ①メールソフトからメールサーバにメールを送るタスクが実行され
  • ②メールサーバはDNSサーバに名前解決を行いIPアドレスを特定
  • ③相手先のメールサーバへ送信された結果を、相手先の人がメールソフトで確認する。

以上、書いてみましたがザックリすぎたらごめんなさい。