【AWS】VPCとは?【使用する上で避けられない基礎知識を徹底解説。】

September 16, 2020

AWSを使用する上で避けては通れないVPC。

今回は、初心者の方でも挫折しないようにVPCの概念から解説していきたいと思います。

目次

  • VPCとは?
  • VPCでよく使うコンポーネントの紹介

    • リージョンとアベイラビリティゾーン
    • サブネット
    • ルートテーブル
    • インターネットゲートウェイ
    • ElasticIP
    • セキュリティグループ

公式サイト - VPC

VPCとは?

VPC(Virtual Private Cloud)とは、「仮想ネットワーク」のこと。
「サーバがたくさん設置されているデータセンター」を仮想化したようなイメージ。このVPC上にAWSリソース(サブネットやEC2)を作成していきます。

VPC

※図の中にある「10.0.0.0/16」は、VPCを作成する時に指定したIPアドレスの範囲。ここからサブネットでネットワークを分割していきます。

VPCでよく使うコンポーネントの紹介

VPCには、いくつかのコンポーネント(部品)が含まれています。
そのコンポーネントの中から、業務でもよく使用するものをいくつかピックアップしました。

リージョンとアベイラビリティーゾーン

これはVPCに限ったものでは無いですが、抑えておきたい概念になります!

リージョン
地域のこと。東京や米国東部(オハイオ)などなど、リージョン毎にAWSリソースを作成します。
「あれ?EC2を作成したはずなんだけど存在しないぞ。。」
なんて時は、表示されているリージョンが米国東部(オハイオ)になっており、実は作成したのは東京リージョンだった。。なんてことも初心者のうちはあるかもしれないのでご注意!

東京リージョンの場合、ap-northeast-1のように表現されます。

アベイラビリティーゾーン(AZ)
リージョンの中に存在する複数の独立した領域のこと。1つのAZがダメになっても、別のAZでシステムを稼働させることが可能。

東京リージョンのアベイラビリティゾーンは、ap-northeast-1a、ap-northeast-1c のような形式で表現される。

AZ

サブネット

1つのAZに1つ以上のサブネットを作ることができます。ただ、AZを跨いでサブネットを作ることができません。

サブネット

インターネットと通信できるサブネットをパブリックサブネット。インターネットと通信できないサブネットをプライベートサブネットと言います。

ルートテーブル

ルートテーブルで、ネットワークトラフィックの経路を制御することが可能。

例:
初期状態だとVPCはインターネットと通信することができません。そこで、ルートテーブルに経路を追加して、インターネットと通信可能にします。

ルートテーブルにはいくつか種類があるため、一部紹介します。
公式サイト - ルートテーブルの概念

メインルートテーブル
VPCを作成するときにデフォルトで作成されるルートテーブル。他のルートテーブルで関連付けられていないサブネットのルーティングは、このメインルートテーブルで制御されます。

サブネットルートテーブル
サブネットに関連付けられたルートテーブル。

ルートテーブル

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

作成したばかりのVPCはインターネットと通信することができません。そこでインターネットゲートウェイを利用することで、VPCとインターネット間の通信が可能になります。

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

また、インターネットゲートウェイではインターネットと通信する際、NAT変換(Static)が内部的に行われています。

StaticNAT変換とは、パブリックIPとプライベートIPを1対1で変換すること。

インターネットゲートウェイのNAT変換

図のように送信元、宛先のIPアドレスがインターネットゲートウェイで変換されます。

送信元IP: 10.0.1.30 ⇒ 123.45.67.89
宛先IP : 123.45.67.89 ⇒ 10.0.1.30

ElasticIP

ElasticIPとは、固定のパブリックIPのこと。ポイントがいくつかあるので列挙します。

ポイント!

  • 1度に1つのインスタンスまたはネットワークインターフェイスに関連付けることが可能。
  • 1回関連づけた場合でも、別のインスタンスやネットワークインターフェイスに付け替えることが可能。
  • 一度作成した後、使わなくなっても存在し続ける限り料金が発生する。そのため、明示的に解放(使えなくする)ことが大事。
  • 5個まで使用可能。

セキュリティグループ

セキュリティグループとは、仮想のファイアーウォールのこと。 例えば、「DBサーバはWebサーバからアクセスさせない。」であったり、「WebサーバはHTTPS(or HTTP)通信は誰でもできるようにするが、SSHは限られたIPからしか許可しない。」のようなアクセス制限を行うことができます。

セキュリティグループ

ポイント!

① 許可ルールのみ設定可能。

② インバウンド(受信)とアウトバウンド(送信)のルールを個別に設定可能。

③ インスタンスレベルで動作する。
→インスタンス毎に設定できるため、同じサブネット内でも異なるルールを作成することが可能。もちろん、1つのセキュリティグループを複数のインスタンスに適用することも可能。

④ デフォルトは「全てのインバウンドを拒否(※)」、「全てのアウトバウンドを許可」になっている。
※デフォルトでは、許可するルールが何も設定されていないため、結果的に全てのインバウンドを拒否することになる。

おわりに

以上でVPCの概念に関する解説は終わりです。
ここらへんの知識があると、実際に作成していくときの理解度がかなり違うので

閲覧頂き、ありがとうございました。