目前在我们的设置中,我们在 VPC A 中有一个私有子网和一个公共子网,它们与 VPC B 对等。VPC A 具有通过互联网网关和 NAT 网关路由的出站连接(用于为私有子网中的 ec2 实例启用互联网访问)。VPC B 只有一个私有子网,无法通过互联网访问其本地 ec2 实例。根据此文档,似乎不支持通过对等连接在两个 VPC 之间建立跳跃式互联网连接: https://docs.aws.amazon.com/vpc/latest/peering/invalid-peering-configurations.html
这让我想到了一个问题:是否可以使用 NAT 网关仅通过私有子网启用互联网连接?或者这只能与与互联网网关关联的公共子网(类似于 VPC A)结合使用?如果可以通过其他方式实现,我有哪些选择?
答案1
您的私有 VPC 不能有 NAT 网关,因为 NAT 需要公共 IP。
不过,你可以给出实例虚拟仿真平台访问互联网间接如果你设立了一个出站代理在你的虚拟仿真平台.例如,您可以使用Squid 代理。该代理将接受来自虚拟仿真平台实例并将其转发到互联网。
您的实例虚拟仿真平台然后可以设置http_proxy=http://proxy.vpc-a:3128
,https_proxy=http://proxy.vpc-a:3128
这样就可以访问互联网了。
额外的好处是你的代理人可以记录所有流量,并根据白名单限制对网站的访问。这在某些受监管的环境中可能是必需的。
希望有帮助:)
答案2
您无法通过 VPC 对等连接互联网。因此,VPC 必须自行直接访问互联网。
至于如何访问互联网,只有公共子网中的资源才能直接访问互联网:
- 子网必须具有通向 Internet 网关的路由,并且
- EC2 实例/NAT 必须具有公共(或弹性)IP 地址。
要使私有子网中的资源访问互联网,私有子网必须具有通过 NAT 的路由,而 NAT 需要位于公有子网中。它可以是 NAT 网关,也可以是充当 NAT 的 EC2 实例。