状況
プライベートサブネットに立てたEC2にAWS VPNとsshで乗り込んだはいいが、インターネットにアクセスできなくてめっちゃ不便じゃんとなった。
解決方法
パブリックサブネットにNAT Gatewayを配置、VPCにInternet Gatewayを関連づけて、EC2はNAT Gatewayを介して外への通信のみできるようにするというもの。
ハマったところ
NAT Gateway、Internet Gateway の配備やルートテーブルの設定は正しく行ったはずなのに、EC2からインターネットへの通信が確認できなかった。 原因としては、パブリックサブネットに設定していたネットワークACLの許可ルールに「プライベートサブネットからの通信を許可する」設定がなかったため。