【AWS】ルートテーブルとインターネットゲートウェイの整理
ルートテーブル
各サブネット内からIPアドレスにアクセスする際に、それはどこに対してアクセスするのかを決めるもの。
VPCに対して作成し、ルートテーブルにサブネットを関連付けることでそれらのルーティングを決めることができる。
例えば、ルートテーブルを作成し、以下を追加したとする。
送信先 | ターゲット |
---|---|
0.0.0.0/0 | インターネットゲートウェイ |
そうすると、ルーティング設定をされていないIPアドレスにアクセスした場合、それらは全てインターネットに対してアクセスすることになる。
デフォルトで存在するlocal
ルートテーブルには以下のルートがデフォルトで存在する。
送信先 | ターゲット |
---|---|
10.0.0.0/16 | local |
これは、「10.0.0.0」~「10.0.255.255」にアクセスされた場合、
それらは自身のサブネット内を見に行くよ、という意味である。
使用例
EC2でサーバーを立てたとする。このサーバーのIPアドレスは以下の通りであるとする。
パブリックIPv4アドレス 52.195.244.211
プライベートIPv4アドレス 10.0.10.170
そうすると、ネットから「52.195.244.211」にアクセスがあった場合、「52.195.244.211」はどのネットワークに属するのかを探し、このサーバーが属するVPCを見つけにくる。
そして、そのVPCの中の「10.0.10.170」にアクセスしようとする。
その際に、このIPアドレスが属するサブネットのルートテーブルに従ってアクセスをすることになる。
ここで仮にデフォルトのルートテーブルだとすると、「10.0.10.170」はlocalに接続することになるため、無事、このサブネット上のサーバーにたどりつくことができる。
しかし、たどり着いたとしても、出るときはどうだろうか?
サーバーを見に来るということはおそらくサイトを閲覧する等の目的がある。そうなると、サイトのデータをネットを介して送信することになる。ただしこれもこのサブネットのルートテーブルに従うのだが、デフォルトの場合は「10.0.0.0/16」しかないため、それ以外は破棄される。
そこで最初に紹介したインターネットゲートウェイをルーティングする必要が出てくる。
このルーティングをすることで、「10.0.0.0/16」以外のほか全てのIPアドレスへのアクセスはインターネット上にアクセスするようにルーティングをしてくれる。
Discussion