为 VPC 和子网分配 IP 地址 - Amazon Virtual Private Cloud

为 VPC 和子网分配 IP 地址

IP 地址使 VPC 中的资源能够相互通信以及与 Internet 上的资源进行通信。

无类别域间路由(CIDR)表示法是一种表示 IP 地址及其网络掩码的方法。这些地址的格式如下:

  • 单个 IPv4 地址为 32 位,分为 4 组,每组包含最多 3 个十进制数字。例如:10.0.1.0。

  • IPv4 CIDR 块分为四组,每组包含最多 3 个十进制数字(0-255,以句点分隔),后跟斜杠和一个介于 0 到 32 的数字。示例:10.0.0.0/16。

  • 单个 IPv6 地址为 128 位,分为 8 组,每组包含最多 4 个十六进制数字。例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334。

  • IPv6 CIDR 块分为四组,每组包含最多 4 个十六进制数字,用冒号分隔,后跟一个双冒号,后跟斜杠和一个介于 1 到 128 的数字。例如:2001:db8:1234:1a00::/56。

有关更多信息,请参阅什么是 CIDR?

私有 IPv4 地址

私有 IPv4 地址(在本主题中也称作私有 IP 地址)无法通过 Internet 访问,但可用于 VPC 中实例之间的通信。当您在 VPC 中启动实例时,系统会将子网地址范围中的一个主要私有 IPv4 地址分配给该实例的默认网络接口 (eth0)。另外,还为每个实例指定一个可解析为实例私有 IP 地址的私有(内部)DNS 主机名。主机名可以有两种类型:基于资源或基于 IP。有关更多信息,请参阅 EC2 实例命名。如果您未指定主要私有 IP 地址,我们会在子网范围内为您选择可用的 IP 地址。有关网络接口的更多信息,请参阅《Amazon EC2 用户指南》中的弹性网络接口

您可以为 VPC 中运行的实例分配其他私有 IP 地址,即所谓的辅助私有 IP 地址。与主要私有 IP 地址不同的是,您可以将一个网络接口的辅助私有 IP 地址重新分配给另一个网络接口。私有 IP 地址会在实例停止并重新启动时保持与网络接口的关联,并在实例终止时释放。有关主要和辅助 IP 地址的更多信息,请参阅《Amazon EC2 用户指南》的多个 IP 地址

我们所说的私有 IP 地址是 VPC 的 IPv4 CIDR 范围内的 IP 地址。大部分 VPC IP 地址范围均处于 RFC 1918 中指定的私有(非公有可路由)IP 地址范围内;但是,您可为您的 VPC 使用公有可路由的 CIDR 块。不管您的 VPC 使用何种 IP 地址范围,我们都不支持从您的 VPC 的 CIDR 块(包括公共可路由的 CIDR 块)直接访问 Internet。您必须通过网关设置 Internet 访问,例如,通过 Internet 网关、虚拟专用网关、AWS Site-to-Site VPN 连接或 AWS Direct Connect。

我们永远不会向互联网传播子网的 IPv4 地址范围。

公有 IPv4 地址

所有子网都有一个用于确定在子网中创建的网络接口是否自动接收公有 IPv4 地址(在本主题中也称作公有 IP 地址)的属性。因此,当您在启用了此属性的子网中启动实例时,系统会向为此实例创建的主网络接口 (eth0) 分配一个公有 IP 地址。公有 IP 地址通过网络地址转换 (NAT) 映射到主要私有 IP 地址。

注意

AWS 将对所有公有 IPv4 地址收费,包括与运行的实例相关联的公有 IPv4 地址和弹性 IP 地址。有关更多信息,请参阅 Amazon VPC 定价页面中的公有 IPv4 地址定价选项卡。

您可以通过执行以下操作,控制实例是否接收公有 IP 地址:

  • 修改子网的公有 IP 寻址属性。有关更多信息,请参阅 修改子网的 IP 寻址属性

  • 在实例启动过程中启用或禁用公有 IP 寻址功能,以覆盖子网的公有 IP 寻址属性。

  • 启动后,您可以通过管理与网络接口关联的 IP 地址来将实例的公有 IP 地址取消分配。有关更多信息,请参阅《Amazon EC2 用户指南》中的管理 IP 地址

公有 IP 地址将从 Amazon 的公有 IP 地址池分配,它不与您的账户关联。在公有 IP 地址与您的实例取消关联后,该地址即释放回该池,并且不再可供您使用。在某些情况下,我们会从您的实例释放公有 IP 地址,或为其分配新地址。有关更多信息,请参阅《Amazon EC2 用户指南》中的公有 IP 地址

如果您需要向您的账户分配一个永久公有 IP 地址(您可根据需要将其分配给实例或将其从实例中删除),请改为使用弹性 IP 地址。有关更多信息,请参阅 将弹性 IP 地址关联到 VPC 中的资源

如果您的 VPC 启用了对 DNS 主机名的支持,则系统还会向收到公有 IP 地址或弹性 IP 地址的每个实例分配一个公有 DNS 主机名。我们会将公有 DNS 主机名解析为该实例在实例网络外的公有 IP 地址和在实例网络内的私有 IP 地址。有关更多信息,请参阅 VPC 中的 DNS 属性

如果使用的是 Amazon VPC IP 地址管理器(IPAM),则可以从 AWS 中获取连续的公有 IPv4 地址块,再用其将连续弹性 IP 地址分配给 AWS 资源。使用连续的 IPv4 地址块可以显著减少安全访问控制列表的管理开销,简化在 AWS 上扩展的企业的 IP 地址分配和跟踪工作。有关更多信息,请参阅《Amazon VPC IPAM User Guide》中的 Allocate sequential Elastic IP addresses from an IPAM pool

IPv6 地址

随着互联网的持续增长,对 IP 地址的需求也在增加。IP 地址最常见的格式是 IPv4。IP 地址的新格式是 IPv6,它可提供比 IPv4 更大的地址空间。IPv6 解决了 IPv4 地址耗尽的问题,有助将更多设备连接到互联网。这是个渐进的过渡过程,不过随着 IPv6 采用率的提高,您可以简化网络并利用 IPv6 的高级功能来改善连接性、性能和安全性。

许多 AWS 服务(例如 Amazon EC2、Amazon S3 和 Amazon CloudFront)都提供双堆栈(IPv4 和 IPv6)或仅支持 IPv6 的选项,允许资源被分配到 IPv6 地址并通过 IPv6 协议进行访问,从而为采用 IPv6 的客户简化网络配置和管理。其他服务提供有限或部分双堆栈和仅支持 IPv6。有关支持 IPv6 的服务的更多信息,请参阅支持 IPv6 的 AWS 服务

请注意,国际互联网工程任务组保留了部分 IPv6 地址。有关预留 IPv6 地址范围的更多信息,请参阅 IANA IPv6 特殊用途地址注册表RFC4291

注意

AWS 同时提供公有和私有 IPv6 寻址。AWS 认为公有 IP 地址是从 AWS 公开发布在互联网上的,而私有 IP 地址不是,也不能从 AWS 公开发布在互联网上。

公有 IPv6 地址

公用 IPv6 地址是可以配置为保持私有或配置为可通过互联网访问的 IPv6 地址。

以下是可将公有 IPv6 地址用于工作负载的一些方法:

  • 使用 Amazon VPC IP 地址管理器创建 IPAM,并向 IPAM 地址池预置 Amazon 拥有的公有 IPv6 地址范围。有关更多信息,请参阅《Amazon VPC IPAM 用户指南》中的创建 IPv6 池

  • 如果已有 IPAM 并且拥有公有 IPv6 地址范围,则可将部分或全部公有 IPv6 地址范围引入 IPAM,并向 IPAM 地址池预置公有 IPv6 地址范围。有关更多信息,请参阅《Amazon VPC IPAM 用户指南》中的教程:将 IP 地址带入 IPAM

  • 如果没有 IPAM,但拥有公有 IPv6 地址范围,则可将部分或全部公有 IPv6 地址范围引入 AWS。有关更多信息,请参阅《Amazon EC2 用户指南》中的在 Amazon EC2 中使用您自己的 IP 地址(BYOIP)

准备好使用公有 IPv6 地址后,就可以为实例分配公有 IPv6 地址(请参阅《Amazon EC2 用户指南》中的 IPv6 地址),为 VPC 分配公有 IPv6 CIDR 块(请参阅将 CIDR 块添加到 VPC 或从中删除),并将该 IPv6 CIDR 块与子网关联(请参阅修改子网的 IP 寻址属性)。

私有 IPv6 地址

私有 IPv6 地址指并未且不能从 AWS 公开发布在互联网上的 IPv6 地址。

如果希望自己的私有网络支持 IPv6,并且不打算将流量从这些地址路由到互联网,则可使用私有 IPv6 地址。如果要从具有私有 IPv6 地址的资源连接到互联网,必须通过另一个子网中具有公有 IPv6 地址的资源路由流量,才能实现该目的。

私有 IPv6 地址有两种类型:

  • IPv6 ULA 范围RFC4193 中定义的 IPv6 地址。这些地址范围总是以“fc”或“fd”开头,因此很容易识别。有效的 IPv6 ULA 空间是指任何低于 fd00:: /8 且不与 Amazon 预留范围 fd00::/16 重叠的空间。

  • IPv6 GUA 范围RFC3587 中定义的 IPv6 地址。使用 IPv6 GUA 范围作为私有 IPv6 地址的选项默认处于禁用状态,必须在启用后才能使用。有关更多信息,请参阅《Amazon VPC IPAM 用户指南》中的启用预置私有 IPv6 GUA CIDR

请注意以下几点:

  • 私有 IPv6 地址只能通过 Amazon VPC IP 地址管理器(IPAM)使用。IPAM 发现具有 IPv6 ULA 和 GUA 地址的资源,并监控池中是否存在重叠的 IPv6 ULA 和 GUA 地址空间。

  • 在使用私有 IPv6 GUA 范围时,要求使用自己拥有的 IPv6 GUA 范围。

  • AWS 不会也不能在互联网上公开发布私有 IPv6 地址。即使 VPC 中有互联网网关或仅限出口的互联网网关,AWS 也不允许从私有 IPv6 地址范围直接出口到公共互联网。私有 IPv6 地址会被自动丢弃在互联网网关边缘,确保不会被公开路由。

  • AWS 会保留前四个以及最后一个子网私有 IPv6 地址。

  • 私有 IPv6 ULA 的有效范围为 /9 至 /60(从 fd80::/9 开始)。

  • 如果已为 VPC 分配私有 IPv6 GUA 范围,则不能使用与同一 VPC 中私有 IPv6 GUA 空间重叠的公有 IPv6 GUA 空间。

  • 支持具有私有 IPv6 ULA 及 GUA 地址范围的资源之间的通信(例如跨 Direct Connect、VPC 对等连接、中转网关或 VPN 连接)。

  • 您可以将私有 IPv6 地址用于仅限 IPv6 和双栈 VPC 子网弹性负载均衡器AWS Global Accelerator 端点

  • 使用私有 IPv6 地址不会产生任何费用。

以下是可将私有 IPv6 地址用于工作负载的一些方法:

  • 使用 Amazon VPC IP 地址管理器创建 IPAM,并向 IPAM 地址池预置私有 IPv6 ULA 范围。有关更多信息,请参阅《Amazon VPC IPAM 用户指南》中的创建 IPv6 池

  • 使用 Amazon VPC IP 地址管理器创建 IPAM,并为 IPAM 地址池预置私有 IPv6 GUA 范围。使用 IPv6 GUA 范围作为私有 IPv6 地址的选项默认处于禁用状态,必须在 IPAM 上启用后才能使用。有关更多信息,请参阅《Amazon VPC IPAM 用户指南》中的启用预置私有 IPv6 GUA CIDR

准备好使用私有 IPv6 地址后,就可以为 VPC 分配 IPAM 池中的私有 IPv6 CIDR 块(请参阅将 CIDR 块添加到 VPC 或从中删除),并将该 IPv6 CIDR 块与您的子网关联(请参阅修改子网的 IP 寻址属性)。

使用自带 IP 地址

您可以将部分或全部自带公有 IPv4 地址或 IPv6 地址范围引入到您的 AWS 账户。您继续拥有该地址范围,但 AWS 默认将其发布到 Internet 上。在将地址范围引入 AWS 中之后,它会在您的账户中显示为地址池。您可以从 IPv4 地址池创建弹性 IP 地址,也可以将 IPv6 地址池中的 IPv6 CIDR 块与 VPC 相关联。

有关更多信息,请参阅《Amazon EC2 用户指南》中的自带 IP 地址(BYOIP)

使用 Amazon VPC IP 地址管理器

Amazon VPC IP 地址管理器 (IPAM) 是一项 VPC 功能,可让您更轻松地计划、跟踪和监控 AWS 工作负载的 IP 地址。您可以使用特定的业务规则用 IPAM 将 IP 地址 CIDR 分配给 VPC。

有关更多信息,请参阅《Amazon VPC IPAM 用户指南》中的什么是 IPAM?