我试图了解NAT EC2实例和常规EC2实例之间的区别。我创建了两个EC2实例a)来自社区AMI的NAT实例并禁用了源/目标检查b)创建了常规EC2实例t2.micro并禁用了源/目标检查。当我在主路由表中使用选项 b 时,它不会为私有子网中的ec2实例提供互联网连接。注意:我可以通过SSH连接选项b 中提到的常规EC2实例,并通过互联网访问index.html文件。
有人可以解释是什么让常规EC2实例成为NAT实例吗?
答案 0 :(得分:5)
此用户数据脚本传统上用于将Amazon EC2实例配置为NAT服务器:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE
/sbin/iptables-save > /etc/sysconfig/iptables
mkdir -p /etc/sysctl.d/
cat <<EOF > /etc/sysctl.d/nat.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.send_redirects = 0
EOF
目前,建议使用完全托管的NAT Gateway而不是NAT实例。 (对于dev / test,使用NAT实例可能更便宜,但NAT网关更适合生产环境。)