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

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

今回、Webサーバーを公開した例ではインターネットゲートウェイを使用しました。

オンプレミス環境では、インターネットに接続する際に、FirewallでパブリックIPからプライベートIPへ(その逆も)NAT変換をかけていたりしたと思いますが、AWSではその役割をインターネットゲートウェイが担います。

EC2インスタンスグローバルIPを付与するイメージになるので、このNAT変換の辺りを意識しなくて良くなる訳ですね。

f:id:TOSHIOSHIMO:20190916202155p:plain

NATゲートウェイという存在

インターネットゲートウェイは理解したのですが、AWSには別に「NATゲートウェイ」があります。これについて調べてみました。

f:id:TOSHIOSHIMO:20191014212216p:plain

NATゲートウェイの役割

その名の通り、NAT機能を実現するゲートウェイです。わざわざこれが存在するということは、それが必要な使用シーンがあるということですね。

NATゲートウェイにはグローバルIPが割り当てできます(Elastic IP含む)
上記のような構成で、プライベートサブネットのルーティングテーブルで、デフォルトゲートウェイをNATゲートウェイに向けると、そこでNAT変換がされてインターネットとの通信ができるようです。

Firewallルーターの機能としてのNAT機能は知っていましたが、わざわざNAT機能のためだけのゲートウェイが存在する意味が分かりませんでした。AWSって内部的にはルーターが存在するようですが、コンソール画面では項目も表示されず意識しなくても良くなってますし。
「NATの設定はルーターFirewallに設定するものである」と思っているオンプレミスの経験が長い方には、この辺に違和感があるかもしれません。

インターネットゲートウェイとの大きな違い

インターネットゲートウェイグローバルIPとEC2インスタンスを「1対1」変換することに対して、NATゲートウェイ「1対多」で変換することが大きな違いです。プライベートサブネットに複数台EC2インスタンスが存在しても、インターネットに出ていくときには1つのグローバルIPで。ということが実現できます。