本記事では、サーバーについてよくある疑問で「サーバーでなにができるの?」、「標準のパソコンとサーバーと何が違うの?」、 「サーバー種類とその役割はなに? 」といったものがあります。こんな初心者の疑問を解消すべく、サーバーの基礎とその種類について解説します。
本記事の読者層は以下の方を想定しています。
- サーバーとは何か、どんなことができるのか知りたい方。
- サーバーを導入したい初心者の方
サーバーの基礎
サーバーで一体何ができるか?
サーバーは、標準的なデスクトップ コンピューターやノートパソコンコンピューター (以降 パソコン) が実行できるすべてのことができるだけでなく、それ以上の処理がきるものです。逆に言えば、パソコンでもサーバープロセスを実行できますが、生産性がはるかに低くなってしまいます。生産性の高い高性能なサーバーでは、ネットワークにさまざまなサービスや機能を提供できるのが特長です。
パソコンとサーバーの違いはなに?
それでは、「パソコン」と「サーバー」の主な違いは何でしょうか?
以下にパソコンと比べサーバーが有している特徴を3つ示します。
パソコンのサーバーの特徴は
- 【安定性・信頼性の違い】システムが安定に動作しており、常にオンラインで利用可能であることを保証している。
- 【処理能力の違い】CPUおよびRAMで高い処理能力を有している。
- 【スケーラビリティの違い】ユーザーやワークフローの増加にともに処理能力の拡張性(スケーラビリティ)を有している。
このような機能を有しているののがサーバーと呼ばれています。
さまざまなサーバーを解説
サーバーと一言にいっても実はにはいろいろあります。「○○サーバー」といったようにサーバーの前に○○の名前が付いたサーバーを聞いたことはありませんか? 実は、サーバーには特殊な用途を持つサービスを提供する専門的なサーバーがいくつもあります。一台のサーバーが、実に何役もサービスや機能を提供する場合もあります。これらには専用のサーバーアプリが導入されており、次に示すような種類のサーバーがよく知られて言います。以下、いくつかご紹介致します。
Webサーバー
Web サーバーは、クライアント側がWeb ブラウザー経由で要求した HTTP または HTTPS を処理し、一般に HTML ドキュメント(Web ページの形式)で結果を返すサーバー ソフトウェアです。Linux で有名な Web サーバーの 1 つは 「Apache 」です。Apache は、Linux や Windows などの複数のプラットフォームで実行できるプラットフォーム間の Web サーバーです。Web サーバーがインストールされたコンピューターをサーバー機と呼び、インターネットに情報を提供します。我々が良くブラウザで見ている情報はこれらのサーバーから提供された物です。
代表的なWebサーバーアプリは以下の通りです。
WEBサーバーアプリの種類は
- NGINX (オープンソフトウェア)
- Apache HTTP server (オープンソフトウェア)
- HTTP server (Oracle社)
- Internet Information Server (Microsoft社)
より具体的なWEBサーバー構築方法は以下のリンクをご参照ください。
DHCPサーバー
DHCPサーバーは、Dinamyc Host Configuration Protocolの略で、IPアドレスを要求したコンピューターに自動的に提供するサービスです。このIPアドレスを提供するコンピューターは DHCP サーバー機と呼ばれ、要求を実行するコンピューターを DHCP クライアントと呼びます。 IPアドレスを自動的に提供・割り振る機能はDHCP 機能とよばれ、ネットワーク上の複数のコンピューターのIPアドレスを簡単に管理できます。
DHCPサーバーの種類は
- isc-hecp-server (オープンソフトウェア)
メールサーバー
メール サーバーは、現実世界になじみ深い例で例えるならば、「郵便配達員に相当するもの」をコンピューター化したものです。我々が普段利用しているすべての電子メールは、送信時に一連のメール サーバーを経由して目的の受信者に届きます。メッセージは瞬時に送信されるように見えるかもしれませんが (ある PC から別の PC に瞬く間に移動し目的のPCに到達)、実際には複雑な一連の転送経路が存在します。
最近ではスパム対策が取られた「gmail」や「hotmail」などのwebメールが主流になってきましたが、このようなwebメールもメールサーバーによって駆動しています。
メールサーバーの種類は
- Postfix (オープンソフトウェア)
データベースサーバー
データベース サーバーは、サーバーに格納されているデータベースを格納および管理し、承認されたユーザーにデータ アクセスを提供するために使用されます。このタイプのサーバーは、定期的にバックアップ処理できる大型パソコンにデータを保持します。また、ユーザーとアプリケーションがネットワーク全体のデータに一元的にアクセスできるようにします。組織で使用される多数のデータベースは、データを保護し、クライアントの要求に対応するように特別に構成された 1 つのサーバーに保存します。
サーバーの構成ウィザードには、データベース サーバーの構成可能な役割が含まれていません。データベース サーバーは、ネットワーク データベース アプリケーションを実行し、Microsoft SQL Server や Oracle などのデータベース ファイルを保持する任意のサーバーです。SQL Server は、高性能のデータベース管理システムです。これはデータの保存と分析に使用され、ネットワークを介して膨大な量のデータにすばやくアクセスする機能をユーザーに提供します。SQL Server は、他の方法では利用できない追加のセキュリティ手段を提供し (この章の後半の「データベース サーバーのセキュリティ保護」セクションで説明)、サーバー上で処理が行われるため、トランザクションを安全かつ迅速に行うことができます。
- MySQL (オープンソフトウェア)
- PostgreSQL (オープンソフトウェア)
- SQLite (オープンソフトウェア)
データベースサーバーの種類は
もっとも有名なMySQLサーバーの使用例は以下の記事を参照ください。
DNSサーバー
ドメイン ネーム システム DNS ( Domain Name System) は、TCP/IP (Transmission Control Protocol/Internet Protocol) を使用したネットワークでコンピューター名を検索 (名前解決) するために使用されるデータベース システムです。このシステムを搭載するコンピューターがDNSサーバーです。DNS は、Web ブラウザーや電子メールなど、インターネットに接続されているアプリケーションで使用され、コンピューターの DNS ホスト名を IP アドレスにマップするのに役立ちます。DNS は、インターネットの電話帳機能と考えたらわかりやすいでしょう。ネットワーク上の各コンピューターには、ホスト名 (コンピューター名) とインターネット プロトコル (IP) アドレスがあります。一般に、コンピューターを別のコンピューターに接続する各クライアントは、ホスト名を使用します。次に、コンピューターは DNS サーバーに接続して、IP アドレスなど、要求したホスト名を確認します。この IP アドレスは、コンピューターを他のコンピューターに接続するために使用されます。
代表的なDNSサーバーソフトウェアには以下のものがあります。
FTPサーバー
FTP とはファイル転送プロトコル (File Tronsport Protcol) の略です。UDP (User Datagram Protocol) 接続の代わりに TCP (Transmition Control Protocol) を使用し、ネットワーク内のファイルに機能するプロトコルです。FTP で2 つの重要なことは、「FTP サーバー」と 「FTP クライアント」です。FTP サーバーは、Exchange サービス ファイルを提供するソフトウェアを実行しているサーバーです。サーバーは、FTP クライアントから要求 (要求) を受け取ると、いつでも FTP サービスを提供する準備ができています。FTP クライアントは、ファイル交換の目的で FTP サーバーへの接続を要求しているコンピューターです。FTP サーバーに接続すると、クライアントは FTP サーバーによって付与されたアクセス許可にしたがって、ダウンロード、アップロード、名前の変更、削除、ダウンロードなどを行うことができます。
代表的なFTPサーバーソフトウェアには以下のようなものがあります。
FTPサーバーの1つでProftpdの使用例は、以下のリンク記事をご参照ください。
SSHサーバー
SSHまたは Secure Shell は、2 台のコンピューターが通信し、データを共有できるようにするネットワーク通信プロトコルです。ssh 固有の機能は、2 台のコンピューター間で通信が暗号化されることです。つまり、安全を確保出来ないネットワーク間通信に適しています。SSH は、「ログイン」してリモート コンピューターで操作を実行するために使用されますが、データの転送にも使用されます。
代表的なSSHサーバーソフトウェアには以下のようなものがあります。
SSHサーバーの種類は
- openSSH (オープンソースソフトウェア)
より具体的なopenSSHの使用方法は以下のリンク記事をご参照ください。
プロキシサーバー
プロキシ サーバーは、コンピューターとインターネットの間をブリッジする役割を果たすサーバーです。インターネット ブラウザ、ダウンロード マネージャーなどのデータ交換に利用されます。プロキシという用語は、主に「代理・代行」という意味で、クライアントが直接WEBサイトへアクセスするデータの受け渡しを代行して処理してくれます。これにより自分の情報の匿名性が高まります。
- DeleGate (オープンソースソフトウェア)
- Apache HTTP Server (オープンソースソフトウェア)
- Squid (オープンソースソフトウェア)
プロキシサーバーの種類は
その他のサーバー
その他にも、格安レンタルサーバー会社により提供されているブログ用の「WrordPressサーバー」、AppleやMicrosoftなどの大企業で利用されていますが、webサーバーから受け取った情報を処理するような大規模サーバーで使われる「ap サーバー(アプリケーションサーバー)」、googleが提供しているyoutubeなどの「メディアサーバー」などもあります。
スーパーコンピューターとサーバー
最後に、スーパーコンピューターとサーバーの違いを考えてみます。スーパーコンピューターは科学技術計算に優れた能力を発揮するコンピューターで処理能力が高く、安全性・信頼性が高いからこそできる計算能力と、シュミレーションなどのサービスも提供してくれるため、正にサーバーです。
ただ国家プロジェクト級のコンピューターであるため、不特定多数へサービスを提供することができないことから汎用性の高い意味のサーバー機というよりはスーパーコンピューターと呼ばれているかと思われます。
ちなみに、現在の世界で最速スーパーコンピューターは下記記事でも触れた米国製「Frontier」です。国内最速のコンピューターは「富岳」です。
まとめ
UbuntuサーバーとPCの違いとして
- サーバー機はPCよりも、より「安定性・高信頼性」、「高処理能力」、「高いスケーラビリティ」を持つ。
次回の記事をご期待下さい。どうぞよろしくお願いいたします。
コメント