E note

WORKSHOP

【E CROSS TALK REPORTS vol.05】
ゼロからはじめるAWS
Web業界なら知っておきたいサーバー・ネットワーク入門

こんにちは!第5回目となる今回は講師にあさいち合同会社でエンジニアを務める中村太一氏をお招きし、Web業界で働く上でどんな職種でも全ての基本となるサーバーとネットワークについての基礎知識を詳しく解説しました。
今や私たちの生活にはPCやスマートフォン等の電子機器が欠かせなくなりましたが、普段何気なく送っているメールや写真などのデータが一体どんな手順を踏んで送受信されているのか、完璧に理解できている人は少ないのではないでしょうか?
デジタル領域を目指す方にぜひ知っておいてほしいことがたくさん詰まった内容です。ぜひ最後までご覧ください!

講師プロフィール

中村 太一

中村 太一(Taichi Nakamura)

あさいち合同会社

早稲田大学理工学部応用化学科卒業。ITシステムの受託開発をメインに、国内外のプログラマと連携を図り開発業務をこなし、プログラマ歴は約20年にのぼる。物流や金融システム、博物館、美術館でのサイネージやアミューズメント施設、携帯通信会社のインフラ設計、構築、ネイティブアプリ、サーバーレスでのサービス開発、プログラミング学校の講師などフルスタックにこなす。 現在ではAWSを使ったインフラの設計、構築に注力して得意としている。

AWSの知識を深めてレンタルサーバーとの違いを理解する

 


□ネットワークについて

 

ネットワークとは

普段多くの人が利用するたくさんのサービスは全てネットワークで繋がっています。ですからネットワークを制するものはAWSを制す、と言っても過言ではないくらいネットワークについての知識を深めることはWeb業界で働く上でとても大事なことなのです。

では一体ネットワークというのが具体的にどの部分を示すのか。

私たちがなにかを検索し、そのページが開かれるまでの動作を簡易的に説明すると、

この内②、③の部分がネットワークに当たります。

この項目で行われることは「データを送ること」。複雑そうに聞こえるネットワークという言葉ですが、目的は至ってシンプルで、データを送信するために必要なものを探す、そしてその必要なものが詰まっている場所がネットワークということになります。

 

データとは

デジタル領域では欠かすことの出来ない「データ」。写真や文章、一つ一つの文字に至るまで全てデータとし、これらはコンピューター内で2進数や10進数で表されます。そしてそのデータをパケットと呼ばれる小さなかたまりにしてバラバラに送信します。

例えば大きな画像データをそのまま送信した場合、なにかエラーが発生した時には全てを送り直さなくてはいけませんが、小さくバラバラに送信するとエラーが起こった時も該当の部分のみを再送信するだけで済みます。

 

IPアドレス

IPアドレスとは255までの数字を4つ並べた組数字の羅列で、皆さんのPCやスマホにも付いており約43億通りものアドレスが存在します。

簡単に言えばネットワーク上で使用する“端末の住所”のようなもので、データを送信する際のパケットには宛先と送信元のIPアドレスと送信したいデータが含まれます。

ポート

ポートとはいわばデータの受取窓口です。例えば皆さんも頻繁に利用するであろうメールは、意図的な設定を除いていつでも受信できますよね。これはメールの受信用ポートが常にデータを受け入れているからなんです。

さらに、送信されるデータには画像・映像・文字・文章など様々な種類が含まれます。それらが各受取窓口別に適切に送信されるよう、データやIPアドレスなどの情報をまとめたパケットという形で送信します。

DNS(ドメインネームサーバー)

IPアドレスやポートによって、送信したいところにピンポイントにアクセス出来ることはわかりましたが、IPアドレスのような数字の羅列を私たち人間が一つ一つ覚えることは不可能に近いのではないでしょうか?

それを払拭するのがDNSというシステムです。例えばPCやスマートフォンからヤフーのIPアドレスにアクセスしたいと思った時、DNSを通してIPアドレスを入手しそのアドレスにアクセスできるというもので、これらの動作は全てネットワーク上で完結するため私たちが操作することはありません。

私たちが日常的に行うサイトへのアクセスも裏ではこんな手順が踏まれているのです。

 


□httpssについて

 

HTTP

ユーザーが求めるファイルを探し出し提示する一連の動作では、ルールに則った法則でデータのやり取りがされ、そのルールをhttpssと言います。

また、データを探し出し合った場合はファイルを読み込んで送る、また無かった場合に404を返す役割を担っているのがWebサーバーです。

 

データのやり取り

・データのリクエスト

GET/index.html httpss/1.0
→GETで始めて欲しいファイル名を書くのが基本的なルール

・データのレスポンス

問題なくファイルが見つかった場合は200を文字列に入れて、無かった場合は404を入れて返します。サーバーにエラーがあったら500など他にも様々なルールに則った番号が振り当てられています。

 


□レンタルサーバーとAWS

 

レンタルサーバー

レンタルサーバーは、最初からWebサーバー、PHP、データベースなどが入っており、管理画面からWordPressやSSL証明書、ECカート、メールなどを簡単に設定・使用することが出来ます。最初から必要なものが全て用意されていますが、自分で後から言語やサーバーをインストールすることは出来ず、用意されたもの以上のことは出来ないようなイメージです。

用意されているツールで全て出来る範囲のものであれば非常に使いやすく簡単ですが、自分が好きな言語で細かくカスタマイズしたい場合はやや窮屈に感じるかもしれません。

 

レンタルサーバーを借りる

1つのサーバー、1つのIPアドレスをみんなで共有し、その中の1区画を借りるというのがレンタルサーバーの基本的な形式です。

低価格で必要なものが揃ったサーバーを借りられる反面、同じIPアドレスを他人と共有するため誰か一人が悪いことをすると同一IPアドレスから面―るが送れなくなる等のリスクも存在します。

 

AWS

AWSとはAmazon(の子会社)が運営するクラウドサービスで、ショッピングサイトを作って余ったサーバーを貸し出そうと思ったのがきっかけで始まったサービスです。

アベイラビリティゾーンという拠点が世界中にあり、各拠点をまたいでデータを保存出来るので、例えば東京の一部で停電や大地震が起きた場合にも東京の別の拠点または大阪の拠点のサーバーが対応することが出来るのです。

またレンタルサーバーが定額料金だったのに対し、AWSは使用した量と時間、回数に応じて変化する料金システムを採用しています。

 

EC2

一般的なレンタルサーバーと異なる部分としてはEC2が挙げられます。これはサイズ調整可能なコンピューティング能力の提供、つまりまっさらなサーバーを何台でも作れるということです。

複数人で同じサーバーを共有し、すでに言語やツールなど様々なものが決められている中で制作を行うレンタルサーバーと比較すると、非常に汎用性が高いシステムだと言えます。

AWSが世界中にサーバー拠点を置いて連動しているように、全てのサービスがネットワーク上で繋がっています。ですからネットワークの仕組みを理解するのはとても大事なのです。

 

 


実際にサーバーを比較する

 

  • 1. 維持費用が安いのは? レンタルサーバー
  • 2. 拡張性が高い(カスタマイズ出来る)サーバーは? AWS。拡張性はあるが、それを使うのに専門的な知識が必要。レンタルサーバーはむしろ拡張性が無いが必要なものが全て揃っていて簡単に出来るのが強み。
  • 3. 設定が簡単なサーバーは? レンタルサーバー
  • 4. セキュリティが高いのは? どちらも高い。ただし、AWSは1から自分で作るためユーザーの知識の深さも関係してくる。何も知識のない人が作れば穴だらけになることも。その代わりセキュリティに関してのオプションはとても充実している。
  • 5. 運用業務が少ないサーバーは? レンタルサーバー。運用を丸々任せるかわりに、使える機能が制限されている。

以上を踏まえて、どちらにどういった制作が向いているのか見てみましょう。

 

  • AWS ・アクセスが多く、プログラムへの負荷が多いサイト
    ・海外からのアクセスの多いサイト
    ・PHP以外で作られたサイト
    ・決済などセンシティブな情報を扱う場合
    ・消えると本当に困る情報を扱う場合
  • レンタルサーバー ・WordPressでコーポレートサイトを構築
    ・毎月決まったコストで運用したいサイト
    ・専門のサーバー管理者がいない場合
    ・メールアドレスも作りたい場合

 


まとめ

 

ここまで意外と知らないネットワークの基本からサーバーについて深掘りしてきました。初歩的でありながらもWeb・IT業界で働く上で全てに通じることなのではないかと思います。エンジニアはもちろん、デザイナーやディレクターもこうした基本の仕組みを理解することで提案や制作の幅が広がるのではないでしょうか。

E CROSS TALKではWeb/IT業界のキニナル話題について様々な角度から掘り下げていきます。次回もお楽しみに!