将弹性 IP 地址关联到 VPC 中的资源 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将弹性 IP 地址关联到 VPC 中的资源

弹性 IP 地址 是专门用于进行动态云计算的静态、公有 IPv4 地址。您可以将弹性 IP 地址与您账户中的任意 VPC 中的任何实例或网络接口相关联。借助弹性 IP 地址,您可以迅速将地址重新映射到 VPC 中的另一个实例,从而屏蔽实例故障。

弹性 IP 地址概念和规则

要使用弹性 IP 地址,您必须先将其分配为在您的账户中使用。然后,您可以将其与 VPC 中的实例或网络接口关联。弹性 IP 地址将保持分配到您的Amazon账户的状态,直至您明确释放它。

弹性 IP 地址是网络接口的一个属性。您可以通过更新附加到实例的网络接口,将弹性 IP 地址与该实例关联起来。将弹性 IP 地址与网络接口关联而不是直接与实例关联的优势在于,只需一步,即可将网络接口的所有属性从一个实例移至另一个。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的弹性网络接口

以下规则适用:

  • 弹性 IP 地址一次仅可与一个实例或一个网络接口关联。

  • 您可以将弹性 IP 地址从一个实例或网络接口迁移到另一个实例或网络接口。

  • 如果将弹性 IP 地址与实例的 eth0 网络接口关联起来,系统会将其当前的公有 IPv4 地址 (如果有) 释放到 EC2-VPC 公有 IP 地址池中。如果取消关联弹性 IP 地址,系统将自动在几分钟内为 eth0 网络接口分配一个新的公有 IPv4 地址。如果再向您的实例附加一个网络接口,则不适用此情况。

  • 您最多只能拥有 5 个弹性 IP 地址。为帮助节省这些地址,您可以使用 NAT 设备。有关更多信息,请参阅 使用 NAT 设备连接到互联网或其他网络

  • 不支持 IPv6 的弹性 IP 地址。

  • 您可以为已分配用于 VPC 的弹性 IP 地址添加标签。不过,不支持成本分配标签。如果您恢复弹性 IP 地址,标签不会恢复。

  • 当安全组和网络 ACL 允许来自源 IP 地址的流量时,您可以从 Internet 访问弹性 IP 地址。从 VPC 内部返回到 Internet 的回复流量需要 Internet 网关。有关更多信息,请参阅 安全组网络 ACL

  • 您可以对弹性 IP 地址使用以下任一选项:

    • 让 Amazon 提供弹性 IP 地址。选择此选项后,您可以将弹性 IP 地址与网络边界组关联。这是我们通告 CIDR 块的位置。设置网络边界组会将 CIDR 块限制到此组。

    • 使用自带 IP 地址。有关自带 IP 地址的信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南 中的自带 IP 地址 (BYOIP)

弹性 IP 地址是区域性的。有关使用 Global Accelerator 预置全局 IP 地址的更多信息,请参阅 Amazon Global Accelerator 开发人员指南中的使用全局静态 IP 地址而不是区域性静态 IP 地址

使用弹性 IP 地址

以下部分介绍如何使用弹性 IP 地址。

分配弹性 IP 地址

要使用弹性 IP 地址,您必须分配一个弹性 IP 地址以在 VPC 中使用。

分配弹性 IP 地址
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Elastic IPs

  3. 选择 Allocate Elastic IP address (分配弹性 IP 地址)

  4. (可选)分配弹性 IP 地址(EIP)时,您可以选择要在其中分配 EIP 的网络边界组。网络边界组是一组可用区(AZ)、Local Zones 或 Wavelength Zones(Amazon 可从中通告公有 IP 地址)。Local Zones 和 Wavelength Zones 的网络边界组可能与区域中的可用区不同,以确保 Amazon 网络与访问这些区域中资源的客户之间保持最低延迟或最短物理距离。

    重要

    您必须在将与该 EIP 关联的 Amazon 资源所在的网络边界组中分配一个 EIP。一个网络边界组中的 EIP 只能在该网络边界组中的区域内通告,而不能在由其他网络边界组代表的任何其他区域内通告。

    如果您启用 Local Zones 或 Wavelength Zones(有关更多信息,请参阅启用 Local Zone启用 Wavelength Zones),则可以为可用区、Local Zones 或 Wavelength Zones 选择网络边界组。请谨慎选择网络边界组,因为 EIP 及其关联的 Amazon 资源必须位于同一个网络边界组中。您可以使用 EC2 控制台查看可用区、Local Zones 或 Wavelength Zones 所在的网络边界组(参阅 Local Zones)。通常,一个区域中的所有可用区都属于同一个网络边界组,而 Local Zones 或 Wavelength Zones 则属于各自独立的网络边界组。

    如果您未启用 Local Zones 或 Wavelength Zones,则在分配 EIP 时,系统会为您预定义代表该区域所有可用区(例如 us-west-2)的网络边界组,并且您无法对其进行更改。这意味着您分配给该网络边界组的 EIP 将在您所属区域的所有可用区中通告。

  5. 对于公有 IPv4 地址池,选择以下选项之一:

    • Amazon's pool of IP addresses (Amazon 的 IP 地址池) — 如果要从 Amazon 的 IP 地址池中分配 IPv4 地址。

    • My pool of public IPv4 addresses (我的公有 IPv4 地址池) – 如果您想从您添加到Amazon账户的 IP 地址池中分配 IPv4 地址。如果您没有任何 IP 地址池,则此选项将被禁用。

    • Customer owned pool of IPv4 addresses(客户拥有的 IPv4 地址池) – 如果要从在本地网络创建的池中分配 IPv4 地址以供 Outpost 使用。此选项仅在您拥有 Outpost 时可用。

  6. (可选)添加或删除标签。

    [添加标签] 选择添加新标签,然后执行以下操作:

    • 对于 Key(键),输入键名称。

    • 对于 Value(值),输入键值。

    [删除标签] 选择标签的“键”和“值”右侧的删除

  7. 选择 Allocate

关联弹性 IP 地址

您可以将弹性 IP 与 VPC 中正在运行的实例或网络接口相关联。

如果启用了 DNS 主机名,则在您将弹性 IP 地址与实例关联后,实例将会获得公有 DNS 主机名。有关更多信息,请参阅 VPC 中的 DNS 属性

将弹性 IP 地址与实例或网络接口相关联
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Elastic IPs

  3. 选择已分配用于 VPC(范围列的值为 vpc)的弹性 IP 地址,然后依次选择操作关联弹性 IP 地址

  4. 选择 InstanceNetwork interface,然后选择实例 ID 或网络接口 ID。选择要与弹性 IP 地址关联的私有 IP 地址。选择 Associate

查看您的弹性 IP 地址

您可以查看已分配给您的账户的弹性 IP 地址。

查看您的弹性 IP 地址
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Elastic IPs

  3. 要筛选显示的列表,请先在搜索框中输入弹性 IP 地址的一部分或它的某个属性。

为弹性 IP 地址添加标签

您可以对弹性 IP 地址应用标签,以帮助您识别它或根据企业的需要对其进行分类。

为弹性 IP 地址添加标签
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Elastic IPs

  3. 选择弹性 IP 地址,然后选择标签

  4. 选择管理标签,根据需要输入标签键和值,然后选择保存

解除弹性 IP 地址的关联

要更改弹性 IP 地址所关联的资源,必须先将其与当前关联的资源取消关联。

撤销弹性 IP 地址的关联
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Elastic IPs

  3. 选择该弹性 IP 地址,然后依次选择操作取消关联弹性 IP 地址

  4. 系统提示时,选择取消关联

转移弹性 IP 地址

本节介绍如何将弹性 IP 地址从一个 Amazon Web Services 账户 转移到另一个账户。在以下情况下,转移弹性 IP 地址可能会很有用:

  • 组织调整 – 使用弹性 IP 地址转移在 Amazon Web Services 账户 之间快速转移工作负载。您不必等待新弹性 IP 地址被列入安全组和 NACL 的允许名单。

  • 集中式安全管理 – 使用集中式 Amazon 安全账户跟踪和转移已通过安全合规性审查的弹性 IP 地址。

  • 灾难恢复 – 在紧急事件期间使用弹性 IP 地址转移,为面向公众的互联网工作负载快速重新映射 IP。

转移弹性 IP 地址不收取任何费用。

启用弹性 IP 地址转移

本节介绍如何接受转移的弹性 IP 地址。请注意以下与启用弹性 IP 地址转移相关的限制:

  • 您可以将弹性 IP 地址从任何 Amazon Web Services 账户(源账户)转移到同一 Amazon 区域的任何其他 Amazon 账户(转移账户)。

  • 在转移弹性 IP 地址时,Amazon Web Services 账户 账户之间有两步握手。当源账户开始转移时,转移账户有七天的时间来接受这个弹性 IP 地址转移。在那七天之内,从源账户可以看得见有待转移的那个弹性 IP 地址,比如:在 Amazon 控制台中,或通过使用 describe-address-transfers 这个 Amazon CLI 命令即可看到。七天之后,转移将过期,而且弹性 IP 地址的所有权将被返回给其原始账户。

  • 在接受转移后的三天内,源账户可以查看已接受的转移(例如,在 Amazon 控制台中或使用 describe-address-transfers Amazon CLI 命令查看)。

  • Amazon 不会向转移账户通知待处理的弹性 IP 地址转移请求。源账户的所有者必须通知转移账户的所有者:他们必须接受弹性 IP 地址转移请求。

  • 转移完成后,与正在转移的弹性 IP 地址关联的所有标签都将被重置。

  • 您无法将从自带的公有 IPv4 地址池 [通常称为自带 IP(BYOIP)地址池] 分配的弹性 IP 地址转移到您的 Amazon Web Services 账户。

  • 如果您尝试转移与反向 DNS 记录相关联的弹性 IP 地址,则可以开始转移过程,但是在删除关联的 DNS 记录之前,转移账户将无法接受转移。

  • 如果已启用并配置了 Amazon Outposts,则您可能已从客户拥有的 IP 地址池(CoIP)中分配了弹性 IP 地址。您无法转移从 CoIP 分配的弹性 IP 地址。但是,您可以使用 Amazon RAM 与其他账户共享 CoIP。有关更多信息,请参阅《Amazon Outposts 用户指南》中的客户拥有的 IP 地址

  • 您可以使用 Amazon VPC IPAM 跟踪向 Amazon Organizations 组织中的账户转移弹性 IP 地址的情况。有关更多信息,请参阅查看 IP 地址历史记录。但是,如果将弹性 IP 地址转移到组织外部的 Amazon Web Services 账户,则弹性 IP 地址的 IPAM 审核历史记录将丢失。

这些步骤必须由源账户完成。

启用弹性 IP 地址转移
  1. 确保您使用的是源 Amazon 账户。

  2. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  3. 在导航窗格中,选择 Elastic IPs

  4. 选择一个或多个要启用转移的弹性 IP 地址,然后选择 Actions(操作)、Enable transfer(启用转移)。

  5. 如果要转移多个弹性 IP 地址,则会看到 Transfer type(转移类型)选项。请选择以下任一选项:

    • 如果要将弹性 IP 地址转移到单个 Amazon 账户,请选择 Single account(单个账户)。

    • 如果要将弹性 IP 地址转移到多个 Amazon 账户,请选择 Multiple accounts(多个账户)。

  6. Transfer account ID(转移账户 ID)下,输入要向其转移弹性 IP 地址的 Amazon 账户的 ID。

  7. 在文本框中输入 enable 以确认转移。

  8. 选择提交

  9. 若要接受转移,请参阅 接受转移的弹性 IP 地址。要禁用转移,请参阅 禁用弹性 IP 地址转移

禁用弹性 IP 地址转移

本节介绍如何在启用转移后禁用弹性 IP 转移。

这些步骤必须由启用转移的源账户完成。

禁用弹性 IP 地址转移
  1. 确保您使用的是源 Amazon 账户。

  2. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  3. 在导航窗格中,选择 Elastic IPs

  4. 在弹性 IP 的资源列表中,确保启用了显示 Transfer status(转移状态)列的属性。

  5. 选择一个或多个 Transfer status(转移状态)为 Pending(待处理)的弹性 IP 地址,然后选择 Actions(操作)、Disable transfer(禁用转移)。

  6. 在文本框中输入 disable 以确认。

  7. 选择提交

接受转移的弹性 IP 地址

本节介绍如何接受转移的弹性 IP 地址。

在转移弹性 IP 地址时,Amazon Web Services 账户 账户之间有两步握手。当源账户开始转移时,转移账户有七天的时间来接受这个弹性 IP 地址转移。在那七天之内,从源账户可以看得见有待转移的那个弹性 IP 地址,比如:在 Amazon 控制台中,或通过使用 describe-address-transfers 这个 Amazon CLI 命令即可看到。七天之后,转移将过期,而且弹性 IP 地址的所有权将被返回给其原始账户。

接受转移时,请注意可能发生的以下异常情况以及如何解决这些异常:

  • AddressLimitExceeded:如果您的转移账户已超过弹性 IP 地址配额,则源账户可以启用弹性 IP 地址转移,但是当转移账户尝试接受转移时,会发生此异常。默认情况下,所有 Amazon 账户限制为每个区域使用 5 个弹性 IP 地址。有关增加限制的说明,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的弹性 IP 地址限制

  • InvalidTransfer.AddressCustomPtrSet:如果您或组织中的某人已将您正在尝试转移的弹性 IP 地址配置为使用反向 DNS 查找,则源账户可以启用弹性 IP 地址转移,但是当转移账户尝试接受转移时,会发生此异常。若要解决此问题,源账户必须删除弹性 IP 地址的 DNS 记录。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的删除反向 DNS 记录

  • InvalidTransfer.AddressAssociated:如果弹性 IP 地址与 ENI 或 EC2 实例相关联,则源帐户可以启用弹性 IP 地址转移,但是当转移帐户尝试接受转移时,会发生此异常。若要解决此问题,源帐户必须解除弹性 IP 地址的关联。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的解除弹性 IP 地址的关联

对于任何其他异常,请联系 Amazon Web Services Support

这些步骤必须由转移账户完成。

接受弹性 IP 地址转移
  1. 确保您使用的是转移账户。

  2. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  3. 在导航窗格中,选择 Elastic IPs

  4. 选择 Actions(操作)、Accept transfer(接受转移)。

  5. 当您接受转移时,与要转移的弹性 IP 地址关联的标签不会随弹性 IP 地址一起转移。如果要为所接受的弹性 IP 地址定义 Name(名称)标签,请选择 Create a tag with a key of 'Name' and a value that you specify(创建具有“Name”键以及您指定的值的标签)。

  6. 输入要转移的弹性 IP 地址。

  7. 如果您接受多个转移的弹性 IP 地址,请选择 Add address(添加地址)以输入附加弹性 IP 地址。

  8. 选择提交

释放弹性 IP 地址

如果您不再需要某个弹性 IP 地址,建议您释放该地址。对于被分配用于 VPC 但未与实例关联的任何弹性 IP 地址,您也需要承担相应费用。弹性 IP 地址不得与实例或网络接口关联。

释放弹性 IP 地址
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Elastic IPs

  3. 选择该弹性 IP 地址,然后依次选择操作释放弹性 IP 地址

  4. 系统提示时,选择 Release

恢复弹性 IP 地址

如果您释放了一个弹性 IP 地址,但改变了主意,则可能能够恢复它。如果该弹性 IP 地址已分配给另一个 Amazon 账户,则无法恢复该地址,否则恢复它会导致您超出弹性 IP 地址限额。

您可以使用 Amazon EC2 API 或命令行工具恢复弹性 IP 地址。

使用 Amazon CLI 恢复弹性 IP 地址

使用 allocate-address 命令,并使用 --address 参数指定 IP 地址。

aws ec2 allocate-address --domain vpc --address 203.0.113.3

API 和命令概览

您可以使用命令行或 API 执行此部分所述的任务。有关命令行界面的更多信息以及可用 API 操作的列表,请参阅 使用 Amazon VPC

接受弹性 IP 地址转移
分配弹性 IP 地址
将弹性 IP 地址与实例或网络接口关联起来
描述弹性 IP 地址转移
禁用弹性 IP 地址转移
解除弹性 IP 地址的关联
启用弹性 IP 地址转移
释放弹性 IP 地址
为弹性 IP 地址添加标签
查看您的弹性 IP 地址

定价

为了确保有效使用弹性 IP 地址,我们将按小时收取少量费用。有关更多信息,请参阅 Amazon VPC 定价中的公有 IPv4 地址