はじめに
本記事ではインフラ初学者がVPCを触りつつ、NATゲートウェイについて学んでいく内容になります。
上記構成を元に、色々リソースを付け加えていく形で勉強を進めていけたらと思います。
目次
- NATゲートウェイとは?
- NATゲートウェイを構築する
- NATゲートウェイを通じた疎通確認をする
- まとめ
- 参考文献
NATゲートウェイとは?
NATゲートウェイとは、プライベートサブネット内のインスタンスがVPC外部ネットワークへ接続するために必要なサービスです。
現状の構成では、プライベートサブネット内にあるEC2(DBサーバー)はインターネットにアクセスできません。
踏み台サーバーを経由して必要なソフトウエアをひとつずつscpコマンドでコピーすることもできますが、手間がかかりぎてしまいます。
この問題を解決するソリューションのひとつが「NAT」です。
NATは、IPアドレスを変換する装置で、2つのネットワークインターフェースを持ちます。
片方のインタフェースは、パブリックIPアドレスを設定し、インターネットに接続可能な構成にしておきます。
もう片方のインタフェースは、プライベートIPアドレスを設定し、プライベートサブネットに接続します。
プライベートサブネット内にあるDBサーバーがインターネットにパケットを送信する時、NATはパケットの送信元IPアドレスを自身のパブリックIPアドレスに置換します。
こうすることで、送信元がパブリックIPアドレスに変わるため、インターネットに出ていくことができます。
パケットの送信元IPアドレスが置換されているため、接続先からはNATが接続してきているように見えます。
また、NATは戻ってきた応答パケットの宛先を、元のホストのIPアドレスに置換してプライベートサブネットに転送します。
このように、NATがIPアドレスを置換することによって、プライベートサブネットに存在するホストはインターネットと通信できるようになります。
NATゲートウェイを構築する
前知識をある程度取り入れたので、アウトプットしていこうと思います。
NATゲートウェイを作成する
注意する点としては以下項目になります。
- サブネット:パブリックサブネットを選択
- 接続タイプ:public
- Elastic IPアドレスを割り当てる
ルートテーブルを更新する
これでNATゲートウェイの構築は完了になります。
NATゲートウェイを通じた疎通確認をする
では、NATゲートウェイの動作確認するためにDBサーバーからcurlコマンドを実行してみましょう!
curl https://qiita.com
HTMLを表示されていれば、HTTP通信ができていることになります!
まとめ
今回はNATゲートウェイについて座学/ハンズオン形式で学習しました!
ハンズオンで学習していると、ルートテーブルやcurlコマンドの理解が進んだりと副産物を得られるのが良いメリットだと思いますね。
Elastic IPとNATゲートウェイはお金がかかっちゃうので、用がなければ早めに削除しちゃいましょう!



