

# 使用 AWS 管理控制台和 AWS CLI 自带 IPv4 CIDR 到 IPAM 中
<a name="tutorials-byoip-ipam-console-ipv4"></a>

按照以下步骤将 IPv4 CIDR 带入 IPAM 中，然后使用 AWS 管理控制台和 AWS CLI 分配弹性 IP 地址 (EIP)。

**重要**  
本教程假定您已完成以下部分中的步骤：  
[将 IPAM 与 AWS Organization 中的账户集成](enable-integ-ipam.md).
[创建 IPAM](create-ipam.md).
本教程的每个步骤都必须由以下三个 AWS Organizations 账户之一完成：  
管理账户。
[将 IPAM 与 AWS Organization 中的账户集成](enable-integ-ipam.md) 中配置为 IPAM 管理员的成员账户。在本教程中，此账户将被称为 IPAM 账户。
将从 IPAM 池中分配 CIDR 的企业中的成员账户。在本教程中，此账户将被称为成员账户。

**Topics**
+ [

## 第 1 步：创建 AWS CLI 命名配置文件和 IAM 角色
](#tutorials-create-profiles)
+ [

## 步骤 2：创建顶级 IPAM 池
](#tutorials-byoip-ipam-ipv4-console-create-top)
+ [

## 步骤 3：在顶级池中创建区域池
](#tutorials-byoip-ipam-ipv4-console-create-reg)
+ [

## 步骤 4：传播 CIDR
](#tutorials-byoip-ipam-ipv4-console-adv)
+ [

## 步骤 5。共享区域池
](#tutorials-byoip-ipam-ipv4-console-share-reg)
+ [

## 步骤 6：从池中分配弹性 IP 地址
](#tutorials-byoip-ipam-ipv4-console-all-eip)
+ [

## 步骤 7：将弹性 IP 地址与 EC2 实例相关联
](#tutorials-byoip-ipam-ipv4-console-assoc-eip)
+ [

## 步骤 8：清除
](#tutorials-byoip-ipam-ipv4-console-cleanup)
+ [

## 步骤 6 的替代方案
](#tutorials-byoip-ipam-ipv4-alt)

## 第 1 步：创建 AWS CLI 命名配置文件和 IAM 角色
<a name="tutorials-create-profiles"></a>

要以单个 AWS 用户的身份完成本教程，您可以使用 AWS CLI 命名配置文件在 IAM 角色之间切换。[命名配置文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles) 是您在将 `--profile` 选项与 AWS CLI 结合使用时引用的设置和凭证集合。有关如何为 AWS 账户创建 IAM 角色和命名配置文件的更多信息，请参阅[在 AWS CLI 中使用 IAM 角色](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)。

为您将在本教程中使用的三个 AWS 账户分别创建一个角色和一个命名配置文件：
+ 为 AWS Organizations 管理账户创建名为 `management-account` 的配置文件。
+ 为配置为 IPAM 管理员的 AWS Organizations 成员账户创建名为 `ipam-account` 的配置文件。
+ 为将从 IPAM 池中分配 CIDR 的企业中的 AWS Organizations 成员账户创建名为 `member-account` 的配置文件。

创建 IAM 角色和命名配置文件后，请返回本页面并转至下一步。在本教程的其余部分中，您将注意到示例 AWS CLI 命令会将 `--profile` 选项与其中一个命名配置文件一起使用，以指示哪个账户必须运行该命令。

## 步骤 2：创建顶级 IPAM 池
<a name="tutorials-byoip-ipam-ipv4-console-create-top"></a>

完成本部分中的步骤创建顶级 IPAM 池。

此步骤必须由 IPAM 账户完成。

**如需创建池**

1. 在 [https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/) 中打开 IPAM 控制台。

1. 在导航窗格中，选择 **Pools**（池）。

1. 默认情况下，创建池时，默认的私有范围被选中。选择公有范围。有关范围的更多信息，请参阅 [IPAM 的工作原理](how-it-works-ipam.md)。

1. 选择**创建池**。

1. （可选）添加池的**名称标签**和池的**描述**。

1. 在**源**下，选择 **IPAM 范围**。

1. 在**地址系列**下，选择 **IPv4**。

1. 在**资源规划**下，保持选中**在范围内规划 IP 空间**。有关使用此选项规划 VPC 内的子网 IP 空间的更多信息，请参阅 [教程：为子网 IP 分配规划 VPC IP 地址空间](tutorials-subnet-planning.md)。

1. 在**区域设置**下，选择**无**。

   IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。由于我们将创建一个其中包含一个区域池的顶级 IPAM 池，并且我们将为区域池中的弹性 IP 地址分配空间，因此您将在区域池中设置区域设置，而不是在顶级池中。在后面的步骤中创建区域池时，您将区域设置添加到区域池中。
**注意**  
如果您只创建单个池而不是其中包含区域池的顶级池，则需要为此池选择一个区域设置，以便该池可用于分配。

1. 在**公有 IP 来源**下，选择 **BYOIP**。

1. 在**要预置的 CIDR** 下，执行下列某项操作：
   + 如果[使用 X.509 证书验证域控制权](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-cert)，则必须包含 CIDR 和 BYOIP 消息以及在该步骤中创建的证书签名，以便我们验证您是否控制了公共空间。
   + 如果[使用 DNS TXT 记录验证域控制权](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-dns-txt)，则必须包含 CIDR 和 IPAM 消息以及在该步骤中创建的验证令牌，以便我们验证您是否控制了公共空间。

   请注意，将 IPv4 CIDR 预置到顶级池中的资源池时，您可以预置的最低 IPv4 CIDR 为 `/24`；不允许使用更具体的 CIDR（例如 `/25`）。
**重要**  
虽然大多数预配置将在两小时内完成，但对于公开发布的范围，完成预配置过程可能需要长达一周的时间。

1. 将**配置此池的分配规则设置**保持未选中状态。

1. （可选）为池选择 **Tags**（标签）。

1. 选择**创建池**。

在继续之前，请确保已预置此 CIDR。您可以在池详细信息页面的 **CIDR** 选项卡中查看资源调配状态。

## 步骤 3：在顶级池中创建区域池
<a name="tutorials-byoip-ipam-ipv4-console-create-reg"></a>

在顶级池中创建区域池。IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。在本部分中创建区域池时，您将区域设置添加到区域池中。`Locale` 必须是创建 IPAM 时配置的其中一个操作区域的一部分。例如，区域设置为 *us-east-1* 意味着 *us-east-1* 必须是 IPAM 的操作区域。区域设置为 *us-east-1-scl-1*（用于本地区域的网络边界组）意味着 IPAM 的操作区域必须为 *us-east-1*。

此步骤必须由 IPAM 账户完成。

**要在顶级池中创建区域池**

1. 在 [https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/) 中打开 IPAM 控制台。

1. 在导航窗格中，选择 **Pools**（池）。

1. 默认情况下，创建池时，默认的私有范围被选中。如果您不想使用默认的私有范围，请从内容窗格顶部的下拉菜单中选择要使用的范围。有关范围的更多信息，请参阅 [IPAM 的工作原理](how-it-works-ipam.md)。

1. 选择**创建池**。

1. （可选）添加池的**名称标签**和池的**描述**。

1. 在**源池**下，选择您在上一部分中创建的顶级池。

1. 在**资源规划**下，保持选中**在范围内规划 IP 空间**。有关使用此选项规划 VPC 内的子网 IP 空间的更多信息，请参阅 [教程：为子网 IP 分配规划 VPC IP 地址空间](tutorials-subnet-planning.md)。

1. 在 **Locale**（区域设置）下，选择池的区域设置。在本教程中，我们将使用 `us-east-2` 作为区域池的区域设置。可用的选项来自您在创建 IPAM 时选择的运营区域。

   池的区域设置应为以下选项之一：
   + 您希望此 IPAM 池可用于分配的 AWS 区域。
   + 您希望此 IPAM 池可用于分配的 AWS 本地区域的网络边界组（[支持的本地区域](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail)）。此选项仅适用于公共范围内的 IPAM IPv4 池。
   + [AWS 专用本地区域](https://aws.amazon.com/dedicatedlocalzones/)。要在 AWS 专用本地区域内创建池，请在选择器输入中输入 AWS 专用本地区域。
   + 当您要在全球范围内跨所有 AWS 区域（例如 CloudFront 地点）使用 IP 地址时，为 `Global`。`Global` 区域设置仅适用于公有 IPv4 池。

   例如，您只能从与 VPC 的区域共享区域设置的 IPAM 池中为 VPC 分配 CIDR。请注意，当您为池选择了区域设置后，无法对其进行修改。如果 IPAM 的主区域由于中断而不可用，并且池的区域设置与 IPAM 的主区域不同，则该池仍可用于分配 IP 地址。

   选择区域设置可确保池与从中分配的资源之间没有跨区域依赖关系。

1. 在**服务**下，选择 **EC2 (EIP/VPC)**。您选择的服务将决定可传播 CIDR 的 AWS 服务。目前，唯一的选择是 **EC2（EIP/VPC）**，这意味着从此池中分配的 CIDR 在 Amazon EC2 服务（适用于弹性 IP 地址）和 Amazon VPC 服务（适用于与 VPC 关联的 CIDR）中是可传播的。

1. 在**要预置的 CIDR** 下，选择要为池预置的 CIDR。
**注意**  
将 CIDR 预置到顶级池中的区域池时，您可以预置的最具体的 IPv4 CIDR 为 `/24`；不允许使用更具体的 CIDR（例如 `/25`）。创建区域池后，您可以在该区域池内创建较小的池（例如 `/25`）。请注意，如果您共享该区域池内的一个或多个区域池，则这些池只能在该区域池上设置的区域中使用。

1. 启用**配置此池的分配规则设置**。这里的分配规则选项与创建顶级池时的选项相同。请参阅 [创建顶级 IPv4 池](create-top-ipam.md) 以了解创建池时可用的选项。区域池的分配规则不是从顶级池继承来的。如果您不在此应用任何规则，则不会为池设置分配规则。

1. （可选）为池选择 **Tags**（标签）。

1. 配置完池后，选择**创建池**。

在继续之前，请确保已预置此 CIDR。您可以在池详细信息页面的 **CIDR** 选项卡中查看资源调配状态。

## 步骤 4：传播 CIDR
<a name="tutorials-byoip-ipam-ipv4-console-adv"></a>

本部分中的步骤必须由 IPAM 账户完成。将弹性 IP 地址 (EIP) 与实例或 Elastic Load Balancer 关联后，您就可以开启传播您带到处于已配置了 **Service EC2 (EIP/VPC)**（服务 EC2 (EIP/VPC)）的池中的 AWS 的 CIDR。在本教程中，这就是您的区域池。默认情况下，CIDR 不会被传播，这意味着它不能通过互联网公开访问。

此步骤必须由 IPAM 账户完成。

**注意**  
传播状态不会限制您分配弹性 IP 地址的能力。即使您的 BYOIPv4 CIDR 未传播，您仍然可以从 IPAM 池中创建 EIP。

**要传播 CIDR**

1. 在 [https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/) 中打开 IPAM 控制台。

1. 在导航窗格中，选择 **Pools**（池）。

1. 默认情况下，创建池时，默认的私有范围被选中。选择公有范围。有关范围的更多信息，请参阅 [IPAM 的工作原理](how-it-works-ipam.md)。

1. 选择您在本教程中创建的区域池。

1. 选择 **CIDR** 选项卡。

1. 选择 BYOIP CIDR，然后选择**操作** > **广告**。

1. 选择**广告 CIDR**。

这样一来，将广告 BYOIP CIDR，并且**广告**列中的值将从**已撤回**变为**已刊登广告**。

## 步骤 5。共享区域池
<a name="tutorials-byoip-ipam-ipv4-console-share-reg"></a>

 按照本部分中的步骤使用 AWS Resource Access Manager（RAM）共享 IPAM 池。

### 在 AWS RAM 中启用资源共享
<a name="61-enable-resource-sharing-in-aws-ram-deux"></a>

 创建 IPAM 后，您需要与组织中的其他账户共享区域池。在共享 IPAM 池之前，请先完成本部分中的步骤，启用与 AWS RAM 的资源共享。如果要使用 AWS CLI 启用资源共享，请使用 `--profile management-account` 选项。

**启用资源共享**

1. 使用 AWS Organizations 管理账户打开 AWS RAM 控制台，地址：[https://console.aws.amazon.com/ram/](https://console.aws.amazon.com/ram/)。

1. 在左侧导航窗格中，依次选择**设置**、**启用与 AWS Organizations 共享**、**保存设置**。

 您现在可以与组织的其他成员共享 IPAM 池。

### 使用 AWS RAM 共享 IPAM 池
<a name="62-share-an-ipam-pool-using-aws-ram-deux"></a>

 在这一部分，您将与其他 AWS Organizations 成员账户共享区域池。有关共享 IPAM 池的完整说明，例如所需 IAM 权限的相关信息，请参阅 [使用 AWS RAM 共享 IPAM 池](share-pool-ipam.md)。如果要使用 AWS CLI 启用资源共享，请使用 `--profile ipam-account` 选项。

**使用 AWS RAM 共享 IPAM 池**

1. 使用 IPAM 管理员账户打开 IPAM 控制台，地址：[https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/)。

1. 在导航窗格中，选择**池**。

1. 依次选择私有范围、IPAM 池以及**操作** > **查看详细信息**。

1. 在**资源共享**下，选择**创建资源共享**。AWS RAM 控制台将打开。您将使用 AWS RAM 来共享该池。

1. 选择**创建资源共享**。

1. 在 AWS RAM 控制台中，再次选择**创建资源共享**。

1. 为共享资源添加**名称**。

1. 在**选择资源类型**下，选择 **IPAM 池**，然后选择要共享的池的 ARN。

1. 选择**下一步**。

1. 选择 **AWSRAMPermissionIpamPoolByoipCidrImport** 权限。本教程不提供权限选项的详细信息，但您可以在 [使用 AWS RAM 共享 IPAM 池](share-pool-ipam.md) 中查看有关这些选项的更多信息。

1. 选择**下一步**。

1. 在**委托人** > **选择主体类型**下，选择 **AWS 账户**，输入要为 IPAM 提供 IP 地址范围的账户的账户 ID，然后选择**添加**。

1. 选择**下一步**。

1. 查看资源共享选项和要共享的主体，然后选择**创建**。

1. 要允许 **member-account** 账户从 IPAM 池中分配 IP 地址 CIDRS，请使用 `AWSRAMDefaultPermissionsIpamPool` 创建第二个资源共享。`--resource-arns` 的值是您在上一部分中创建的 IPAM 池的 ARN。`--principals` 的值是 **member-account** 的账户 ID。`--permission-arns` 的值是 `AWSRAMDefaultPermissionsIpamPool` 权限的 ARN。

## 步骤 6：从池中分配弹性 IP 地址
<a name="tutorials-byoip-ipam-ipv4-console-all-eip"></a>

完成本部分中的步骤，以从池中分配弹性 IP 地址。请注意，如果您使用公有 IPv4 池来分配弹性 IP 地址，则可以使用 [步骤 6 的替代方案](#tutorials-byoip-ipam-ipv4-alt) 中的替代步骤而不是本部分中的步骤。

**重要**  
如果您看到与无权调用 ec2:AllocateAddress 相关的错误，则需要更新当前分配给与您共享的 IPAM 池的托管权限。联系创建资源共享的人员，要求他们将托管权限 `AWSRAMPermissionIpamResourceDiscovery` 更新为默认版本。有关更多信息，请参阅《AWS RAM 用户指南》**中的[更新资源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)。

------
#### [ AWS Management Console ]

按照《Amazon EC2 用户指南》**中的[分配弹性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html#using-instance-addressing-eips-allocating)中的步骤分配地址，但请注意以下几点：
+ 此步骤必须由成员账户完成。
+ 确保您的 EC2 控制台所在的 AWS 区域与您在创建区域池时选择的区域设置选项相匹配。
+ 选择地址池时，选择**使用 IPv4 IPAM 池分配**选项，然后选择您创建的区域池。

------
#### [ Command line ]

使用 [allocate-address](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/allocate-address.html) 命令从池中分配一个地址。您使用的 `--region` 必须与您在步骤 2 中创建池时选择的 `-locale` 选项相匹配。包括您在 `--ipam-pool-id` 中在步骤 2 中创建的 IPAM 池的 ID。或者，您也可以使用 `--address` 选项在 IPAM 池中选择特定的 `/32`。

```
aws ec2 allocate-address --region us-east-1 --ipam-pool-id ipam-pool-07ccc86aa41bef7ce
```

示例响应：

```
{                                                    
    "PublicIp": "18.97.0.41",                        
    "AllocationId": "eipalloc-056cdd6019c0f4b46",    
    "PublicIpv4Pool": "ipam-pool-07ccc86aa41bef7ce", 
    "NetworkBorderGroup": "us-east-1",               
    "Domain": "vpc"                                  
}
```

有关更多信息，请参阅《Amazon EC2 用户指南》**中的[分配弹性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html#using-instance-addressing-eips-allocating)。

------

## 步骤 7：将弹性 IP 地址与 EC2 实例相关联
<a name="tutorials-byoip-ipam-ipv4-console-assoc-eip"></a>

完成本部分中的步骤将弹性 IP 地址与 EC2 实例相关联。

------
#### [ AWS Management Console ]

按照《Amazon EC2 用户指南》**中的[关联弹性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html#using-instance-addressing-eips-associating)中的步骤从 IPAM 池中分配弹性 IP 地址，但请注意以下几点：使用 AWS 管理控制台选项时，您关联弹性 IP 地址所在的 AWS 区域必须与您在创建区域池时选择的区域设置选项相匹配。

此步骤必须由成员账户完成。

------
#### [ Command line ]

此步骤必须由成员账户完成。使用 `--profile member-account` 选项。

使用 [associate-address](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/allocate-address.html) 命令将弹性 IP 地址与实例相关联。您关联弹性 IP 地址所在的 `--region` 区域必须与您创建区域池时选择的 `--locale` 选项匹配。

```
aws ec2 associate-address --region us-east-1 --instance-id i-07459a6fca5b35823 --public-ip 18.97.0.41
```

示例响应：

```
{                                                
    "AssociationId": "eipassoc-06aa85073d3936e0e"
}
```

有关更多信息，请参阅《Amazon EC2 用户指南》**中的[将弹性 IP 地址与实例或网络接口相关联](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-associating)。

------

## 步骤 8：清除
<a name="tutorials-byoip-ipam-ipv4-console-cleanup"></a>

按照本部分中的步骤清除您在本教程中预置和创建的资源。

**步骤 1：从传播中撤回 CIDR**

此步骤必须由 IPAM 账户完成。

1. 在 [https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/) 中打开 IPAM 控制台。

1. 在导航窗格中，选择 **Pools**（池）。

1. 默认情况下，创建池时，默认的私有范围被选中。选择公有范围。

1. 选择您在本教程中创建的区域池。

1. 选择 **CIDR** 选项卡。

1. 选择 BYOIP CIDR，然后选择**操作**>**撤回广告**。

1. 选择**撤回 CIDR**。

此时将不再广告 BYOIP CIDR，**广告**栏中的值将从**已刊登广告**变为**已撤回**。

**步骤 2：解除弹性 IP 地址的关联**

此步骤必须由成员账户完成。如果要使用 AWS CLI，请使用 `--profile member-account` 选项。
+ 完成《*Amazon EC2 用户指南*》中的[解除弹性 IP 地址的关联](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-associating-different)的步骤，以解除 EIP 的关联。在 AWS 管理控制台中打开 EC2 时，解除 EIP 关联的 AWS 区域必须与您在创建将用于 BYOIP CIDR 的池时选择的 `Locale` 选项匹配。在本教程中，该池就是区域池。

**步骤 3：释放弹性 IP 地址**

此步骤必须由成员账户完成。如果要使用 AWS CLI，请使用 `--profile member-account` 选项。
+ 完成《*Amazon EC2 用户指南*》中的[释放弹性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-releasing)的步骤，从公有 IPv4 池释放弹性 IP 地址（EIP）。在 AWS 管理控制台中打开 EC2 时，分配 EIP 的 AWS 区域必须与您在创建将用于 BYOIP CIDR 的池时选择的 `Locale` 选项匹配。

**步骤 4：删除 RAM 共享并禁用与 AWS Organizations 的 RAM 集成**

此步骤必须分别由 IPAM 账户和管理账户完成。要使用 AWS CLI 删除 RAM 共享并禁用 RAM 集成，请使用 ` --profile ipam-account` 和 ` --profile management-account` 选项。
+ 完成《AWS RAM 用户指南》中 [删除 AWS RAM 中的资源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-delete.html) 和 [禁用与 AWS Organizations 的资源共享](https://docs.aws.amazon.com/ram/latest/userguide/security-disable-sharing-with-orgs.html) 所述的步骤**，删除 RAM 共享并禁用与 AWS Organizations 的 RAM 集成。

**步骤 5：从区域池和顶级池中取消预调配 CIDR**

此步骤必须由 IPAM 账户完成。如果要使用 AWS CLI 共享该池，请使用 `--profile ipam-account` 选项。
+ 按顺序完成 [从池中取消预置 CIDR](depro-pool-cidr-ipam.md) 中的步骤，从区域池中取消预置 CIDR，然后从顶级池中取消预置 CIDR。

**步骤 6：删除区域池和顶级池**

此步骤必须由 IPAM 账户完成。如果要使用 AWS CLI 共享该池，请使用 `--profile ipam-account` 选项。
+ 按顺序完成 [删除池](delete-pool-ipam.md) 中的步骤，删除区域池，然后删除顶级池。

## 步骤 6 的替代方案
<a name="tutorials-byoip-ipam-ipv4-alt"></a>

如果您使用公有 IPv4 池来分配弹性 IP 地址，则可以本部分中的步骤，而不是 [步骤 6：从池中分配弹性 IP 地址](#tutorials-byoip-ipam-ipv4-console-all-eip) 中的步骤。

**Topics**
+ [

### 步骤 1：创建公有 IPv4 池
](#tutorials-byoip-ipam-ipv4-console-alt-pool)
+ [

### 步骤 2：将公有 IPv4 CIDR 预调配到您的公有 IPv4 池
](#tutorials-byoip-ipam-ipv4-console-alt-cidr)
+ [

### 步骤 3：从公有 IPv4 池分配弹性 IP 地址
](#tutorials-byoip-ipam-ipv4-console-alt-eip)
+ [

### 步骤 6 清理的替代方案
](#tutorials-byoip-ipam-ipv4-console-alt-cleanup)

### 步骤 1：创建公有 IPv4 池
<a name="tutorials-byoip-ipam-ipv4-console-alt-pool"></a>

此步骤应该由预置弹性 IP 地址的成员账户完成。

**注意**  
此步骤必须由成员账户使用 AWS CLI 完成。
公有 IPv4 池和 IPAM 池由 AWS 中的不同资源管理。公共 IPv4 池是单一账户资源，使您能够将公有 CIDR 转换为弹性 IP 地址。IPAM 池可用于将公有空间分配给公有 IPv4 池。

**要使用 AWS CLI 创建公有 IPv4 池**
+ 请运行以下命令以预置 CIDR。运行本部分中的命令时，`--region` 的值必须与您在创建将用于 BYOIP CIDR 的池时选择的 `Locale` 选项匹配。

  ```
  aws ec2 create-public-ipv4-pool --region us-east-2 --profile member-account
  ```

  在输出中，您将看到公有 IPv4 池 ID。在下一步骤中，您需要用到此 ID。

  ```
  {
      "PoolId": "ipv4pool-ec2-09037ce61cf068f9a"
  }
  ```

### 步骤 2：将公有 IPv4 CIDR 预调配到您的公有 IPv4 池
<a name="tutorials-byoip-ipam-ipv4-console-alt-cidr"></a>

将公有 IPv4 CIDR 预置到您的公有 IPv4 池。`--region` 的值为必须与您在创建将用于 BYOIP CIDR 的池时选择的 `Locale` 值匹配。`--netmask-length` 是指您想添加到公共池的 IPAM 池空间量。该值不能大于 IPAM 池的网络掩码长度。您可以定义的最不具体的 `--netmask-length` 是 `24`。

**注意**  
如果您将 `/24` CIDR 范围引入 IPAM 以便在 AWS 组织内共享，则可以为多个 IPAM 池预置较小的前缀，例如 `/27`（使用 `-- netmask-length 27`），而不是像本教程中所示预置整个 `/24` CIDR（使用 `-- netmask-length 24`）。
此步骤必须由成员账户使用 AWS CLI 完成。

**要使用 AWS CLI 创建公有 IPv4 池**

1. 请运行以下命令以预置 CIDR。

   ```
   aws ec2 provision-public-ipv4-pool-cidr --region us-east-2 --ipam-pool-id ipam-pool-04d8e2d9670eeab21 --pool-id ipv4pool-ec2-09037ce61cf068f9a --netmask-length 24 --profile member-account
   ```

   在输出中，您将看到预置的 CIDR。

   ```
   {                                      
       "PoolId": "ipv4pool-ec2-09037ce61cf068f9a", 
       "PoolAddressRange": {                       
           "FirstAddress": "130.137.245.0",        
           "LastAddress": "130.137.245.255",       
           "AddressCount": 256,                    
           "AvailableAddressCount": 256            
       }                                           
   }
   ```

1. 运行以下命令，以查看公有 IPv4 池中预置的 CIDR。

   ```
   aws ec2 describe-public-ipv4-pools --region us-east-2 --max-results 10 --profile member-account
   ```

   在输出中，您将看到预置的 CIDR。默认情况下，CIDR 不会被传播，这意味着它不能通过互联网公开访问。在本教程的最后一步中，您将有机会将此 CIDR 设置为进行传播。

   ```
   {
       "PublicIpv4Pools": [
           {
               "PoolId": "ipv4pool-ec2-09037ce61cf068f9a",
               "Description": "",
               "PoolAddressRanges": [
                   {
                       "FirstAddress": "130.137.245.0",
                       "LastAddress": "130.137.245.255",
                       "AddressCount": 256,
                       "AvailableAddressCount": 255
                   }
               ],
               "TotalAddressCount": 256,
               "TotalAvailableAddressCount": 255,
               "NetworkBorderGroup": "us-east-2",
               "Tags": []
           }
       ]
   }
   ```

创建公有 IPv4 池后，要查看在 IPAM 区域池中分配的公有 IPv4 池，请打开 IPAM 控制台，并在**分配**或**资源**下查看区域池中的分配。

### 步骤 3：从公有 IPv4 池分配弹性 IP 地址
<a name="tutorials-byoip-ipam-ipv4-console-alt-eip"></a>

完成《Amazon EC2 用户指南》**中的[分配弹性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html#using-instance-addressing-eips-allocating)的步骤，从公有 IPv4 池分配 EIP。在 AWS 管理控制台中打开 EC2 时，分配 EIP 的 AWS 区域必须与您在创建将用于 BYOIP CIDR 的池时选择的 `Locale` 选项匹配。

此步骤必须由成员账户完成。如果要使用 AWS CLI，请使用 `--profile member-account` 选项。

完成这三个步骤后，请返回 [步骤 7：将弹性 IP 地址与 EC2 实例相关联](#tutorials-byoip-ipam-ipv4-console-assoc-eip) 并继续操作，直到完成本教程。

### 步骤 6 清理的替代方案
<a name="tutorials-byoip-ipam-ipv4-console-alt-cleanup"></a>

完成以下步骤，以清理使用步骤 9 的替代方法创建的公有 IPv4 池。在 [步骤 8：清除](#tutorials-byoip-ipam-ipv4-console-cleanup) 中的标准清理过程中，您应在释放弹性 IP 地址后完成这些步骤。

**步骤 1：从您的公有 IPv4 池中取消预调配公有 IPv4 CIDR**
**重要**  
此步骤必须由成员账户使用 AWS CLI 完成。

1. 查看您的 BYOIP CIDR。

   ```
   aws ec2 describe-public-ipv4-pools --region us-east-2 --profile member-account
   ```

   在输出中，您将看到 BYOIP CIDR 中的 IP 地址。

   ```
   {
       "PublicIpv4Pools": [
           {
               "PoolId": "ipv4pool-ec2-09037ce61cf068f9a",
               "Description": "",
               "PoolAddressRanges": [
                   {
                       "FirstAddress": "130.137.245.0",
                       "LastAddress": "130.137.245.255",
                       "AddressCount": 256,
                       "AvailableAddressCount": 256
                   }
               ],
               "TotalAddressCount": 256,
               "TotalAvailableAddressCount": 256,
               "NetworkBorderGroup": "us-east-2",
               "Tags": []
           }
       ]
   }
   ```

1. 运行以下命令，从公有 IPv4 池中释放 CIDR。

   ```
   aws ec2 deprovision-public-ipv4-pool-cidr --region us-east-2 --pool-id ipv4pool-ec2-09037ce61cf068f9a --cidr 130.137.245.0/24 --profile member-account
   ```

1. 再次查看您的 BYOIP CIDR，并确保没有更多的预置地址。运行本部分中的命令时，`--region` 的值必须与 IPAM 的区域匹配。

   ```
   aws ec2 describe-public-ipv4-pools --region us-east-2 --profile member-account
   ```

   在输出中，您将看到公有 IPv4 池中的 IP 地址计数。

   ```
   {
       "PublicIpv4Pools": [
           {
               "PoolId": "ipv4pool-ec2-09037ce61cf068f9a",
               "Description": "",
               "PoolAddressRanges": [],
               "TotalAddressCount": 0,
               "TotalAvailableAddressCount": 0,
               "NetworkBorderGroup": "us-east-2",
               "Tags": []
           }
       ]
   }
   ```

**注意**  
IPAM 可能需要一些时间才能发现公有 IPv4 池分配已被删除。在看到已从 IPAM 中删除分配之前，您无法继续清理和取消预置 IPAM 池 CIDR。

**步骤 2：删除公有 IPv4 池**

此步骤必须由成员账户完成。
+ 运行以下命令，以从 CIDR 中删除公有 IPv4 池。运行本部分中的命令时，`--region` 的值必须与您在创建将用于 BYOIP CIDR 的池时选择的 `Locale` 选项匹配。在本教程中，该池就是区域池。必须使用 AWS CLI 完成此步骤。

  ```
  aws ec2 delete-public-ipv4-pool --region us-east-2 --pool-id ipv4pool-ec2-09037ce61cf068f9a --profile member-account
  ```

  在输出中，您将看到返回值**真**。

  ```
  {
  "ReturnValue": true
  }
  ```

  删除该池后，要查看未由 IPAM 管理的分配，请打开 IPAM 控制台，并在**分配**下查看区域池的详细信息。