開発したシステムやサービスを公開するためには、サーバーの存在は必要不可欠です。

コンビニのATMや電子マネー、何気なく見ているブログや動画サービス等は、サーバーがあるからこそ皆さんが利用出来るようになっています。

今回は、サーバーとは何か、そしてサーバー構築の基本についてご紹介します。

サーバー構築とは?

サーバー構築とは?

サーバー構築とは、WEBサービス・システム等を提供するためのサーバー環境を作ることを指します。

WEBサービスを利用する場合はWEBサーバー、メールの送受信にはメールサーバーの構築等、目的に応じたサーバーを構築することで、それぞれの機能が利用出来るようになります。

そもそもサーバーとは?

サーバーとは、ネットワーク上にあるデータの保管庫、またネットワークを介して他のコンピュータにデータの情報やサービスを提供するコンピュータのことを指します。

「役立つ」「提供する」などの意味をもつ英語のServerが語源となっています。

SERVER = 役立つ・提供する

サーバーは、基本的には私たちが普段利用しているコンピュータと違いはありませんが、様々なアプリケーションやミドルウェアをインストールすることで、WEBサービスの運営やデータベースの管理等、必要に応じた役割を担うことが出来ます。

ネットワーク上でデータを提供する側をサーバーと呼ぶのに対して、サーバーから提供されたデータを利用する側をクライアントと呼びます。

サーバー:データを提供するコンピューター
クライアント:提供されたデータを利用するコンピューター

WEBサイトの閲覧を例に挙げると、私たちクライアント側の端末がサーバー側の端末へ要求を送ることで、サーバー側が対象のWEBサイトのデータファイル(HTMLや画像ファイル等)を送り返してくるため、クライアント側はそのデータファイルを基にWEBサイトを表示しています。

このように、クライアントに対して必要なサービス(情報やファイル)を提供するのがサーバーの役割です。

知っておきたいサーバー関連の基礎知識

知っておきたいサーバー関連の基礎知識

サーバー構築を考えている場合、押さえておくべき点はたくさんあります。

ここでは、最低限知っておきたい基礎知識についてご紹介します。

サーバーの種類と特徴

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

一口にサーバー構築といっても、その用途や目的に応じて、最適な選択肢は変わってきます。

代表的なサーバーの種類と、メリット・デメリット等の特徴、どういった場合におすすめのサーバーかをご説明します。

レンタルサーバー(共用サーバー)

文字通り、レンタルするサーバーのことを指します。

サーバー貸し出し専門の業者が設置・運用しているサーバーを、ユーザーが契約して借りることが出来ます。

借りた後は、提供したいサービスを遠隔でサーバーにアップロードすることで、サービスを公開することが出来ます。

高パフォーマンスなサービスを公開したい、自身でサーバーを用意出来ない方向けにおすすめです。

メリット

  • 自身でサーバーを用意する必要がなく、ランニングコストが安い
  • 基本的なメンテナンスは運営会社が行うため不要
  • 契約後、すぐに利用可能

デメリット

  • 緊急メンテナンスやセキュリティ面等は、運営会社依存の運用となってしまう
  • 他ユーザーの負荷が大きくなると、自身のサービスの通信速度にも影響が出てしまう
  • カスタマイズ性が低いため、設定が自由に出来ない

VPS

VPS(Virtual Private Server)は、仮想専用サーバーのことを指します。

物理サーバー上に利用者毎の仮想のサーバーを構築して、独立した専用サーバーと見立てて利用することが出来るサーバーです。

コストを抑えたい中小企業や、高パフォーマンスを求めないサービスの公開におすすめです。

メリット

  • 管理者権限が付与されており、カスタマイズ性が高い
  • VPSサーバー毎にメモリ・CPUが割り当てられるため、他ユーザーの影響を受けにくい

デメリット

  • 定期的なメンテナンスは自身で行わなければならない
  • サーバーに関する専門知識が必要である

専用サーバー

専用サーバーは、物理サーバーを1つ占有して、企業やサービス毎に専用として利用するサービスです。

サーバー管理の知識があり、設定等を自由にカスタマイズしたい運用の場合におすすめです。

メリット

  • OSやCPU、メモリの変更等が自由にカスタマイズ出来る
  • 専用のサーバーなので、他ユーザーの影響を受けることが全くない

デメリット

  • システムやサービスの規模によってはハイスペックなものを用意する必要があり、イニシャルコスト、ランニングコストともに高くなる
  • サーバーに関する専門知識が必要である

クラウドサーバー

クラウドサーバーは、物理サーバー上に構築された仮想サーバーにネットワーク経由でアクセスするサーバーです。

仮想サーバーにアクセスする点はVPSと同様ですが、1つの契約につき複数の仮想サーバーを利用出来るため、用途に応じてリソースの増減を選択することが出来ます。

自身でサーバーを用意出来ないが、豊富なリソースを利用したい方におすすめです。

メリット

  • サービスの規模に応じて、リソースを柔軟に追加・削除できる
  • 導入後すぐに利用可能で、イニシャルコスト、ランニングコストともに低い

デメリット

  • システムの規模によっては、長期的な利用になるとコストが高くなる場合もある
  • 緊急メンテナンスやセキュリティ面等、運営会社依存の運用となってしまう

サーバーOSの種類と特徴

クライアントPCと同様、サーバーPCにもOSにはいくつかの種類があります。

それぞれ以下のような特徴があります。

Windows系

クライアントPCでも一般的なWindowsとGUIは類似しており、操作が比較的簡単です。

国内企業のOSシェア率はWindowsが高いため、サーバー導入時にWindows系を選ぶ企業は多いです。

サーバー用のWindowsということもあり、性能は高くなっていますが導入費用は少し高めです。

Linux系

Linux系OSは、オープンソースのため無料で利用出来ることが特徴です。

WindowsのようなGUIに対応しているものも中にはありますが、コマンドラインによる操作が主となっているため、扱うためにはコマンドを覚える必要があります。

操作方法については調べればたくさん出てきますが、サーバーやLinux系のPC初心者の方には若干ハードルが高いかもしれません。

Unix系

Unixは、Linuxの派生元となったOSです。Unix系OSはネットワークへの接続に適しており、以前からサーバーOSとして使われ続けてきた実績があります。

現在Unix系は商用化されており、利用にはライセンスを購入する必要があります。

しかしながら、Unix系OSには資料や情報も多いため、カスタマイズが行いやすく、幅広いエンジニアが扱うことが出来ます。

BSD系

BSDもLinux同様、Unixの派生版になります。代表的なものにFreeBSDがあります。

オープンソースのため無料で利用出来ますが、日本語での情報が少なく、基本的なアプリケーションはLinux向きとして開発されることも多いため、初心者にはあまりおすすめしないOSです。

サーバー構築において大事なポイント

サーバー構築において大事なポイント

サーバー構築はサービスを安全に運用していくためにも大切な工程です。

大事なポイントをいくつかご紹介します。

目的に合わせたサーバー選びをする

開発・公開するシステムやサービスの規模、予算、人員のサーバーに対する理解度等の状況をまずは整理しましょう。

状況を整理すると、自身でサーバーを構築するべきか、外部のサーバーをレンタルして利用するべきかが見えてきます。

どの選択を取るのが将来的にもベストになるか、それぞれのサーバーのメリット・デメリットから考えましょう。

サーバーの安定性を確保する

サーバーは構築後も、運用に支障がないかを監視し続けなければなりません。

アクセス数の急上昇や予期せぬ不具合でサーバーがダウンしないか等、確認する必要があります。

場合によっては、サーバーの増設などの対策が求められます。

セキュリティ設定を徹底する

サービスの利用者が増えれば増えるほど、預かる顧客情報も増えてきます。

SQLインジェクションやDDos攻撃等、サーバー攻撃に備えてセキュリティ対策も行いましょう。

また、システム自身にも脆弱性が潜んでいないかの確認は重要です。

脆弱性診断については、こちらの記事でも詳しく紹介しているのでぜひご確認ください。

まずは目的にマッチしたサーバー選びから

初心者の方は、サーバー構築は何から始めるべきか悩んでしまう方が多いです。

まずは、自社や自身が公開したいサービスの規模や予算等について洗い出しましょう。

自前でサーバーを構築するべきかレンタルするべきか、コストや安全性も考慮した上でどれが最適かを見極めましょう。