我正在尝试为我的 VPC 创建 NAT 实例,以允许私有子网上的实例连接到互联网(最重要的是 S3)。我尝试按照此处的说明进行操作:http://docs.amazonwebservices.com/AmazonVPC/2011-07-15/UserGuide/index.html?VPC_NAT_Instance.html不幸的是,私有子网(称为 10.10.2.0/24)中的实例无法访问互联网。
我已完成以下操作:
- 在公共子网(称之为 10.10.1.0/24)中创建一个 NAT 实例(Amazon 的 ami-vpc-nat-1.0.0-beta.i386-ebs(ami-d8699bb1))。
- 将“源/目标检查”更改为禁用。
- 在默认路由表(10.10.2.0/24 使用)中创建一个新条目,并使其指向新创建实例的 ID。
- 将弹性 IP 地址与 NAT 实例关联。
- 允许 NAT 实例安全组上的所有出站流量。
- 确保所有流量都可以在两个子网之间传输。
我也尝试使用 iptables 对现有实例执行此操作,但没有成功。并且我已验证 sys.net.ipv4.ip_forward 为 1,以防有人感到疑惑。而且我仍然无法从 10.10.2.0/24 上的实例连接到互联网。有人有什么建议吗?
答案1
需要说明的是,您有两个路由表,一个 NAT 实例和一个 Internet 网关,对吗?公共子网使用的路由表的默认路由 (0.0.0.0/0) 应为 Internet 网关 (igw),而私有子网使用的路由表中的默认路由应为 NAT 实例。当您使用其向导时,AWS 有时会自动为您设置这些,但我假设您正在手动设置它,因为您正在手动设置 NAT 实例。
答案2
在公共子网(称之为 10.10.1.0/24)中创建一个 NAT 实例(Amazon 的 ami-vpc-nat-1.0.0-beta.i386-ebs(ami-d8699bb1))。
您也可以从静态 VPC 中找到它,以确保与公共云连接,使用 10.10.1.3/24