互联网访问配置
为使您的实例能够从互联网接收或发送流量,请执行以下操作:
要为您的实例提供 Internet 访问,而不为其分配公有 IP 地址,您可以改用 NAT 设备。NAT 设备允许私有子网中的实例连接到 Internet,但阻止 Internet 上的主机发起与实例的连接。有关更多信息,请参阅 NAT 设备。
公有子网和私有子网
如果子网的关联路由表包含指向互联网网关的路由,则该子网称为公有子网。如果子网的关联路由表没有指向互联网网关的路由,则该子网称为私有子网。
在公有子网路由表中,您可以将互联网网关的路由指定为路由表未明确知晓的所有目的地(对于 IPv4 为 0.0.0.0/0
,对于 IPv6 为 ::/0
)。或者,您也可以将路由范围设定为一个较小的 IP 地址范围,例如,公司在AWS以外的公有终端节点的公有 IPv4 地址,或 VPC 以外的其他 Amazon EC2 实例的弹性 IP 地址。
IP 地址和 NAT
要为 IPv4 启用互联网通信,实例必须具有公有 IPv4 地址。您可以将 VPC 配置为自动向实例分配公有 IPv4 地址,也可以为实例分配弹性 IP 地址。实例只了解 VPC 和子网内定义的私有 (内部) IP 地址空间。Internet 网关以逻辑方式代表实例提供一对一 NAT,这样一来,当流量离开 VPC 子网并流向 Internet 时,回复地址字段将设置为实例的公有 IPv4 地址或弹性 IP 地址,而不是私有 IP 地址。相反,指定发往实例的公有 IPv4 地址或弹性 IP 地址的流量会先将其目标地址转换为实例的私有 IPv4 地址,然后再传输到 VPC。
要为 IPv6 启用 Internet 通信,VPC 和子网必须具有关联的 IPv6 CIDR 块,并且必须为实例分配此子网范围内的 IPv6 地址。IPv6 地址是全球唯一的,因此默认为公有。
在下图中,可用区 A 中的子网是公有子网。此子网的路由表具有将所有互联网绑定 IPv4 流量发送到互联网网关的路由。公有子网中的实例必须具有公有 IP 地址或弹性 IP 地址,才能通过互联网网关与互联网进行通信。为了进行比较,可用区 B 中的子网是私有子网,因为其路由表没有通往互联网网关的路由。因为没有到互联网网关的路由,所以私有子网中的实例即使具有公共 IP 地址,也无法与互联网通信。
对默认和非默认 VPC 的 Internet 访问
下表概述了 VPC 是否自动提供通过 IPv4 或 IPv6 进行 Internet 访问所需的组件。
组件 | 默认 VPC | 非默认 VPC |
---|---|---|
Internet 网关 | 是 | 否 |
包含将 IPv4 流量路由到 Internet 网关的路由的路由表 (0.0.0.0/0) | 是 | 否 |
包含将 IPv6 流量路由到 Internet 网关的路由的路由表 (::/0) | 否 | 否 |
公有 IPv4 地址自动分配到在子网中启动的实例 | 是 (默认子网) | 否 (非默认子网) |
IPv6 地址自动分配到在子网中启动的实例 | 否 (默认子网) | 否 (非默认子网) |
有关默认 VPC 的更多信息,请参阅默认 VPC。有关如何创建 VPC 的更多信息,请参阅 创建 VPC。