September 16, 2020
AWSを使用する上で避けては通れないVPC。
今回は、初心者の方でも挫折しないようにVPCの概念から解説していきたいと思います。
目次
VPCでよく使うコンポーネントの紹介
VPC(Virtual Private Cloud)とは、「仮想ネットワーク」のこと。
「サーバがたくさん設置されているデータセンター」を仮想化したようなイメージ。このVPC上にAWSリソース(サブネットやEC2)を作成していきます。
※図の中にある「10.0.0.0/16」は、VPCを作成する時に指定したIPアドレスの範囲。ここからサブネットでネットワークを分割していきます。
VPCには、いくつかのコンポーネント(部品)が含まれています。
そのコンポーネントの中から、業務でもよく使用するものをいくつかピックアップしました。
これはVPCに限ったものでは無いですが、抑えておきたい概念になります!
リージョン
地域のこと。東京や米国東部(オハイオ)などなど、リージョン毎にAWSリソースを作成します。
「あれ?EC2を作成したはずなんだけど存在しないぞ。。」
なんて時は、表示されているリージョンが米国東部(オハイオ)になっており、実は作成したのは東京リージョンだった。。なんてことも初心者のうちはあるかもしれないのでご注意!
東京リージョンの場合、ap-northeast-1のように表現されます。
アベイラビリティーゾーン(AZ)
リージョンの中に存在する複数の独立した領域のこと。1つのAZがダメになっても、別のAZでシステムを稼働させることが可能。
東京リージョンのアベイラビリティゾーンは、ap-northeast-1a、ap-northeast-1c のような形式で表現される。
1つのAZに1つ以上のサブネットを作ることができます。ただ、AZを跨いでサブネットを作ることができません。
インターネットと通信できるサブネットをパブリックサブネット。インターネットと通信できないサブネットをプライベートサブネットと言います。
ルートテーブルで、ネットワークトラフィックの経路を制御することが可能。
例:
初期状態だとVPCはインターネットと通信することができません。そこで、ルートテーブルに経路を追加して、インターネットと通信可能にします。
ルートテーブルにはいくつか種類があるため、一部紹介します。
公式サイト - ルートテーブルの概念
メインルートテーブル
VPCを作成するときにデフォルトで作成されるルートテーブル。他のルートテーブルで関連付けられていないサブネットのルーティングは、このメインルートテーブルで制御されます。
サブネットルートテーブル
サブネットに関連付けられたルートテーブル。
作成したばかりのVPCはインターネットと通信することができません。そこでインターネットゲートウェイを利用することで、VPCとインターネット間の通信が可能になります。
また、インターネットゲートウェイではインターネットと通信する際、NAT変換(Static)が内部的に行われています。
StaticNAT変換とは、パブリックIPとプライベートIPを1対1で変換すること。
図のように送信元、宛先のIPアドレスがインターネットゲートウェイで変換されます。
送信元IP: 10.0.1.30 ⇒ 123.45.67.89
宛先IP : 123.45.67.89 ⇒ 10.0.1.30
ElasticIPとは、固定のパブリックIPのこと。ポイントがいくつかあるので列挙します。
ポイント!
セキュリティグループとは、仮想のファイアーウォールのこと。 例えば、「DBサーバはWebサーバからアクセスさせない。」であったり、「WebサーバはHTTPS(or HTTP)通信は誰でもできるようにするが、SSHは限られたIPからしか許可しない。」のようなアクセス制限を行うことができます。
ポイント!
① 許可ルールのみ設定可能。
② インバウンド(受信)とアウトバウンド(送信)のルールを個別に設定可能。
③ インスタンスレベルで動作する。
→インスタンス毎に設定できるため、同じサブネット内でも異なるルールを作成することが可能。もちろん、1つのセキュリティグループを複数のインスタンスに適用することも可能。
④ デフォルトは「全てのインバウンドを拒否(※)」、「全てのアウトバウンドを許可」になっている。
※デフォルトでは、許可するルールが何も設定されていないため、結果的に全てのインバウンドを拒否することになる。
以上でVPCの概念に関する解説は終わりです。
ここらへんの知識があると、実際に作成していくときの理解度がかなり違うので
閲覧頂き、ありがとうございました。