FOR BEGINNERS未経験向け

A用語の整理段0土台層とは

サーバーとは何か|「頼まれる側」という役割で理解する。機械の種類ではない

サーバーとは何か|「頼まれる側」という役割で理解する。機械の種類ではない

「Web サーバーにデプロイする」「サーバーが落ちた」「EC2 は仮想サーバー」と、サーバーという言葉は AWS を学び始めた瞬間から出てきます。でも、サーバーが「大きなコンピュータ」なのか「ソフト」なのか「場所」なのか、聞くたびに指しているものが違って見える。この記事は、サーバーを機械の種類ではなく「役割」として捉え直し、頼む → 届く → 処理する → 返すの1枚の絵で持てるようにします。

この記事の結論

  • サーバーとは「頼まれる側」の役割の名前で、「頼む側」がクライアントです。機械の種類ではありません。
  • 同じ機械が、ある場面ではサーバーに、別の場面ではクライアントになります。
  • 頼み方の種類で名前が変わります。ページを頼むなら Web サーバー、メールならメールサーバー、データなら DB サーバー。
  • サーバーの中で起きているのは「頼む → 届く → 処理する → 返す」の4つで、どんなサーバーも同じです。
  • 物理サーバーは1台の機械、仮想サーバーは1台を何台にも見せたもの、クラウドのサーバー(EC2)はその1台を借りたものです。
  • 「サーバーが落ちた」とは頼んでも返事が無い状態で、原因は機械・ソフト・道のどれかです。

サーバーとは「頼まれる側」。クライアントは「頼む側」

飲食店を思い浮かべてください。席に座って「これください」と頼む客と、頼まれて料理を出す店員がいます。店員は「店員という種類の人間」ではなく、その場で「頼まれる側」を担っている人です。仕事が終わって別の店に入れば、その人は客になります。

コンピュータの世界も同じで、頼む側をクライアント(サービスを頼む側のプログラムや機械)、頼まれる側をサーバー(頼みを受けて処理し、結果を返す側のプログラムや機械)と呼びます。サーバーは役割の名前であって、機械の種類の名前ではありません。

だから、次のことが同時に成り立ちます。

  • 手元のノートパソコンに Web サーバーのソフトを入れれば、そのノートパソコンは Web サーバーになる。
  • 巨大なデータセンターの機械も、別のサーバーに何かを頼んでいる瞬間はクライアントになる。
  • 1台の機械の中で、サーバーのソフトとクライアントのソフトが同時に動いていることもある。

WHO ASKS, WHO ANSWERS役割の名前

頼む側がクライアント、頼まれる側がサーバー。役割の名前

クライアント

頼む側。人が操作することが多い

  • ブラウザ・メールアプリ・スマホのアプリ
  • 「これください」と頼んで、返事を待つ
  • 頼む相手の住所と窓口を知っている

サーバー

頼まれる側。待ち受けている

  • Web サーバー・メールサーバー・DB サーバー
  • 頼まれたら処理して、返事を返す
  • 1か所に置いて、大勢の頼みを受ける
同じ機械が、場面によってどちらにもなる

なぜ役割で分けるのか。頼む側と頼まれる側を分けると、頼まれる側を1か所に置いて、大勢の頼む側がそこを使えるからです。ページを見たい人が何万人いても、ページを持っているのは1か所(か、その複製)でよい。この形をクライアント・サーバー方式と呼び、Web もメールもデータベースもこの形で動いています。MDN の「クライアントとサーバーの概要」も、この2つの役割から説明を始めています。

CHECK 1ここまでの確認

「サーバー」という言葉について正しいのはどれ?

答えと解説

答え: 2. 「頼まれる側」という役割の名前

サーバーは役割の名前で、頼む側がクライアント、頼まれる側がサーバーです。同じ機械が場面によって両方になります。最初の章を読み直してください。

頼み方の種類で名前が変わる|Web・メール・DB・ファイル

「Web サーバー」「メールサーバー」「DB サーバー」と名前が並ぶと、別々の機械のように見えます。しかし違うのは「何を頼まれるか」であって、頼まれる側という役割は同じです。飲食店でも、料理を頼まれる人と会計を頼まれる人がいるように、頼みの種類で呼び名が変わります。

名前 何を頼まれるか 頼む側の例 使う約束事の例
Web サーバー 「このページ(HTML・画像)をください」 ブラウザ HTTP / HTTPS
メールサーバー 「このメールを届けて」「届いたメールを見せて」 メールアプリ SMTP / IMAP
DB サーバー 「この条件のデータを出して」「この行を保存して」 アプリのプログラム MySQL・PostgreSQL などの独自の約束事
ファイルサーバー 「このファイルを開かせて」「保存させて」 パソコンのエクスプローラー SMB / NFS
DNS サーバー 「この名前の住所を教えて」 ブラウザ・OS DNS

「約束事」は、頼み方の決まりのことです。頼む側と頼まれる側が同じ約束事を使って初めて会話が成立します。この約束事をプロトコルと呼び、詳しくはネットワークとは何かで扱います。

1台の機械に、Web サーバーとメールサーバーの両方のソフトを入れて、両方の頼みを受けることもできます。逆に、Web サーバーだけを何台にも分けて置くこともあります。「◯◯サーバー」は機械の数ではなく、受けている頼みの種類の数です。

頼む → 届く → 処理する → 返す|サーバーの中で起きていること

どんな種類のサーバーでも、起きていることは4つの段階に分けられます。ブラウザで Web ページを開く場面で追ってみます。

  1. 頼む。 ブラウザが「このページをください」という頼みを作る。この頼みをリクエストと呼ぶ。
  2. 届く。 頼みが、ネットワークという道を通ってサーバーに届く。住所(IP アドレス)と窓口(ポート番号)で相手を探す。
  3. 処理する。 サーバーが頼みを読み、ページを探し(またはプログラムを動かして作り)、返事を組み立てる。
  4. 返す。 返事が同じ道を戻り、ブラウザに届く。この返事をレスポンスと呼ぶ。

REQUEST AND RESPONSEサーバーの中で起きていること

頼む、届く、処理する、返す。どのサーバーも同じ4つ

  1. 頼む

    ブラウザが頼みを作る

  2. 届く

    住所と窓口で相手に届く

  3. 処理する

    ページを探す・作る

  4. 返す

    レスポンスが戻る

どこで止まったかで「うまくいかない」を切り分ける

Web の約束事である HTTP では、返事の先頭に「どうなったか」を示す番号が付きます。仕様(RFC 9110)で決まっていて、200 は「頼みどおりにできた」、404 は「頼まれたものが見つからない」、500 番台は「サーバーの側でうまくいかなかった」です。ブラウザで「404 Not Found」を見たことがあれば、それはサーバーが処理して「無い」と返してきた、つまりサーバーはちゃんと動いていて、返事をしたということです。

なぜ4つに分けて持つのか。あとで「うまくいかない」ときに、どこで止まっているかを切り分けられるからです。頼みが作られていないのか、届いていないのか、処理で失敗したのか、返事が戻ってこないのか。この絵は、この先どのサービスを学ぶときも同じ形で使えます。

CHECK 2ここまでの確認

ブラウザが「このページをください」と頼み、返事が返ってくるまでの順番はどれ?

答えと解説

答え: 2. 頼む → 届く → 処理する → 返す

頼み(リクエスト)が道を通ってサーバーに届き、サーバーが処理して、返事(レスポンス)が同じ道を戻ります。「頼む → 届く → 処理する → 返す」の章を読み直してください。

物理サーバー・仮想サーバー・クラウドのサーバーは何が違うか

役割の話が済んだので、機械の話をします。「サーバー」の前に付く言葉で、機械の持ち方が変わります。

  • 物理サーバー。 1台の機械そのもの。自分で買い、置く場所と電気と冷房を用意し、壊れたら自分で直す。
  • 仮想サーバー。 1台の物理的な機械を、ソフトの力で何台にも見せたうちの1台。この「何台にも見せる」技術を仮想化と呼ぶ。1台の強い機械に、独立した OS を何個も動かせるので、機械の数より多くのサーバーを持てる。
  • クラウドのサーバー。 AWS が持つ物理的な機械を仮想化で分けた1台を、借りたもの。AWS では EC2(Elastic Compute Cloud。借りられる仮想サーバー)がこれにあたる。

PHYSICAL / VIRTUAL / CLOUDどこまで自分で面倒を見るか

EC2 は、借りた1台の中だけを自分で面倒を見る

自分で機械を置く

  • 建物・電気・機械(物理サーバー)
  • 仮想化(1台を何台にも見せる)
  • OS(Linux など)
  • アプリ(Web サーバーのソフトなど)

EC2 を借りる

  • 建物・電気・機械(物理サーバー)
  • 仮想化(1台を何台にも見せる)
  • OS(Linux など)
  • アプリ(Web サーバーのソフトなど)

自分で面倒を見るAWS が面倒を見る

役割(頼まれる側)はどれも同じ。違うのは持ち方

3つとも「頼まれる側」としての役割は同じです。違うのは、どこまでを自分で面倒を見るか。物理サーバーは建物から自分で持ち、仮想サーバーは機械1台の上に何台も置き、クラウドのサーバーは機械と仮想化を AWS が持って、借りた1台の中(OS とアプリ)だけを自分で面倒を見ます。EC2 のユーザーガイドも、EC2 を「クラウド上の仮想サーバー」として説明しています。

なぜ仮想化が要るのか。物理的な機械は、ほとんどの時間、力を余らせているからです。1台に1つの役割しか載せないと、機械の数だけ場所と電気が要る。1台を何台にも見せれば、余っている力を使い切れる。クラウドとは何かで見た「借りて使う」形は、この仮想化があって初めて成り立ちます。

CHECK 3ここまでの確認

EC2 について正しいのはどれ?

答えと解説

答え: 1. AWS から借りた仮想サーバー1台

EC2 は、AWS が持つ機械を仮想化で何台にも分けたうちの1台を借りたものです。「物理・仮想・クラウド」の章を読み直してください。

「サーバーが落ちた」とは何か|機械・ソフト・道のどれか

「サーバーが落ちた」は、正確には「頼んでも返事が無い状態」です。飲食店で言えば、頼んでも店員が来ない。理由は3つのどれかです。

原因の場所 何が起きているか 飲食店なら
機械 電源・部品・容量の問題で、機械そのものが動いていない 店が閉まっている
ソフト 機械は動いているが、頼みを受けるソフトが止まっている・詰まっている 店は開いているが、店員が手一杯で来ない
道 機械もソフトも動いているが、頼みが届かない・返事が戻れない 店に行く道が通れない

未経験の人が最初に覚えておく切り分けは、この3つの区別です。「落ちた」と言われたときに、機械が止まっているのか、ソフトが返事をしないのか、道が切れているのかで、見る場所も直す人も変わります。道の切り分けはping と DNS で分かる「つながる」の仕組みで扱います。

「返事が無い」と「エラーの返事が来た」は別です。404 や 500 番台は、サーバーが処理して返事をした状態で、道も機械も動いています。返事が来ないのが「落ちた」で、エラーが来るのは「動いているが、頼みに応えられなかった」です。この区別が付くだけで、原因を探す範囲がかなり狭まります。

まとめ

サーバーとは「頼まれる側」の役割の名前で、頼む側がクライアントです。機械の種類ではないので、同じ機械が両方になれます。頼み方の種類で Web・メール・DB・ファイルと名前が変わり、どのサーバーでも中で起きているのは「頼む → 届く → 処理する → 返す」の4つです。物理サーバーは1台の機械、仮想サーバーは1台を何台にも見せたもの、EC2 はそのうちの1台を借りたものです。「落ちた」は返事が無い状態で、原因は機械・ソフト・道のどれか。次は、頼みがサーバーまで届く道のしくみをネットワークとは何かで、借りた1台をEC2 とは何かで見ます。

READ ALSO — 未経験向け・段1 入口 EC2 とは何か|インスタンス・AMI・EBS・セキュリティグループを「借りた1台」で理解する

参照ソース

SCOREこの記事の確認テスト

0/3問 正解

各章の「ここまでの確認」に答えると、ここに集まります。結果はこの端末のブラウザにだけ残り、サーバには送りません。

FAQよくある質問

サーバーとパソコンは何が違いますか?

役割が違うだけで、仕組みは同じコンピュータです。自分が使うために操作するのがパソコン、他から頼まれた仕事をこなすために置いておくのがサーバーです。パソコンにサーバーのソフトを入れれば、そのパソコンはサーバーになります。サーバー用の機械は「止まらないこと」「たくさんの頼みをさばくこと」に寄せて作られているだけです。

Web サーバーと Web サイトは同じものですか?

違います。Web サイトは「見せる中身(ページや画像)」で、Web サーバーは「その中身を、頼まれたら返すソフトと、それが動いている機械」です。同じ Web サーバーの上に、複数の Web サイトを置くこともできます。

サーバーを学ぶには、次に何を読めばいいですか?

「頼み」がどうやってサーバーまで届くかを知るために、ネットワークの記事(住所・窓口・約束事)へ進んでください。サーバーの中で動いている OS(多くは Linux)に触るなら、Linux の記事へ。AWS でサーバーを1台借りてみるなら EC2 の記事です。

SAME TRACK同じ領域の記事

クラウドとは何か|オンプレミスとの違いと、IaaS・PaaS・SaaS の区分を「借り方」で理解する
クラウドとは何か|オンプレミスとの違いと、IaaS・PaaS・SaaS の区分を「借り方」で理解する 段0 土台とは