そもそもサーバーの役割とは?

そもそもサーバーの役割とは?

From: リナックスアカデミー 松田航
新宿本校にて、、、

サーバーの方が普通のパソコンよりも優れているという
漠然としたイメージを持っているのではないでしょうか?

ただ、どんなものか、
何をしているのか、すごく漠然としか理解していない、
そんな人も多いと思います。

今日は私たちの日常生活において、
必要不可欠な存在となっているサーバーについて、
その役割と特徴をご紹介します。

知らない間に実は使っている?
日常生活に密接な関わりを持つサーバーとは

例えばあなたが
スマホでメールを送ったり、
Webサイトの閲覧やYouTubeで動画を見たりするとします。

これらが実現している背景には
ネットワークとサーバーの存在があります。

他にもカードキーでのドアロック解除や、
銀行のATMでお金を入出金や振込みするなど、

私たちの日常生活においてサーバーは密接に関係しており、
あなたは知らない間に数々のサーバーを利用しているのです。

サーバーの役割は
さまざまなシステムを使用したサービスを提供することです。

サービスを提供する人(モノ)だから、
サーバーです。

ネットワークを経由して
サーバーのサービスを利用します。

サービスの提供はパソコン、スマホ、ATMなどの
クライアントと呼ばれるコンピューターからの要求をサーバーが受信し、
サーバーで処理を行った結果をクライアントに提供するという流れで進みます。

ATMの例で簡単に流れを説明すると…

(1) ATMから残高照会をサーバーに要求
(2)サーバーで口座残高を確認し、ATMに情報を返す
(3)ATMで表示された残高を確認し、10,000円を出金
(4)10,000円出金した事をサーバーに通信し、口座残高を減らす

…というような流れでサーバーとクライアントの通信が行われるのです。

普通のパソコンでも
サーバーとして利用することはできます。

が、
基本的に故障やシステムダウンさせないため、
膨大な数のクライアントからの要求を高速に処理するために、
通常のパソコンよりも遥かに高性能な処理能力を持ちます。

上等なPCを使っていると思ってください。

サーバーで提供するサービスは
使用するユーザーの数や予想される要求数に応じて
処理性能を考慮し、処理するサーバーの数も検討する必要があります。

サーバーの役割はインストールする
アプリケーションによりさまざま

サーバーを構築する際、
提供したいサービスに適した
アプリケーションをインストールします。

サーバーの役割は
インストールするアプリケーションにより
決定されるのです。

大規模なシステムにおいては
1サーバーにつき1つの役割となる事が多いですが、
1サーバーにつき複数の役割を持つケースもあります。

我が社で使っているシステムなんかはそうですね。

優秀なエンジニアが頑張ってくれているので、
同じサーバーでたくさんの役割が入っています。

(褒められたものじゃないって?
 ええ、知っています。 苦笑)

たくさん入っていると、
サーバーの費用が抑えられます。

反対に、そのサーバーが壊れると
とても大変です。

なんとなくイメージがついたでしょうか?

 

以下に代表的なサーバーの役割と、
アプリケーションを紹介しましょう。

1.Webサーバー

インターネットの必須サーバー。

クライアントからの要求に応じた
Webページをクライアントのブラウザに表示します。

代表的なアプリは「apache」。

2.Mailサーバー

メールの送受信を管理するサーバーで、
受信サーバーを「POP(Post Office Protocol)サーバー」、
送信サーバーを「SMTP(Simple Mail Transfer Protocol )サーバー」と言います。

簡単に言えば
郵便ボストがSMTPサーバーで、郵便受けがPOPサーバーです。

代表的なアプリは「sendmail」「postfix」。

3.SSHサーバー

通信する内容を暗号化して
コンピューターとリモート通信する為のサーバー。

パスワード等の重要な情報を
暗号化しないままの通信を行うと
パスワード盗聴などの恐れがあり、
セキュリティ的に問題があります。

このため、暗号や認証などの
セキュリティを施した上で通信を
行う必要があるのです。

SSHは各サーバーをリモート操作する為、
ほとんどのサーバーに同時に設定されます。

代表的なアプリは「OpenSSH」。

4.DNS(Domain Name System)サーバー

通常、インターネット上のサーバーは
IPアドレスと呼ばれるもの(8.8.8.8など)によって
識別されます。

サーバーの住所みたいなものです。

しかし、いかんせん、
わかりにくい。

そこで、
人間にわかりやすいドメイン(www.linuxacademy.ne.jp)で
アクセスできるようにしています。

これを変換しているのが、
DNSサーバーです。

代表的なアプリは「bind」。

5.FTP(File Transfer Protocol)サーバー

FTPを利用して
サーバーとのファイル送受信を可能とするサービス。

誰でも接続できる様な設定も可能ですが、
FTP接続のための専用ユーザーを作成して、
権限を持ったユーザーのみ送受信する事も可能。

代表的なアプリは「vsftpd」。

この他にも、
データベースを管理するDBサーバーや、
ストリーム配信を行うストリームサーバー、
サーバーサイドJavaプログラムを実行可能とするAPサーバーなど、
サーバーには提供するサービスによってさまざまな種類があります。

まぁ、わからなくても気にしないでください。

とにかくたくさんアプリケーションがあって、
それをサーバーに入れることによって、
動くようになるということです。

これらをいかに使うか?
どうやって利用して行くか?

などが、Linuxの世界共通試験 LPICの
内容のメイン部分になります。

サーバーの過酷な稼働環境で
トラブルを回避するには

サーバーはメンテナンス等を除き、
基本的に24時間365日稼働することが
前提とされています。

通常のパソコンの様に、
1日使い終わったら電源を切るという
サーバーはまずありません。

しかし機械にはトラブルは付き物。

24時間365日稼働させる為に、
故障やシステムダウンといったトラブルを避けるために
さまざまな技術が採用されています。

1.RAID

ハードディスクを複数用意し、
データを分散して記録することにより
障害発生時の負荷分散と処理の高速化を行う技術。

RAID1(ミラーリング)と言う手法で、
2代のハードディスクに同時に同じデータを記録したり…

RAID0(ストライピング)と言う手法で、
複数のハードディスクに分散してデータを記録することにより
データを記録する速度を高速化する技術などもあります。

RAIDには0~6までの7種類の手法が存在し、
各手法を組み合わせて運用されるケースもあります。

2.UPS(Uninterruptible Power Supply)

日本語では「無停電電源装置」という意味で、
万一停電が発生した場合でも、サーバーに電源を供給して
サーバーダウンを回避する装置です。

大量のサーバーを管理する
データセンターには必ず備え付けられており、
データ保護のため普通のパソコンに使用している企業もあります。

3.ホットスワップ

サーバーの電源をONにしたまま
ハードディスクやケーブル、パーツを交換できる技術。

サーバーの一部に障害が発生した場合でも、
サービスを停止させることなく故障した部品の交換が可能です。

4.クラスタリング

複数のサーバーを1台のサーバーの様に見せかける技術。

例えば2台のWebサーバーとした場合…

1台を運用、1台を休止状態にして待機させ、
トラブル発生時に切り替えを行う
フェイルオーバーというクラスタリング手法や…

2台とも同時に運用させておき
一方のサーバーに問題が発生してもサービスが継続できる
負荷分散型クラスタリングといった手法があります。

5.ディザスタリカバリ

データのバックアップを行う際、
サーバーと同じ場所ではなく遠隔地のサーバーにバックアップする手法。

事業継続性を考慮する上で有効な方法で、
災害などによるトラブルが発生してサーバーが故障しても、
バックアップデータは遠隔地に保存しているので、
バックアップデータをリカバリして短期間で事業再開できるのが特徴です。

いかにしてダウンタイムを抑えるか
それがサーバーエンジニアの究極の目標

このようにサーバーは
日常生活や企業業務と密接な関わりがあり、
24時間365日稼働させないといけない過酷な状況下で
高い処理能力を発揮させる必要があります。

サーバーダウンを回避する技術には
上で紹介した以外にもさまざまあるのですが、
いずれの技術においても…

「いかにしてシステム稼働停止時間(ダウンタイム)を短くするか」

…というのが究極の目標であると言えます。

ダウンタイムが長くなればなる程、
ユーザーはそのサービスを使用することができず、
ユーザーからの信頼を失墜させることにもなりかねません。

ダウンタイムが続けば続くほど、
ユーザーは利益を得る機会を失ってしまうのです。

普段私たちが使用している
パソコンも十分に大切な存在ですが、
サーバーはそのサービスを利用する
多くの人にとって大切な存在です。

一件、プログラマーよりも地味な職業ですが、
必要性は同等以上あり、やりがいのある職業です。

ITに興味があり、
業界に入っていきたいなら、
インフラ技術・サーバー技術をスキルとして体得することが、
近道になります。

ぜひ、学習を進めてみてください。
 
 

リナックスアカデミー
松田

PS

現在のIT業界における
サーバーエンジニアの需要は高く、
データセンターや企業のIT部門など、幅広く活躍できるステージがあります。

未経験でもスキルさえ習得すれば、
就職や転職できるチャンスは非常に高いと言えます。

サーバーエンジニアには
ネットワークの知識も必要不可欠ですが…

当校ではサーバー構築からネットワーク、セキュリティまで、
インフラ系のスキルやノウハウを総合的に身に着けることができます。

現場で使えるインフラ系スキルを身に着けたい…

そんなあなたはまず、リナックスアカデミーの資料をみて見てください。
↓↓↓
サーバーエンジニアになるならこちら