【初心者向け】AWS上でのブログシステム構築9 AWSの全体構成について

前回まででWordPressの導入/設定が終わり、ブログシステムを立ち上げることができました。今回から数回に分けて、これまで説明を省略してきた箇所について、初心者の方のスキルアップにつながるよう、詳細に解説したいと思います。

まず今回はAWSの全体構成について紹介します。

<スポンサーリンク>

AWSの全体構成

前回までの記事の中で「VPC」、「サブネット」、「インスタンス」などの聞きなれない言葉が出てきたと思います。これらの関わり合いを図示したものが下になります。

一つ一つ、順を追って説明していきましょう。

①VPC

VPCとはVirtual Private Cloudの略で、ユーザー専用の仮想的なネットワーク領域です。

「仮想的」というのがやや分かりにくい表現かと思います。

実際、Amazonのデータセンターには、サーバーなどの機器類やネットワーク回線などが多数設置されており、これにより大きな物理的なネットワーク領域が構築されています。しかしながら、AWSを利用するユーザーは、これを丸々借りたりするわけではありません。(仮にそうすると、相当のコストが発生してしまいます)

ではどうしているかというと、AWSでは仮想化技術というものを活用し、これら物理的な領域を、文字通り「仮想的」に複数の論理的な領域に分け、分割された領域毎にユーザーに占有させているわけです。ユーザーはこの仮想的に分割された占有領域にサーバーを立てたりしているのです。

②サブネット

VPCはユーザー専用の1つの大きな仮想的ネットワーク領域です。ただ、場合によっては、この領域をさらに分割して利用したい場合があります。例えば、Webサーバーのような外部からアクセスされることが前提のサーバーと、機密情報が格納されているDBサーバーのような、外部からアクセスされたくないサーバーが混在している場合、ネットワーク領域を分割して、Webサーバーをインターネットからアクセス可能なネットワーク領域に、DBサーバーをインターネットからはアクセスできないネットワーク領域に設置したいことがあります。

この分割されたネットワーク領域のことをサブネットと言います。

ちなみに、なお、本記事のように、複数のサブネットを作成しない場合でも、インスタンスはサブネット内にしか作成することができません。そのため、本記事では”パブリックサブネット”という1つのサブネットのみ作成しています。

でも、これまでの手順の中で、サブネットの作成は明示的にはしていませんでしたよね?これは、VPCを作成するときに、自動的に”プライベートサブネット”というものが作成されるためです。この”プライベートサブネット”は、インスタンス作成の過程、ネットワーク設定を行う時にインスタンスの作成場所として指定したのを覚えていますでしょうか?

③ルーター

ルーターとは、2つの異なるネットワーク間でデータをやり取りするための中継機器です。一番上の全体像でいうと、サブネットと書かれている領域とインターネットと書かれている領域がそれぞれ異なるネットワークです。また、すぐ上の図では、サブネット1、サブネット2、インターネットがそれぞれ別のネットワークです。(上の図ではルーターは省略して描いています)

ルーターには「ルーティングテーブル」という宛先表を備えておきます。このルーターに対して通信が来た場合、ルーターはルーティングテーブルを参照して、その通信をルーターにつながっている回線のうち、どこに流すかを判断します。

例えば、仮にルーターにインターネット、サブネット1、サブネット2の3つの回線が接続されているとします。インターネット側から例えばサブネット1上のインスタンスに対して通信が行われた場合、この通信はまずルーターが受けることになります。通信を受けたルーターは、この通信をサブネット1側に流すのか、サブネット2側に流すのかを判断しなければなりません。ここで参照されるのがルーティングテーブルです。ルータはこのルーティングテーブルを使って、異なるネットワーク間通信の中継を行うのです。

なお、AWSではルーティングテーブルのことを「ルートテーブル」と呼びますが、実はVPC作成時にこのルートテーブルも作成されています。

サービス一覧から「VPC」を選択して左側のメニューから「ルートテーブル」を選択してみましょう。このうち、「明示的に関連付けられた」に”01サブネット”と書かれているものが、VPC作成時に自動作成されたルートテーブルです。このルートテーブルのルーティングテーブルを見るためには、画面下の「ルート」タブを選択します。するとルールが2行書かれています。

1行目は、宛先アドレスが”10.0.0.0/16″ (= VPCのネットワーク範囲) 内の場合はlocal、すなわちサブネット側に通信を中継することを示しています。

一方2行目は1行目のルールに該当しなかったものすべてをインターネットゲートウェイに中継することを意味しています。

④インターネットゲートウェイ

インターネットゲートウェイとは、単純にVPCからインターネットへの接続口を意味します。これがなければ、VPCとインターネット間で通信を行うことができません。ルーターの説明の最後に「インターネットゲートウェイに中継」と書きましたが、これはつまり、インターネットゲートウェイを介して、インターネット側と通信を行うことを意味しています。

⑤インスタンス

インスタンスとは、ソフトウェアによって物理的なコンピュータ上に構築された、仮想的なコンピュータを指します。イメージつかみづらいですね。要するに、サーバーととらえて頂ければ結構です。

⑥ファイアウォール

ファイアウォールとは、ネットワーク外からの不正な通信を遮断するための機器を指します。AWSでは「セキュリティグループ」がその機能を果たしています。例えば、本記事では、セキュリティグループにSSH, HTTP, ICMPの3つの通信のみ指定しましたが、それ以外は不正なものとみなして、通信を行うことができません。

今回は以上です。これまで作成してきたVPCやインスタンスなどの言葉について、多少イメージは沸きましたでしょうか。

次回はインスタンスの操作で使ってきたLinuxコマンドについて簡単に紹介したいと思います。