文系プログラマの雑記

文系プログラマの考え、プログラミングの紹介

【AWSの前提知識】サーバについて徹底解説

f:id:ShotaNukumizu_1000:20210819101644p:plain

おはようございます。Shotaです。

今日も昨日に引き続きAWSを扱う上で必要な前提知識について徹底解説していきます。


「サーバは名前は聞いたことがあるけど、どんなのかはわからない」

「サーバって何をするの?」


そのように考えている人も少なくないでしょう。

現在では、サーバ無しで構築されるシステムはないと言っても過言ではありません。サーバはシステムの中核を担っています。

そこで、今日の記事では

  • サーバの種類と特徴
  • AWSで提供されているサーバ

この2点について徹底解説します。



サーバとは

f:id:ShotaNukumizu_1000:20210714063207p:plain

AWSの代表的なサービスとして、Amazon EC2(Elastic Computer Cloud)があります。簡単に言えば、Amazon EC2は簡単にサーバを借りられるシステムです。

サーバとは名前の通り、なにかサービスを提供するものを指します。身近な具体例で言えば、Webの機能を提供するWebサーバがあります。提供するサービスの種類によって「〇〇サーバ」と呼ばれます。

サーバの機能はソフトウェアで提供されます。サーバ機能を搭載するコンピュータでは、普段使っているパソコンと同じようにOSが動いており、その上でソフトウェアが動きます。つまり、「〇〇サーバ」は「〇〇用ソフトウェアを入れて、その機能をもたせること」と同じ意味だと考えて良いでしょう。

あと、一つのマシンに複数のサーバを同居させるという芸当もできます。一つのコンピュータにいくつまで「〇〇サーバ」の機能が搭載できなくなるという制限はありませんが、あまりたくさん入れすぎると処理が追いつかなくなってしまい障害が発生します。

そのため、実際の運用ではたくさんのソフトウェアを一つのコンピュータに同居することはないでしょう。


代表的なサーバ

下記に代表的なサーバを列挙しました。ざっとでもいいので目を通しておきましょう。

サーバ 特徴
Webサーバ Webサイトの機能を提供するサーバ。HTMLファイルやプログラムを設置する。
メールサーバ メールの送受信を担当するSMTPサーバと、クライアントにメールを受信させるPOPサーバがある。
データベースサーバ データを保存したり、検索したりするためのデータベースを置く。代表的なものにMySQL, PostgreSQLがある。
プロキシサーバ 通信を中継する役割を持つサーバの総称。社内LANなどインターネットから隔離された場所からインターネットのサーバに接続する時に使う。
認証サーバ ユーザ認証するためのサーバ。無線LANやリモート接続する際にユーザ認証する「Radiusサーバ」がある。


サーバに必要な要素

サーバ機能をインストールするコンピュータは、特殊なコンピュータではありません。サーバと普段使っているパソコンとの違いは、役割の違いであって機器の違いではないからです。

そのため、ノートパソコンやデスクトップと同じようにCPUやメモリ、ストレージ、OSなどがあります。普段使っているパソコン本体すらもサーバにすることもできます。ただし、サーバ用のパソコンはサーバ用に使いやすくなっています。24時間稼働することが前提になっていますので、無駄な機能は省略されており、壊れにくいパーツが選択されています。

項目 説明
CPU パソコンの頭脳。制御や演算などの処理を担う。プログラムの実行を担当
メモリ 一時的な記憶装置。CPUそのものには記憶装置がないので、プログラムを実行する際にデータの格納場所として使う。
マザーボード 電子回路基板。CPUやメモリ、ストレージを接続する
ストレージ 補助記憶装置。HDDやSSDを指す。メモリに書き込んだ内容は、電源を落とすと消えてしまうので永続的に残したいデータはストレージに書く
OS(Operating System) コンピュータを動かすためのシステム。ハードウェアとOS上で動くソフトウェアの仲介を担当。


インスタンスとサーバ

Amazon EC2では、サーバはインスタンスとして作成されます。インスタンスとは「実態」という意味で、実際に稼働している仮想化されたコンピュータです。

機能としてのサーバはインスタンスとは呼ばないです。したがって、「Webサーバのインスタンス」を作ることはあっても「Webインスタンス」とは言いません。


まとめ

f:id:ShotaNukumizu_1000:20210713093812p:plain

今日はAWSの前提知識としてサーバとインスタンスについて徹底解説しました。

今日の記事を参考にサーバに関する基礎知識への理解が深まれば幸いです。

今日の記事はこれで終了です。

【参考】