現代の暮らしを支えるITサービスにおいて「サーバー」は必要不可欠な存在です。
私たちが日常的に使っている検索サイトなどでも、サーバーがないと全く機能しないと言っても過言ではありません。
「サーバーって聞いたことはあるけどいまいちよく分からない…」
「サーバーの種類や仕組みについてもっと詳しく知りたい!」
という方も、多いのではないでしょうか?
本記事では、そんな方々に向けて、サーバーの役割や種類・構成を分かりやすく解説します!
最初はとても複雑に感じられるかもしれませんが、この記事を読めば、初心者の方でも10分程度でサーバーの基礎知識や、購入・利用に必要な知識を得ることができます!
「サーバーを選ぶ上で、まずは全体的にサーバーを理解したい」といった方はぜひこの記事を参考にしてみてください!
サーバーって何? 必要な理由
”サーバー”とはネットワークを介して、他のコンピューターにサービスや情報を提供するコンピューターのことです。
ただこの説明だけでは、
「定義がぼんやりとしていてよくわからない… 」
「サーバーが提供するサービスとか情報って具体的に何?」
と思う方がいらっしゃるかと思います。まずは、いくつかの種類のサーバーを具体例に挙げ、その特徴や役割を順番に解説いたします!
webサーバーとは(基本)
「webサーバー」とは、ホームページなどのwebサイトの情報を保管し、インターネット上で公開するためのサーバーのことです。
例えば、家にあるパソコンを使いグーグルで検索をしたとしましょう。
web上には現在、17億ものホームページが存在すると言われており、私たちは膨大な量の情報から好きなページを選んで閲覧することができますよね。
では、なぜこんなにも多くのページの中から瞬時に、選んだページを表示できるのでしょうか?
実は、17億ものホームページの内容は世界中のコンピューターが協力して保管しています。この膨大なホームページの情報を保管しているコンピュータがwebサーバーに当たります。
つまり、私たちはネットワークを通して、ページの保管主であるサーバーにリクエスト(見たいとお願い)し、レスポンス(内容の返信)を受け取ることで、たくさんの情報の中から、選んだホームページを閲覧することができるんです。
この仕組みから、
・ページの保管主(提供者)➡︎サーバー
・ページの受け取り手➡︎クライアント(検索する際に使うコンピューター)
ということがわかります。
スマホ上で、カメラやメモ機能がインターネット接続なしで使用できるのに対し、web上での検索などのサービスがインターネット接続なしでは使用できないのは、端末内のデータや機能のみではなく、webサーバーを介して外部のサーバーにリクエストする必要があるから、ということなんです。
このサーバーの管理をするサーバーサイドエンジニアという職業も存在します。
年収や仕事内容など詳しいことは「ステップアップエンジニア」の「今サーバーサイドエンジニアに転職する3つのメリット!今後の需要や必要なスキルも解説」で紹介されているのでチェックしましょう!
webの3層構造(応用)
webサーバーの役割や仕組みをご説明しましたが、実際のwebページの仕組みはもう少し複雑です。
webシステムには、「webサーバー」の他に、「アプリケーションサーバー」「データーベースサーバー」が使われていることが多く、この3つのサーバーを使ったwebシステムをwebの3層構造と言います。
このwebの3層構造は、なんのために存在しているのかというと、役割分担によって、複数の仕事を柔軟にこなすようにするためなんです。
コンピューター間の情報のやり取りは、基本的に2進法(0と1の羅列からなる情報)によって行われているため、人間のように言葉による細かいニュアンスの違いを把握することができません。
よって私たちが「まとめてやればいいじゃん!」と感じる仕事も、コンピュータにとっては難しく、複数の仕事を柔軟にこなすは苦手なのです。そのために、コンピューターには事前に定められた役割にそって、それぞれの仕事をしているのです。
webサービス(3層構造)の役割は、
データベースサーバー | データベースの管理 |
アプリケーションサーバー | 入力情報に基づいたwebコンテンツの作成 |
webサーバー | クライアントとの通信とwebコンテンツ全体の管理 |
というように分けられています。
分かりやすくするために、”天気予報サイト” を具体例として見ていきましょう。
天気予報のサイトでは、日々の天気情報の変化に応じて、内容が更新されますよね。
サイト上で最新の予報の情報が更新されていくため、”1週間前に天気予報サイトで見たときは晴れと載っていたのに、今日同じサイトで確認したら、曇りに変わっている”ことがあるということです。天気予報は事前に確定するものではなく変わるものですから、そうでないと困りますよね!!
まさにこの天気予報サイトのサービスに、先ほど説明したwebの3層構造の役割分担が行われているんです。
データベースサーバー | 日々の天気情報をデータとして保管し、データをwebサイトに渡す役割 |
アプリケーションサーバー | 渡された天気データをwebページに組み込み、随時webページを作り変える役割 |
webサーバー | webページのデータ以外の部分を保管&クライアントのリクエストにレスポンス、webサイトの情報を公開する役割 |
これで、それぞれの役割がイメージできたでしょうか?
このように、日々更新され内容が変化するwebサイト(天気予報サイトやスポーツ中継やニュースサイト等)を動的コンテンツ、今ご覧になっているこのページのように、時間が経っても内容が変化しないサイトは静的コンテンツと呼ばれます。
特に動的コンテンツには、最新の情報を更新しホームページの内容を変更するという作業があるため、それぞれのサーバーが役割分担して複数の仕事を柔軟にこなす必要があるんです。
メールサーバーとは
ここでの情報とは、メールの本文や宛先、日時などを指し、クライアントはメールを送信、もしくは受信するコンピュータのことを指します。
メールは送信後すぐに相手に届くので、自分の端末から直接相手の端末に送られているように感じるかもしれません。しかし、実態はそうではありません。メールシステムにおいても、影で「メールサーバー」が活躍しています。
私たちが使う一つ一つのメールアドレスに対して、必ずメールサーバーが存在し、メールの管理・伝達をしているんです。
大まかなメールサーバーの役割はこれでご理解いただけたと思います。今度は以下の要素について解説していきます!
②メールサーバーが必要な理由
③メールサーバーが情報のやりとりをする際のルール
①メール送受信の仕組み
メールを送受信する際には、
- 送信側クライアント
- メールサーバー(送信側)
- メールサーバー(受信側)
- 受信側クライアント
以上の4つのコンピューターが存在し、それぞれが作動することで、メールの送受信は成り立ちます。
「送信側クライアント」は、まず自身が所属する「送信側メールサーバー」にメールを送信します。メールサーバーは常に電源が入っており、受信可能なため、送信者の都合の良い時間にメールを送ることができます。
次に送信側メールサーバーが、「受信側メールサーバー」にメールを転送します。
最後にメールを受信したい「受信側クライアント」が自身の「受信側メールサーバー」にメールが届いているかを問い合わせ、届いているならそのメールを受信します。
このメール送受信のシステムは、郵便のシステムにそっくりです。
郵便物も、直接手紙を受け取ったりはしないですよね。
こう考えれば、メールサーバーがどのように働いているかも、簡単にイメージできると思います!
②メールサーバーが必要な理由
①では、メール送受信には4つのコンピューターがそれぞれ働いていることをご説明しました。
ではなぜ、わざわざこのように、クライアントとの間にメールサーバーを介したシステムをとっているのでしょうか?
メールサーバーが必要である理由は、簡単に言ってしまえば、
・電源がついていない受信先への通信を可能にするため
この2点です。
もしメールサーバーを経由しなければ、メールの保存や管理などを全てクライアント(端末)がこなす必要があり、容量や作業量の面で多大な負荷がかかります。
さらに、〈メールの送受信のタイミングでメールを送る側と受け取る側、両方の端末の電源が入っていて、通信環境が良好でなければならない〉という制限も加わってしまうんです。
これらの問題をなくすために、メールサーバーは必要!!ということになります。
③メールサーバーが情報のやりとりをする際のルール
メールサーバーが情報をやりとりする際には、「プロトコル」と呼ばれる、通信の手順やルールが存在します。
例えば人間同士が会話をする際、それぞれが違う国の言語を話していては、会話が成り立ちませんよね。「日本語で話しましょう」という決まりや約束がないと、上手くコミュニケーションが取れません。
メール情報のやりとりに関してもこれと同じで、「通信するときはこうしなければならない」というルール(=プロトコル)が存在しています。
このプロトコルのおかげで、多種多様で複雑な性質のメール情報も、正確に伝えることができるということです!!
ここでは、サーバーがコンピューターそのものを指すのに対して、プロトコルは実体のある機械ではなく、情報を伝えるためのルールであるということを理解していただければ十分ですが、IT業界などでは頻出の言葉なので、もっと詳しく知りたい方は下記事を参照してみてください。
▼プロトコル関連記事▼
>>プロトコルとは?初心者でもわかるIT用語解説!
DNSサーバーとは
webシステムにおいて、クライアントは見たいページを保管するwebサーバーにリクエストを出していました。
またメールシステムでは送信側メールサーバーが受信側メールサーバーに対して、メールを送信します。
しかし、膨大な数のコンピューター(サーバーを含む)がある中で、目的の宛先に情報を送るにはコンピューターごとの位置管理システムが必要です。このシステムを管理するのが「DNSサーバー」です。郵便でいうところの住所管理システムですね。
郵便でいう住所をコンピュータの世界では「IPアドレス」と言い、このIPアドレスとURL(正確にはそこに含まれるドメイン名)を対応させる仕組みを「DNS」と言います。
DNSサーバーは世界中に多数存在しており、このDNS(対応表)と世界中のコンピュータのIPアドレス(住所)を協力して保管しています。
少し難しいので、もう少し具体的に考えてみましょう!
クライアントがあるホームページを見たい場合、まず最寄りのDNSサーバーにどこのサーバーがページを保管しているのか問い合わせます。
続いてDNSサーバーはURL内のドメインを見て、ページを保管しているサーバーのIPアドレス(住所)を突き止め、これをクライアントに教えます。住所がわかったクライアントは、その住所にいるwebサーバーにページを見せて欲しいとリクエストを出します。
つまり、クライアントにとってDNSサーバーは、必要な情報(ホームページ)へと行き着くためには欠かせない存在というわけなんです!
IPアドレスやドメインについてより詳しく知りたい方は下のページを参照してみてください。
ディレクトリサーバーとは
ディレクトリサーバーの主な用途として、ユーザー認証があります。
webページを閲覧する際、IDやパスワードが必要になる場合がありますよね。ディレクトリサーバーは、ユーザーごとのID・パスワード・個人情報をデータとして保管しており、ユーザ認証を一括して行なっています。
ディレクトリサーバーは、一般的にwebサーバーとの結びつきが強いと言えます。
というのも、あるwebサーバーがクライアントから「見せて」とリクエストを受けた際、webサーバーはディレクトリサーバーにユーザー認証を依頼します。「見せてもオッケー」と判断されれば、webサーバーはそのページをレスポンスする、という流れがあるんです。
ディレクトリサーバーがこのような役割を担うことによって、各webサーバーがバラバラにユーザー情報を保管する必要が無くなります
まとめ「サーバーとは」
ここまで、サーバーとはなにか、代表的なサーバーの例を挙げてご紹介しました。
サーバーについての基礎知識やそれぞれの役割・仕組みをご理解いただけたでしょうか??
情報やサービスはサーバーの種類ごとに異なりますが、全てのサーバーに共通して言えることは、ネットワークを介して、他のコンピューターにサービスや情報を提供するためのコンピューターであるということです!
サーバーの構成、中身はどうなっている?
1章で説明したように、サーバーとは他のコンピューターにサービスや情報を提供する「コンピューター」のことです。つまり、中身の部品は、家庭で使われるコンピューターと全く同じなんです!
しかし、サーバーと家庭で使われているコンピュータでは役割が異なります。
サーバーの役割はあくまで情報の保管・管理・送受信であり、これら役割に合わせ機能が特化しています。よって部品は同じものの、機能や容量など普通のコンピュータと異なる部分があります。
それでは具体的にみていきましょう。
サーバーラックの形
サーバーの形には大きく分けて、タワー型・ラックマウント型・ブレードサーバー型の3種類があります。それぞれの長所・短所については以下の表にまとめます。
3種類とも大きなディスプレイがなく、立体的な形をしているのが共通点です。
人が直接使って閲覧するコンピューターとは違って、サーバーにはメインディスプレイが搭載されていません。
また大量の情報を保管するため、サイズが大きくならざるを得ません。そのため、少しでも場所を取らずに済むよう立体的な形をしています。
サーバーの中身
次にサーバーの中身についてお話します。サーバーの中身も通常のパソコンと全く同じです。
外側ケースである筐体(きょうたい)の中にはマザーボードと呼ばれる一枚の基盤が入っています。その名の通り、全ての部品はマザーボード上に接続され、電気信号でやり取りできるようになっています。そしてこの部品の中で主要な役割を担うのが「CPU」「メモリ」「ストレージ(HDD,SDDなど)」の3つです。それぞれの役割について簡単に説明していきます。
まず「CPU」は演算装置と呼ばれ、コンピューターの頭脳に当たります。具体的には処理に必要な演算・加工を行い、クライアントへ届けるページやデータの作成をします。全ての”作業”はCPUが行なっていると考えて良いでしょう。
「メモリ」と「ストレージ」は”記憶装置”と呼ばれており、データの保存場所としての役割があります。この2つの違いは、以下の通りです。
・メモリのデータ:CPUが作業をする際に、直接利用・書き換えできる/電源が切れると消える
・ストレージのデータ:CPUが直接利用できないが、長期的に保存できる/電源が切れても消えない
CPUがコンピューターの脳に例えられるのに対し、メモリやストレージは、引き出しに例えられます。
ここでは細かい説明は割愛しますが、メモリやストレージにはいくつかタイプがあり適性や特徴が異なるので、どのタイプのものを使うかは、しっかりと吟味する必要があります。
「CPU」や「メモリ」「ストレージ」など、サーバーに搭載される部品はまとめて、サーバーの「リソース」と呼ばれます。
仮想サーバー
一台のサーバー内のリソースには処理する速度や仕事量、保存容量などに上限がありますが、通常は最大性能の数10%しか利用していません。あくまで余裕を持って設計されているからです。
つまりサーバーのリソースには処理や記憶できる余力が残ってしまうことになります。
「それは勿体無い!」ということで誕生したのが仮想サーバー(クラウドサーバー)です!!
近年のサーバーではこの”仮想化技術”を用いるのが一般的になりつつあります。ちなみに仮想化とクラウドという言葉はよく混同されますが、仮想化は技術自体を差すのに対して、クラウドは仮想化技術によって可能となるサービスを意味します。
仮想化技術によって、一台のサーバーがあたかも複数のものとして振る舞えるようになったサーバーのことです。
では、どのように一つのサーバーを複数にするのでしょうか?
もちろんサーバー内部にあるリソース(部品)自体を物理的に増やすことはできません。増やすのではなく、リソースを分割するのです。
また一台のサーバーのリソースを全て2つに分割すれば、一台のサーバー内にCPU・メモリー・ストレージを全て備えた「フィールド」が2つできることになります。
またこの2つのフィールドにそれぞれ異なる「OS」を搭載することも、現代のIT技術では可能です。
OSとは操作システムであり、コンピュータ内のリソースの司令塔であると考えてください。windowsやmacなどが有名なOSとして挙げられます。CPUは脳と言いましたが、OSはその脳を操作するさらなる「司令塔」です。
つまり、外から見れば一台のサーバーでも、内部では全く異なる2つのサーバーが稼働していることになります。この追加されたもう一つのサーバーが「仮想サーバー」です。
仮想サーバーのメリット
仮想サーバーがどんなものか、ご理解いただけたかと思います。
旧来のサーバーとは違い、リソースの能力を無駄なく使用することは簡単にご説明しましたが、仮想サーバーには他にもメリットがあるんです。
そこで、仮想サーバーのメリットを、大きく三つに分けてご紹介します。
①システムの無駄を省ける。
先に述べた通り、サーバーの仮想化による1番のメリットは、リソースの効率的な利用です。一台のサーバ本体を一つのサーバーとして使うよりも、分割して使うことでリソースの性能をを余すことなく利用するできます。
②リスクの分散が可能
もし一台のサーバーでサービスを提供していた場合、そのサーバーが故障すればサービスの提供ができなくなります。しかし、サーバー本体を分割し、複数の仮想サーバーを作ることで、どれかが作動しない際も残りのサーバーでカバーすることができ、リスクの分散が可能となります。
③サーバーのリソースを統合できる
仮想化技術ではリソースの分割だけでなく、統合も可能です。つまり物理的に巨大なサーバーがなくとも、多数のサーバーの余ったリソースを統合すれば、巨大な仮想サーバーを構築できます。
このようにメリットが多い仮想サーバーですが、リソースの分割によって処理能力や記憶容量が落ちること、また、作るには専門知識が必要になることなど、デメリットも存在します。
しかしこれらのデメリットを踏まえても、仮想サーバーは画期的なIT技術の一つと言えるでしょう。
終わりに
本記事ではサーバーの役割や構成、仮想サーバーについて解説しましたが、いかがでしたでしたか?
この記事が皆さんの理解に役に立てたのなら嬉しい限りです。また記事を読んでいただいた方には、実際にサーバーを購入・レンタルする予定の方も多いと思います。最後に、サーバー選びにおいて役立つ記事をいくつかご紹介します。「サーバー選びを成功させたい!」という方は、ぜひご覧になってください!
お読みいただきありがとうございました。
▼WordPressの始め方はこちら▼ 【初心者向け】WordPressブログの始め方を超簡単にわかりやすく解説