インターネットゲートウェイとNATゲートウェイの違い

AWSのVPC設定にはインターネットゲートウェイとNATゲートウェイがあるが、よくわからない。

パブリックIPを設定しているインスタンスは、インターネットゲートウェイだけ設定していればよいが、パブリックIPを設定していないインスタンスは、インターネットゲートウェイになぜか到達できない。

例えば、
VPC A(172.31.0.0/16)に対して、subnet X(172.31.0.0/20), subnet Y(172.31.16.0/20)を設定したうえで、subet Xに所属するインスタンス 1は、パブリックIPを保持しており、同じsubnet Xに所属するインスタンス 2とsubnet Yに所属するインスタンス 3は、パブリックIPを保持していないとする。

この時、VPC Aに対して、インターネットゲートウェイだけが設定されている場合、
インスタンス 1はインターネット(VPCの外)へ接続できるが、インスタンス 2, インスタンス 3はインターネット(VPCの外)へ接続できない。
次に、subnet Z(172.31.32.0/20)を作成し、subet Zに所属するインスタンス 4を作成し、subnet Y, subnet Zに対して、作成したNATゲートウェイをデフォルトゲートウェイに設定したルートテーブルを紐づけるとインターネット(VPCの外)へ接続できるようになる。

ここで、subet XについてもNATゲートウェイと紐づける(デフォルトゲートウェイをインターネットゲートウェイからNATゲートウェイに変更する)とそもそもインスタンス1に接続できなくなる。(パブリックIPを持っているにも関わらず接続できないということは、パブリックIPへのルートテーブルがなくなっているということになるのだろうか??)

理解に苦しむ点は次の通り
1.インターネットゲートウェイをデフォルトゲートウェイに設定しているにもかかわらず、パブリックIPがインターネットと接続できない点
(インスタンスで設定されているゲートウェイはサブネット内に設定されているホスト(ネットワークアドレスの最初のアドレス/例:上述のsubnet Xは172.31.0.1)になっていて、対象ホストとはICMPで接続できない。同一サブネットなのにもかかわらず接続できないということは、ICMP Echoが無効になっているだけなのだろうか? 次に外部(VPCの外のドメイン)にtracerouteしても名前解決はされるのに、到達できない)

2.インターネットゲートウェイの代わりにNATゲートウェイをデフォルトゲートウェイに入れ替えるとパブリックIPアドレスに接続できなくなる点
(パブリックIPアドレスへのルートテーブルがなくなってしまうということなのだろうか?)

NATゲートウェイは、サブネットをElasticIPに紐づける機能を持っており、
インターネットゲートウェイは、VPCとルートテーブル機能を使って紐づけることが出来る。
Egree Onlyインターネットゲートウェイというものもあり、ネットワーク設計を行う上で違いと仕組みを整理しておく必要がある。

カテゴリーAWS

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です