

# 弹性 IP 地址
<a name="elastic-ip-addresses-eip"></a>

*弹性 IP 地址* 是专为动态云计算设计的静态 IPv4 地址。弹性 IP 地址会分配给您的 AWS 账户，并且在您释放它之前一直属于您。使用弹性 IP 地址，您可以快速将地址重新映射到您的账户中的另一个实例，从而屏蔽实例故障。或者，您可以在域的 DNS 记录中指定弹性 IP 地址，以使域指向您的实例。有关更多信息，请参阅您的域注册商的文档。

弹性 IP 地址是公有 IPv4 地址，可通过 Internet 访问。如果需要连接到没有公有 IPv4 地址的实例，则可以将弹性 IP 地址与实例关联以实现与互联网的通信。

**Topics**
+ [弹性 IP 地址定价](#eip-pricing)
+ [弹性 IP 地址基本信息](#eip-basics)
+ [弹性 IP 地址配额](#using-instance-addressing-limit)
+ [将弹性 IP 地址与实例关联](working-with-eips.md)
+ [在 AWS 账户之间转移弹性 IP 地址](transfer-EIPs-intro-ec2.md)
+ [释放弹性 IP 地址](using-instance-addressing-eips-releasing.md)
+ [在 Amazon EC2 上为电子邮件创建反向 DNS 记录](Using_Elastic_Addressing_Reverse_DNS.md)

## 弹性 IP 地址定价
<a name="eip-pricing"></a>

所有正在使用（已分配给 EC2 实例等资源）和闲置（已在您的账户中创建但未分配）的弹性 IP 地址都会产生费用。

AWS 将对所有公有 IPv4 地址收费，包括与运行的实例相关联的公有 IPv4 地址和弹性 IP 地址。有关更多信息，请参阅 [Amazon VPC 定价页面](https://aws.amazon.com/vpc/pricing/)中的**公有 IPv4 地址定价**选项卡。

## 弹性 IP 地址基本信息
<a name="eip-basics"></a>

下面是弹性 IP 地址的基本特征：
+ 弹性 IP 地址是静态地址，不会随着时间的推移而改变。
+ 一个弹性 IP 地址只能在一个特定区域中使用，不能移动到其他区域。
+ 弹性 IP 地址来自 Amazon 的 IPv4 地址池，或来自已引入到您的 AWS 账户的自定义 IPv4 地址池。我们不支持对 IPv6 使用弹性 IP 地址。
+ 要使用弹性 IP 地址，您应首先向您的账户分配这样一个地址，然后将其与您的实例或网络接口关联。
+ 当您将弹性 IP 地址与实例关联时，该地址也会与实例的主网络接口相关联。当您将弹性 IP 地址与连接到实例的网络接口关联时，它也与该实例关联。
+ 当您将弹性 IP 地址与实例或其主网络接口关联时，如果该实例已具有与之关联的公有 IPv4 地址，则该公有 IPv4 地址将被释放回 Amazon 的公有 IPv4 地址池，并且弹性 IP 地址将与该实例关联。您不能重用以前与实例关联的公有 IPv4 地址，也不能将该公有 IPv4 地址转换为弹性 IP 地址。有关更多信息，请参阅 [公有 IPv4 地址](using-instance-addressing.md#concepts-public-addresses)。
+ 您可以取消弹性 IP 地址与资源的关联，然后重新将此地址与其他资源关联。为避免意外行为，请确保在进行更改之前关闭到现有关联中指定资源的所有活动连接。将弹性 IP 地址关联到其他资源后，可以重新打开与新关联的资源的连接。
+ 取消关联的弹性 IP 地址保持分配到您的账户，直至您明确释放它。您需要为账户中的所有弹性 IP 地址付费，无论这些地址是否与实例关联。有关更多信息，请参阅 [Amazon VPC 定价页面](https://aws.amazon.com/vpc/pricing/)中的**公有 IPv4 地址定价**选项卡。
+ 在将弹性 IP 地址与之前具有公有 IPv4 地址的实例关联时，该实例的公有 DNS 主机名将发生更改以匹配弹性 IP 地址。
+ 我们会将公有 DNS 主机名解析为实例所在网络外部的该实例的公有 IPv4 地址或弹性 IP 地址，以及实例所在网络内部的该实例的私有 IPv4 地址。
+ 从已引入到您 AWS 账户的 IP 地址池分配弹性 IP 地址时，该地址不会计入弹性 IP 地址限制。有关更多信息，请参阅[弹性 IP 地址配额](#using-instance-addressing-limit)。
+ 分配弹性 IP 地址时，您可以将弹性 IP 地址与网络边界组关联。这是我们公告 CIDR 块的位置。设置网络边界组会将 CIDR 块限制到此组。如果您未指定网络边界组，我们将设置包含区域中所有可用区的边界组（例如，`us-west-2`）。
+ 弹性 IP 地址仅用于特定网络边界组。

## 弹性 IP 地址配额
<a name="using-instance-addressing-limit"></a>

默认情况下，所有 AWS 账户在每个区域的限额为五（5）个弹性 IP 地址，因为公有（IPv4）互联网地址是稀缺的公有资源。我们强烈建议您使用弹性 IP 地址，主要是为了在实例出现故障的情况下能够将该地址映射到另一实例，同时能够将 [DNS 主机名](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html#vpc-dns-hostnames)用于所有其他节点间通信。

如果您认为您的架构需要额外的弹性 IP 地址，则可直接从 Service Quotas 控制台请求提高配额。要请求增加限额，请选择**请求增加账户限额**。有关更多信息，请参阅 [Amazon EC2 Service Quotas](ec2-resource-limits.md)。

# 将弹性 IP 地址与实例关联
<a name="working-with-eips"></a>

分配弹性 IP 地址后，您可以将其与 EC2 实例、NAT 网关或网络负载均衡器等 AWS 资源关联。要在稍后将弹性 IP 地址与其他 AWS 资源关联，您可以将其与当前资源取消关联，然后将其与新资源关联。

**Topics**
+ [分配弹性 IP 地址](#using-instance-addressing-eips-allocating)
+ [关联弹性 IP 地址](#using-instance-addressing-eips-associating)
+ [解除弹性 IP 地址的关联](#using-instance-addressing-eips-associating-different)

## 分配弹性 IP 地址
<a name="using-instance-addressing-eips-allocating"></a>

您可以分配弹性 IP 地址以在区域中使用。所有正在使用（已与 EC2 实例等资源关联）和闲置（已在您的账户中创建但未关联）的弹性 IP 地址都会产生费用。

------
#### [ Console ]

**分配弹性 IP 地址**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择 **Network & Security**（网络与安全）下的**Elastic IPs**（弹性 IP）。

1. 选择 **Allocate Elastic IP address (分配弹性 IP 地址)**。

1. （可选）分配弹性 IP 地址（EIP）时，您可以选择要在其中分配 EIP 的**网络边界组**。网络边界组是一组可用区（AZ）、Local Zones 或 Wavelength Zones（AWS 可从中公告公有 IP 地址）。Local Zones 和 Wavelength Zones 的网络边界组可能与区域中的可用区不同，以确保 AWS 网络与访问这些区域中资源的客户之间保持最低延迟或最短物理距离。
**重要**  
您必须在将与该 EIP 关联的 AWS 资源所在的网络边界组中分配一个 EIP。一个网络边界组中的 EIP 只能在该网络边界组中的区域内公告，而不能在由其他网络边界组代表的任何其他区域内公告。

   如果您启用 Local Zones 或 Wavelength Zones（有关更多信息，请参阅[启用 Local Zone](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html#getting-started-find-local-zone) 或[启用 Wavelength Zones](https://docs.aws.amazon.com//wavelength/latest/developerguide/get-started-wavelength.html#enable-zone-group)），则可以为可用区、Local Zones 或 Wavelength Zones 选择网络边界组。请谨慎选择网络边界组，因为 EIP 及其关联的 AWS 资源必须位于同一个网络边界组中。您可以使用 EC2 控制台查看可用区、本地区或 Wavelength 区所在的网络边界组。通常，一个区域中的所有可用区都属于同一个网络边界组，而 Local Zones 或 Wavelength Zones 则属于各自独立的网络边界组。

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

1. 对于**Public IPv4 address pool**（公有 IPv4 地址池），选择以下选项之一：
   + **Amazon 的 IPv4 地址池**—如果要从 Amazon 的 IPv4 地址池中分配 IPv4 地址。
   + **引入 AWS 账户的公有 IPv4 地址** – 如果您想从已引入到 AWS 账户的 IP 地址池中分配一个不连续（非顺序）的 IPv4 地址。如果您没有任何 IP 地址池，则此选项将被禁用。有关将您自己的 IP 地址范围引入到您 AWS 账户的更多信息，请参阅 [自带 IP 地址（BYOIP）到 Amazon EC2](ec2-byoip.md)。
   + **Customer owned pool of IPv4 addresses (客户拥有的 IPv4 地址池)** – 如果要从在本地网络创建的池中分配 IPv4 地址以供 AWS Outpost 使用。如果您没有 AWS Outpost，则此选项将被禁用。
   + **使用 IPAM IPv4 池进行分配**：如果您想从 IPAM 池中连续的公有 IPv4 块中分配连续的弹性 IP 地址。分配连续的弹性 IP 地址可以显著减少安全访问控制列表的管理开销，简化在 AWS 上扩展的企业的 IP 地址分配和跟踪工作。有关更多信息，请参阅《Amazon VPC IPAM User Guide》**中的 [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html)。

1. （可选）要添加标签，请选择**添加新标签**，然后输入标签键和标签值。

------
#### [ AWS CLI ]

**分配弹性 IP 地址**  
使用 [allocate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-address.html) AWS CLI 命令。

在以下示例中，Amazon EC2 从 Amazon 的地址池中选择地址。

```
aws ec2 allocate-address
```

在以下示例中，Amazon EC2 从您通过 BYOIP 引入 AWS 的指定地址池中选择地址。

```
aws ec2 allocate-address \
    --public-ipv4-pool ipv4pool-ec2-012345abcdef67890
```

以下示例指定来自指定 IPv4 IPAM 地址池的地址。

```
aws ec2 allocate-address \
    --ipam-pool-id ipam-pool-1234567890abcdef0 \
    --address 192.0.2.0
```

------
#### [ PowerShell ]

**分配弹性 IP 地址**  
使用 [New-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Address.html) cmdlet。

在以下示例中，Amazon EC2 从 Amazon 的地址池中选择地址。

```
New-EC2Address
```

在以下示例中，Amazon EC2 从您通过 BYOIP 引入 AWS 的指定地址池中选择地址。

```
New-EC2Address `
    -PublicIpv4Pool ipv4pool-ec2-012345abcdef67890
```

以下示例指定来自指定 IPv4 IPAM 地址池的地址。

```
New-EC2Address `
    -IpamPoolId ipam-pool-1234567890abcdef0 `
    -Address 192.0.2.0
```

------

## 关联弹性 IP 地址
<a name="using-instance-addressing-eips-associating"></a>

如果要将弹性 IP 地址与您的实例关联以启用与 Internet 的通信，您还必须确保您的实例在公有子网中。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[使用互联网网关启用 VPC 互联网访问](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)。

------
#### [ Console ]

**要关联弹性 IP 地址和实例**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择要关联的弹性 IP 地址，然后依次选择 **Actions (操作)**、**Associate Elastic IP address (关联弹性 IP 地址)**。

1. 对于 **Resource type (资源类型)**，选择 **Instance (实例)**。

1. 例如，选择要将弹性 IP 地址关联到的实例。您还可以输入文本以搜索特定实例。

1. （可选）对于 **Private IP address (私有 IP 地址)**，请指定要将弹性 IP 地址关联到的私有 IP 地址。

1. 选择 **Associate**。

**将弹性 IP 地址与网络接口相关联**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择要关联的弹性 IP 地址，然后依次选择 **Actions (操作)**、**Associate Elastic IP address (关联弹性 IP 地址)**。

1. 对于 **Resource type** (资源类型)，选择 **Network interface** (网络接口)。

1. 对于 **Network interface (网络接口)**，请选择要将弹性 IP 地址关联到的网络接口。您还可以输入文本来搜索特定网络接口。

1. （可选）对于 **Private IP address (私有 IP 地址)**，请指定要将弹性 IP 地址关联到的私有 IP 地址。

1. 选择 **Associate**。

------
#### [ AWS CLI ]

**关联弹性 IP 地址**  
使用 [associate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-address.html) AWS CLI 命令。

```
aws ec2 associate-address \
    --instance-id i-0b263919b6498b123 \
    --allocation-id eipalloc-64d5890a
```

------
#### [ PowerShell ]

**关联弹性 IP 地址**  
使用 [Register-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Address.html) cmdlet。

```
Register-EC2Address `
    -InstanceId i-0b263919b6498b123 `
    -AllocationId eipalloc-64d5890a
```

------

## 解除弹性 IP 地址的关联
<a name="using-instance-addressing-eips-associating-different"></a>

您可以随时取消弹性 IP 地址与实例或网络接口的关联。取消关联弹性 IP 地址后，您可以将其与其他资源关联。

------
#### [ Console ]

**取消关联和重新关联弹性 IP 地址**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择要取消关联的弹性 IP 地址，然后依次选择 **Actions (操作)**、**Disassociate Elastic IP address (取消关联弹性 IP 地址)**。

1. 选择**取消关联**。

------
#### [ AWS CLI ]

**撤销弹性 IP 地址的关联**  
使用 [disassociate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-address.html) AWS CLI 命令。

```
aws ec2 disassociate-address --association-id eipassoc-12345678
```

------
#### [ PowerShell ]

**撤销弹性 IP 地址的关联**  
使用 [Unregister-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Address.html) cmdlet。

```
Unregister-EC2Address -AssociationId eipassoc-12345678
```

------

# 在 AWS 账户之间转移弹性 IP 地址
<a name="transfer-EIPs-intro-ec2"></a>

您可以将弹性 IP 地址从一个 AWS 账户转移到另一个。这可能在以下情况下有帮助：
+ **灾难恢复**：在紧急事件期间为面向公众的互联网工作负载快速重新映射 IP 地址。
+ **组织调整**：将工作负载从一个 AWS 账户快速移动到另一个。地址转移无需等待安全组和网络 ACL 允许即可使用新弹性 IP 地址。
+ **集中式安全管理** – 使用集中式 AWS 安全账户跟踪和转移已通过安全合规性审查的弹性 IP 地址。

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

**Topics**
+ [启用弹性 IP 地址转移](#using-instance-addressing-eips-transfer-enable-ec2)
+ [接受转移的弹性 IP 地址](#using-instance-addressing-eips-transfer-accept-ec2)
+ [禁用弹性 IP 地址转移](#using-instance-addressing-eips-transfer-disable-ec2)

## 启用弹性 IP 地址转移
<a name="using-instance-addressing-eips-transfer-enable-ec2"></a>

本节介绍如何接受转移的弹性 IP 地址。请注意以下与启用弹性 IP 地址转移相关的限制：
+ 您可以将弹性 IP 地址从任何 AWS 账户（源账户）转移到同一 AWS 区域中的任何其他 AWS 账户（转入账户）。无法将弹性 IP 地址转移到其他区域。
+ 在转移弹性 IP 地址时，AWS 账户 账户之间有两步握手。当源账户开始转移时，转移账户有七天的时间来接受这个弹性 IP 地址转移。在那七天之内，从源账户可以看得见有待转移的那个弹性 IP 地址，比如：在 AWS 控制台中或使用 [describe-address-transfers](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-address-transfers.html) 命令即可看到。七天之后，转移将过期，而且弹性 IP 地址的所有权将被返回给其原始账户。
+ 在接受转移后的 14 天内，源账户可以查看已接受的转移，例如：在 AWS 控制台中或使用 [describe-address-transfers](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-address-transfers.html) 命令即可查看。
+ AWS 不会向转移账户通知待处理的弹性 IP 地址转移请求。源账户的所有者必须通知转移账户的所有者：他们必须接受弹性 IP 地址转移请求。
+ 转移完成后，与正在转移的弹性 IP 地址关联的所有标签都将被重置。
+ 您无法将从自带的公有 IPv4 地址池 [通常称为自带 IP（BYOIP）地址池] 分配的弹性 IP 地址转移到您的 AWS 账户。
+ 从 Amazon 提供的连续公有 IPv4 Amazon VPC IP 地址管理器（IPAM）池中分配的弹性 IP 地址不支持转移。不过，通过将 IPAM 与 AWS Organizations 集成并使用 AWS RAM，IPAM 允许跨 AWS 账户共享 IPAM 池。有关更多信息，请参阅《Amazon VPC IPAM User Guide》**中的 [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html)。
+ 如果您尝试转移与反向 DNS 记录相关联的弹性 IP 地址，则可以开始转移过程，但是在删除关联的 DNS 记录之前，转移账户将无法接受转移。
+ 如果已启用并配置了 AWS Outposts，则您可能已从客户拥有的 IP 地址池（CoIP）中分配了弹性 IP 地址。您无法转移从 CoIP 分配的弹性 IP 地址。但是，您可以使用 AWS RAM 与其他账户共享 CoIP。有关更多信息，请参阅《AWS Outposts 用户指南》**中的[客户拥有的 IP 地址](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)。
+ 您可以使用 Amazon VPC IPAM 跟踪向 AWS Organizations 组织中的账户转移弹性 IP 地址的情况。有关更多信息，请参阅[查看 IP 地址历史记录](https://docs.aws.amazon.com/vpc/latest/ipam/view-history-cidr-ipam.html)。但是，如果将弹性 IP 地址转移到组织外部的 AWS 账户，则弹性 IP 地址的 IPAM 审核历史记录将丢失。

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

------
#### [ Console ]

**启用弹性 IP 地址转移**

1. 确保您使用的是源 AWS 账户。

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择一个或多个要启用转移的弹性 IP 地址，然后选择 **Actions**（操作）、**Enable transfer**（启用转移）。

1. 如果要转移多个弹性 IP 地址，则会看到 **Transfer type**（转移类型）选项。请选择以下选项之一：
   + 如果要将弹性 IP 地址转移到单个 AWS 账户，请选择 **Single account**（单个账户）。
   + 如果要将弹性 IP 地址转移到多个 AWS 账户，请选择 **Multiple accounts**（多个账户）。

1. 在 **Transfer account ID**（转移账户 ID）下，输入要向其转移弹性 IP 地址的 AWS 账户的 ID。

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

1. 选择**提交**。

1. 若要接受转移，请参阅 [接受转移的弹性 IP 地址](#using-instance-addressing-eips-transfer-accept-ec2)。若要禁用转移，请参阅 [禁用弹性 IP 地址转移](#using-instance-addressing-eips-transfer-disable-ec2)。

------
#### [ AWS CLI ]

**启用弹性 IP 地址转移**

使用 [enable-address-transfer](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-address-transfer.html) 命令。

```
aws ec2 enable-address-transfer \
    --allocation-id eipalloc-09ad461b0d03f6aaf \
    --transfer-account-id 123456789012
```

------
#### [ PowerShell ]

**启用弹性 IP 地址转移**  
使用 [Enable-EC2AddressTransfer](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2AddressTransfer.html) cmdlet。

```
Enable-EC2AddressTransfer `
    -AllocationId eipalloc-09ad461b0d03f6aaf `
    -TransferAccountId 123456789012
```

------

## 接受转移的弹性 IP 地址
<a name="using-instance-addressing-eips-transfer-accept-ec2"></a>

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

在转移弹性 IP 地址时，AWS 账户 账户之间有两步握手。当源账户开始转移时，转移账户有七天的时间来接受这个弹性 IP 地址转移。在那七天之内，从源账户可以看得见有待转移的那个弹性 IP 地址，比如：在 AWS 控制台中或使用 [describe-address-transfers](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-address-transfers.html) 命令即可看到。七天之后，转移将过期，而且弹性 IP 地址的所有权将被返回给其原始账户。

接受转移时，请注意可能发生的以下异常情况以及如何解决这些异常：
+ **AddressLimitExceeded**：如果您的转移账户相应的弹性 IP 地址配额已超出，可以通过源账户来启动弹性 IP 地址转移，但此举将会导致系统出现异常，因为只要是转移账户在尝试接受这样的转移，此异常情况就会发生。默认情况下，每个 AWS 账户的限额为每个区域仅能使用最多 5 个弹性 IP 地址。欲提高此限制，请见此说明:[弹性 IP 地址配额](elastic-ip-addresses-eip.md#using-instance-addressing-limit)。
+ **InvalidTransfer.AddressCustomPtrSet**：如果您或组织中的某人已将您正在尝试转移的弹性 IP 地址配置为使用反向 DNS 查找，则源账户可以启用弹性 IP 地址转移，但是当转移账户尝试接受转移时，会发生此异常。若要解决此问题，源账户必须删除弹性 IP 地址的 DNS 记录。有关更多信息，请参阅 [在 Amazon EC2 上为电子邮件创建反向 DNS 记录](Using_Elastic_Addressing_Reverse_DNS.md)。
+ **InvalidTransfer.AddressAssociated**：如果弹性 IP 地址与 ENI 或 EC2 实例相关联，则源帐户可以启用弹性 IP 地址转移，但是当转移帐户尝试接受转移时，会发生此异常。若要解决此问题，源帐户必须解除弹性 IP 地址的关联。有关更多信息，请参阅 [解除弹性 IP 地址的关联](working-with-eips.md#using-instance-addressing-eips-associating-different)。

对于任何其他异常，[请联系 支持](https://aws.amazon.com/contact-us/)。

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

------
#### [ Console ]

**接受弹性 IP 地址转移**

1. 确保您使用的是转移账户。

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择 **Actions**（操作）、**Accept transfer**（接受转移）。

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

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

1. 如果您接受多个转移的弹性 IP 地址，请选择 **Add address**（添加地址）以输入附加弹性 IP 地址。

1. 选择**提交**。

------
#### [ AWS CLI ]

**接受弹性 IP 地址转移**

使用 [accept-address-transfer](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-address-transfer.html) 命令。

```
aws ec2 accept-address-transfer --address 100.21.184.216
```

------
#### [ PowerShell ]

**接受弹性 IP 地址转移**  
使用 [Approve-EC2AddressTransfer](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2AddressTransfer.html) cmdlet。

```
Approve-EC2AddressTransfer -Address 100.21.184.216
```

------

## 禁用弹性 IP 地址转移
<a name="using-instance-addressing-eips-transfer-disable-ec2"></a>

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

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

------
#### [ Console ]

**禁用弹性 IP 地址转移**

1. 确保您使用的是源 AWS 账户。

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 在弹性 IP 的资源列表中，确保启用了显示 **Transfer status**（转移状态）列的属性。

1. 选择一个或多个 **Transfer status**（转移状态）为 **Pending**（待处理）的弹性 IP 地址，然后选择 **Actions**（操作）、**Disable transfer**（禁用转移）。

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

1. 选择**提交**。

------
#### [ AWS CLI ]

**禁用弹性 IP 地址转移**

使用 [disable-address-transfer](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-address-transfer.html) 命令。

```
aws ec2 disable-address-transfer --allocation-id eipalloc-09ad461b0d03f6aaf
```

------
#### [ PowerShell ]

**禁用弹性 IP 地址转移**  
使用 [Disable-EC2AddressTransfer](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2AddressTransfer.html) cmdlet。

```
Disable-EC2AddressTransfer -AllocationId eipalloc-09ad461b0d03f6aaf
```

------

# 释放弹性 IP 地址
<a name="using-instance-addressing-eips-releasing"></a>

如果您不再需要某个弹性 IP 地址，建议您释放该地址。要发布的弹性 IP 地址当前不得与 AWS 资源关联。

------
#### [ Console ]

**释放弹性 IP 地址**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择要释放的弹性 IP 地址，然后依次选择 **Actions (操作)**、**Release Elastic IP addresses (释放弹性 IP 地址)**。

1. 选择 **Release (释放)**。

------
#### [ AWS CLI ]

**释放弹性 IP 地址**  
使用 [release-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/release-address.html) AWS CLI 命令。

```
aws ec2 release-address --allocation-id eipalloc-64d5890a
```

------
#### [ PowerShell ]

**释放弹性 IP 地址**  
使用 [Remove-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Address.html) cmdlet。

```
Remove-EC2Address -AllocationId eipalloc-64d5890a
```

------

释放弹性 IP 地址后，您可能能够恢复它。以下规则适用：
+ 如果弹性 IP 地址已分配至其他 AWS 账户，或者该地址将导致您超出弹性 IP 地址限制，则您无法恢复该地址。
+ 您不能恢复与弹性 IP 地址关联的标签。

------
#### [ AWS CLI ]

**恢复弹性 IP 地址**  
使用 [allocate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-address.html) 命令。

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

------
#### [ PowerShell ]

**恢复弹性 IP 地址**  
使用 [New-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Address.html) cmdlet。

```
New-EC2Address `
    -Address 203.0.113.3 `
    -Domain vpc `
    -Region us-east-1
```

------

# 在 Amazon EC2 上为电子邮件创建反向 DNS 记录
<a name="Using_Elastic_Addressing_Reverse_DNS"></a>

如果您打算从 EC2 实例向第三方发送电子邮件，我们建议您预置一个或多个弹性 IP 地址，并向您用于发送电子邮件的弹性 IP 地址分配静态反向 DNS 记录。这样有助于避免电子邮件被一些反垃圾电子邮件组织标记为垃圾电子邮件。AWS 与 ISP 以及 Internet 反垃圾电子邮件组织合作，减少从这些地址发送的电子邮件被标记为垃圾电子邮件的几率。

**注意事项**
+ 在创建反向 DNS 记录之前，您必须设置指向您的弹性 IP 地址的对应的正向 DNS 记录（记录类型 A）。
+ 如果反向 DNS 记录与弹性 IP 地址关联，则该弹性 IP 地址将锁定到您的账户中且无法从您的账户中释放，直至删除记录。
+ 如果您联系了 支持 为弹性 IP 地址设置反向 DNS，您可以删除该反向 DNS，但不能释放弹性 IP 地址，因为它已被 支持 锁定。要解锁弹性 IP 地址，请联系 [AWS 支持](https://console.aws.amazon.com/support/home#/)。解锁弹性 IP 地址后，您就可以释放该地址。
+ [AWS GovCloud (US) Region] 您不能创建反向 DNS 记录。AWS 必须为您分配静态反向 DNS 记录。建立支持案例，取消反向 DNS 和电子邮件发送限制。您必须提供弹性 IP 地址和反向 DNS 记录。

## 创建反向 DNS 记录
<a name="eip-create-rdns-record"></a>

您可以按如下方式为弹性 IP 地址创建反向 DNS 记录。

------
#### [ Console ]

**创建反向 DNS 记录**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择弹性 IP 地址，然后依次选择 **Actions**（操作）和 **Update reverse DNS**（更新反向 DNS）。

1. 对于 **Reverse DNS domain name**（反向 DNS 域名），输入域名。

1. 输入 **update** 以确认。

1. 选择**更新**。

------
#### [ AWS CLI ]

**创建反向 DNS 记录**  
使用 [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-address-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-address-attribute.html) 命令。

```
aws ec2 modify-address-attribute \
    --allocation-id eipalloc-abcdef01234567890 \
    --domain-name example.com
```

下面是示例输出。

```
{
    "Addresses": [
        {
            "PublicIp": "192.0.2.0",
            "AllocationId": "eipalloc-abcdef01234567890",
            "PtrRecord": "example.net.",
            "PtrRecordUpdate": {
                "Value": "example.com.",
                "Status": "PENDING"
            }
        }
    ]
}
```

------
#### [ PowerShell ]

**创建反向 DNS 记录**  
使用 [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2AddressAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2AddressAttribute.html) cmdlet。

```
Edit-EC2AddressAttribute `
    -AllocationId 'eipalloc-abcdef01234567890' `
    -DomainName 'example.com' |
Format-List `
    AllocationId, PtrRecord, PublicIp,
    @{Name='PtrRecordUpdate';Expression={$_.PtrRecordUpdate | Format-List | Out-String}}
```

下面是示例输出。

```
AllocationId    : eipalloc-abcdef01234567890
PtrRecord       : example.net.
PublicIp        : 192.0.2.0
PtrRecordUpdate : 
                  Reason :
                  Status : PENDING
                  Value  : example.com.
```

------

## 删除反向 DNS 记录
<a name="eip-remove-rdns-record"></a>

您可以按以下方式从弹性 IP 地址中删除反向 DNS 记录。

如果收到以下错误，您可以向 支持 团队提交[删除电子邮件发送限制的请求](https://repost.aws/knowledge-center/ec2-port-25-throttle)来获得帮助。

```
The address cannot be released because it is locked to your account.
```

------
#### [ Console ]

**移除反向 DNS 记录**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**弹性 IP**。

1. 选择弹性 IP 地址，然后依次选择 **Actions**（操作）和 **Update reverse DNS**（更新反向 DNS）。

1. 对于 **Reverse DNS domain name**（反向 DNS 域名），清除域名。

1. 输入 **update** 以确认。

1. 选择**更新**。

------
#### [ AWS CLI ]

**移除反向 DNS 记录**  
使用 [https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-address-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-address-attribute.html) 命令。

```
aws ec2 reset-address-attribute \
    --allocation-id eipalloc-abcdef01234567890 \
    --attribute domain-name
```

下面是示例输出。

```
{
    "Addresses": [
        {
            "PublicIp": "192.0.2.0",
            "AllocationId": "eipalloc-abcdef01234567890",
            "PtrRecord": "example.com.",
            "PtrRecordUpdate": {
                "Value": "example.net.",
                "Status": "PENDING"
            }
        }
    ]
}
```

------
#### [ PowerShell ]

**移除反向 DNS 记录**  
使用 [https://docs.aws.amazon.com/powershell/latest/reference/items/Reset-EC2AddressAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Reset-EC2AddressAttribute.html) cmdlet。

```
Reset-EC2AddressAttribute `
    -AllocationId 'eipalloc-abcdef01234567890' `
    -Attribute domain-name |
Format-List `
    AllocationId, PtrRecord, PublicIp,
    @{Name='PtrRecordUpdate';Expression={$_.PtrRecordUpdate | Format-List | Out-String}}
```

下面是示例输出。

```
AllocationId    : eipalloc-abcdef01234567890
PtrRecord       : example.com.
PublicIp        : 192.0.2.0
PtrRecordUpdate : 
                  Reason :
                  Status : PENDING
                  Value  : example.net.
```

------