Ubuntu で AWS EC2 の NAT インスタンスを作る

 
VPC NAT Gateway の利用費が毎月 USD 50 ドルくらい掛かってワロエないのでメモ。
t2-nano の Ubuntu で NAT Instance を作って節約する。

まずは IP Forward を有効化する。

sudo sysctl -w net.ipv4.ip_forward=1

続いて /etc/sysctl.d/99-sysctl.conf を編集して、 net.ipv4.ip_forward=1 の行をコメントを解除する。

# sudo vim /etc/sysctl.d/99-sysctl.conf

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

そして iptables-persistent をインストール。

sudo apt install iptables-persistent

ここまで出来たら、あとは iptables を更新。
-s オプションには VPC の CIDR レンジを入れる。

sudo iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/16 -j MASQUERADE
sudo iptables -F FORWARD
sudo netfilter-persistent save
sudo systemctl enable netfilter-persistent

最後に下記の公式ドキュメントに記載の Disable source/destination checks と、Update the route table を AWS コンソール上で実行すれば OK.
 
NAT instances – Amazon Virtual Private Cloud