プライベートサブネットからインターネットへアクセスする方法としてNATゲートウェイが利用できます。
特殊なAMIを使うことでNATインスタンス(実はEC2インスタンス)をつくる方法もありますが、AmazonではNATゲートウェイの方を推奨しているみたいなのでこちらを紹介します。
構築した検証環境
NATゲートウェイの使い方をあまり調べずに安直に下の図のような構成を作ろうと考えました。
NATインスタンスではパブリックサブネットに新しくインスタンスを作って設定を変えなきゃいけないのに、NATゲートウェイではプライベートサブネットの0.0.0.0/0のターゲットをNATゲートウェイのIDにするだけでいいんだ。
そんな誤った考えで検証環境を構築し、ping amazon.comを実行しましたが当然帰ってきません。
traceroute amazon.comを実行するとNATゲートウェイの内向きのIPアドレスまでは帰ってきますが、それより先は帰ってきませんでした。
改良した検証環境
できなさ過ぎて発狂し、日を改めて調べなおして作った構成図が以下の通り。
誤認していた点は以下の通り。
・NATゲートウェイはVPCでなくサブネットに割り当てる
・0.0.0.0/0のターゲットをIGWにしたパブリックサブネットからでないとインターネットへ出れないのはNATゲートウェイを使用しても同じ
こんなところで躓くの僕くらいかもしれませんが共有いたします。