

# 仅使用 AWS CLI 自带 IP CIDR 到 IPAM 中
<a name="tutorials-byoip-ipam-cli-only-intro"></a>

自带 IP（BYOIP）到 IPAM 允许您在 AWS 中使用组织现有的 IPv4 和 IPv6 地址范围。这使您能够在自己的 IP 地址空间下将本地和云环境统一，从而保持一致的品牌形象、提高网络性能、增强安全性并简化管理。

按照以下步骤，仅使用 AWS CLI 将 IPv4 或 IPv6 CIDR 带入 IPAM 中。

**注意**  
开始操作之前，必须先[验证域控制权](tutorials-byoip-ipam-domain-verification-methods.md)。

将 IPv4 地址范围设置为 AWS 后，您可以使用该范围内的所有 IP 地址，包括第一个地址（网络地址）和最后一个地址（广播地址）。

**Topics**
+ [仅使用 AWS CLI 自带公有 IPv4 CIDR 到 IPAM 中](tutorials-byoip-ipam-ipv4.md)
+ [仅使用 AWS CLI 自带 IPv6 CIDR 到 IPAM 中](tutorials-byoip-ipam-ipv6.md)

# 仅使用 AWS CLI 自带公有 IPv4 CIDR 到 IPAM 中
<a name="tutorials-byoip-ipam-ipv4"></a>

按照以下步骤将 IPv4 CIDR 带入 IPAM 中，然后仅使用 AWS CLI 使用 CIDR 分配弹性 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-2)
+ [步骤 3：创建顶级 IPAM 池](#tutorials-byoip-ipam-ipv4-3)
+ [步骤 4：向顶级池预置 CIDR](#tutorials-byoip-ipam-ipv4-4)
+ [步骤 5：在顶级池中创建区域池](#tutorials-byoip-ipam-ipv4-5)
+ [步骤 6：向区域池预置 CIDR](#tutorials-byoip-ipam-ipv4-6)
+ [步骤 7：传播 CIDR](#tutorials-byoip-ipam-ipv4-11)
+ [步骤 8：共享区域池](#tutorials-byoip-ipam-ipv4-console-4-deux)
+ [步骤 9：从池中分配弹性 IP 地址](#tutorials-byoip-ipam-ipv4-console-cli-all-eip)
+ [步骤 10：将弹性 IP 地址与 EC2 实例相关联](#tutorials-byoip-ipam-ipv4-console-cli-assoc-eip)
+ [步骤 11：清除](#tutorials-byoip-ipam-ipv4-cli-cleanup)
+ [步骤 9 的替代方案](#tutorials-byoip-ipam-ipv4-cli-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-2"></a>

此为可选步骤。如果您已在创建了 `us-east-1` 和 `us-west-2` 的运营区域的情况下创建了 IPAM，您可以跳过此步骤。创建 IPAM 并指定 `us-east-1` 和 `us-west-2` 的运营区域。您必须选择一个运营区域，以便在创建 IPAM 池时可以使用区域设置选项。IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。

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

运行如下命令：

```
aws ec2 create-ipam --description my-ipam --region us-east-1 --operating-regions RegionName=us-west-2 --profile ipam-account
```

在输出中，您将看到您创建的 IPAM。记下 `PublicDefaultScopeId` 值。在下一步中，您将需要使用公有范围 ID。您使用公有范围是因为 BYOIP CIDR 是公有 IP 地址，这就是公有范围的用途。

```
{
 "Ipam": {                                                                         
        "OwnerId": "123456789012",
        "IpamId": "ipam-090e48e75758de279",                                           
        "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",  
        "PublicDefaultScopeId": "ipam-scope-0087d83896280b594",                       
        "PrivateDefaultScopeId": "ipam-scope-08b70b04fbd524f8d",                      
        "ScopeCount": 2,                                                              
        "Description": "my-ipam",                                                     
        "OperatingRegions": [                                                         
            {                                                                         
                "RegionName": "us-east-1"                                             
            },
            {
                "RegionName": "us-west-2"
            }
        ],                                                                            
        "Tags": []                                                                    
    }                                                                                 
}
```

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

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

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

**使用 AWS CLI 为您的所有 AWS 资源创建 IPv4 地址池**

1. 运行以下命令以创建 IPAM 池。请使用您在上一步中创建的 IPAM 的公有范围的 ID。

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

   ```
   aws ec2 create-ipam-pool --region us-east-1 --ipam-scope-id ipam-scope-0087d83896280b594 --description "top-level-IPv4-pool" --address-family ipv4 --profile ipam-account
   ```

   在输出中，您将会看到 `create-in-progress`，这表明池的创建正在进行中。

   ```
   {
       "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "None",
           "PoolDepth": 1,
           "State": "create-in-progress",
           "Description": "top-level-pool",
           "AutoImport": false,
           "AddressFamily": "ipv4",
           "Tags": []
       }
   }
   ```

1. 运行以下命令，直到您在输出中看到 `create-complete` 的状态。

   ```
   aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account
   ```

   下面的示例输出显示池的状态。

   ```
   {
       "IpamPools": [
           {
               "OwnerId": "123456789012",
               "IpamPoolId": "ipam-pool-0a03d430ca3f5c035",
               "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035",
               "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
               "IpamScopeType": "public",
               "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
               "Locale": "None",
               "PoolDepth": 1,
               "State": "create-complete",
               "Description": "top-level-IPV4-pool",
               "AutoImport": false,
               "AddressFamily": "ipv4",
               "Tags": []
           }
       ]
   }
   ```

## 步骤 4：向顶级池预置 CIDR
<a name="tutorials-byoip-ipam-ipv4-4"></a>

向顶级池预置 CIDR 块。请注意，将 IPv4 CIDR 预置到顶级池中的资源池时，您可以预置的最低 IPv4 CIDR 为 `/24`；不允许使用更具体的 CIDR（例如 `/25`）。

**注意**  
如果[使用 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 消息以及在该步骤中创建的验证令牌，以便我们验证您是否控制了公共空间。

在向顶级池预置 BYOIP CIDR 时，您只需要验证域控制权。对于顶级池中的区域池，您可以省略域所有权验证选项。

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

**重要**  
在向顶级池预置 BYOIP CIDR 时，您只需要验证域控制权。对于顶级池中的区域池，您可以省略域控制权选项。一旦您将自己的 BYOIP 登录到 IPAM，在跨区域和账户划分 BYOIP 时，您无需执行所有权验证。

**使用 AWS CLI 向池预置 CIDR 块**

1. 要为 CIDR 预置证书信息，请使用以下示例命令。除了根据需要替换示例中的值外，务必还要将 `Message` 和 `Signature` 值替换为在 [使用 X.509 证书验证域](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-cert) 中获得的 `text_message` 和 `signed_message` 值。

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --cidr 130.137.245.0/24 --verification-method remarks-x509 --cidr-authorization-context Message="1|aws|470889052444|130.137.245.0/24|20250101|SHA256|RSAPSS",Signature="W3gdQ9PZHLjPmrnGM~cvGx~KCIsMaU0P7ENO7VRnfSuf9NuJU5RUveQzus~QmF~Nx42j3z7d65uyZZiDRX7KMdW4KadaLiClyRXN6ps9ArwiUWSp9yHM~U-hApR89Kt6GxRYOdRaNx8yt-uoZWzxct2yIhWngy-du9pnEHBOX6WhoGYjWszPw0iV4cmaAX9DuMs8ASR83K127VvcBcRXElT5URr3gWEB1CQe3rmuyQk~gAdbXiDN-94-oS9AZlafBbrFxRjFWRCTJhc7Cg3ASbRO-VWNci-C~bWAPczbX3wPQSjtWGV3k1bGuD26ohUc02o8oJZQyYXRpgqcWGVJdQ__" --profile ipam-account
   ```

   要为 CIDR 预置验证令牌信息，请使用以下示例命令。除了根据需要替换示例中的值外，务必还要将 `ipam-ext-res-ver-token-0309ce7f67a768cf0` 替换为在 [使用 DNS TXT 记录验证域](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-dns-txt) 中获得的 `IpamExternalResourceVerificationTokenId` 令牌 ID。

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --cidr 130.137.245.0/24 --verification-method dns-token --ipam-external-resource-verification-token-id ipam-ext-res-ver-token-0309ce7f67a768cf0 --profile ipam-account
   ```

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

   ```
   {
       "IpamPoolCidr": {                                                                                         
           "Cidr": "130.137.245.0/24",                                                                      
           "State": "pending-provision"                                                                          
       }                                                                                                         
   }
   ```

1. 在继续之前，请确保已预置此 CIDR。
**重要**  
虽然大多数预配置将在两小时内完成，但对于公开发布的范围，完成预配置过程可能需要长达一周的时间。

   运行以下命令，直到您在输出中看到 `provisioned` 的状态。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --profile ipam-account
   ```

   下面的示例输出显示状态。

   ```
   {
       "IpamPoolCidrs": [                     
           {                                  
               "Cidr": "130.137.245.0/24",     
               "State": "provisioned"         
           }                                  
       ]                                      
   }
   ```

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

在顶级池中创建区域池。

池的区域设置应为以下选项之一：
+ 您希望此 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 地址。

运行本部分中的命令时，`--region` 的值必须包括您在创建将用于 BYOIP CIDR 的池时输入的 `--locale` 选项。例如，如果您使用区域设置 *us-east-1* 创建 BYOIP 池，则 `--region` 应为 *us-east-1*。如果您使用区域设置 *us-east-1-scl-1*（用于本地区域的网络边界组）创建 BYOIP 池，则 `--region` 应为 *us-east-1*，因为该区域管理区域设置 *us-east-1-scl-1*。

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

选择区域设置可确保池与从中分配的资源之间没有跨区域依赖关系。可用的选项来自您在创建 IPAM 时选择的运营区域。在本教程中，我们将使用 `us-west-2` 作为区域池的区域设置。

**重要**  
创建池时，您必须包括 `--aws-service ec2`。您选择的服务将决定可传播 CIDR 的 AWS 服务。目前，唯一的选择是 `ec2`，这意味着从此池中分配的 CIDR 在 Amazon EC2 服务（适用于弹性 IP 地址）和 Amazon VPC 服务（适用于与 VPC 关联的 CIDR）中是可传播的。

**要使用 AWS CLI 创建区域池**

1. 运行以下命令以创建池。

   ```
   aws ec2 create-ipam-pool --description "Regional-IPv4-pool" --region us-east-1 --ipam-scope-id ipam-scope-0087d83896280b594 --source-ipam-pool-id ipam-pool-0a03d430ca3f5c035 --locale us-west-2 --address-family ipv4 --aws-service ec2 --profile ipam-account
   ```

   在输出中，您将看到创建池的 IPAM。

   ```
   {
        "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0d8f3646b61ca5987",
           "SourceIpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0d8f3646b61ca5987",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-west-2",
           "PoolDepth": 2,
           "State": "create-in-progress",
           "Description": "Regional--pool",
           "AutoImport": false,
           "AddressFamily": "ipv4",
           "Tags": [],
           "ServiceType": "ec2"
       }
   }
   ```

1. 运行以下命令，直到您在输出中看到 `create-complete` 的状态。

   ```
   aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account
   ```

   在输出中，您可以看到您在 IPAM 中拥有的池。在本教程中，我们创建了一个顶级池和一个区域池，所以您会看到这两个池。

## 步骤 6：向区域池预置 CIDR
<a name="tutorials-byoip-ipam-ipv4-6"></a>

向区域池预置 CIDR 块。

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

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

**要使用 AWS CLI 将 CIDR 块分配到区域池**

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

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --cidr 130.137.245.0/24 --profile ipam-account
   ```

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

   ```
   {
       "IpamPoolCidr": {                                                                                         
           "Cidr": "130.137.245.0/24",                                                                      
           "State": "pending-provision"                                                                          
       }                                                                                                         
   }
   ```

1. 运行以下命令，直到您在输出中看到 `provisioned` 的状态。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   下面的示例输出显示正确的状态。

   ```
   {
       "IpamPoolCidrs": [
           {
               "Cidr": "130.137.245.0/24",
               "State": "provisioned"
           }
       ]
   }
   ```

## 步骤 7：传播 CIDR
<a name="tutorials-byoip-ipam-ipv4-11"></a>

本部分中的步骤必须由 IPAM 账户完成。将弹性 IP 地址 (EIP) 与实例或 Elastic Load Balancer 关联后，您就可以开始传播您带到处于已定义了 `--aws-service ec2` 的池中的 AWS 的 CIDR。在本教程中，这就是您的区域池。默认情况下，CIDR 不会被传播，这意味着它不能通过互联网公开访问。运行本部分中的命令时，`--region` 的值必须与您在创建将用于 BYOIP CIDR 的池时输入的 `--locale` 选项匹配。

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

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

**开始使用 AWS CLI 传播 CIDR**
+ 请运行以下命令以传播 CIDR。

  ```
  aws ec2 advertise-byoip-cidr --region us-west-2 --cidr 130.137.245.0/24 --profile ipam-account
  ```

  在输出中，您将看到 CIDR 被传播。

  ```
  {
      "ByoipCidr": {
          "Cidr": "130.137.245.0/24",
          "State": "advertised"
      }
  }
  ```

## 步骤 8：共享区域池
<a name="tutorials-byoip-ipam-ipv4-console-4-deux"></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。

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

完成本部分中的步骤，以从池中分配弹性 IP 地址。请注意，如果您使用公有 IPv4 池来分配弹性 IP 地址，则可以使用 [步骤 9 的替代方案](#tutorials-byoip-ipam-ipv4-cli-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)。

------

## 步骤 10：将弹性 IP 地址与 EC2 实例相关联
<a name="tutorials-byoip-ipam-ipv4-console-cli-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)。

------

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

按照本部分中的步骤清除您在本教程中预置和创建的资源。运行本部分中的命令时，`--region` 的值必须包括您在创建将用于 BYOIP CIDR 的池时输入的 `--locale` 选项。

**使用 AWS CLI 清除**

1. 查看 IPAM 中管理的 EIP 分配。

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

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   输出将显示 IPAM 中的分配。

   ```
   {
       "IpamPoolAllocations": [
           {
               "Cidr": "130.137.245.0/24",
               "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc45",
               "ResourceId": "ipv4pool-ec2-0019eed22a684e0b2",
               "ResourceType": "ec2-public-ipv4-pool",
               "ResourceOwner": "123456789012"
           }
       ]
   }
   ```

1. 停止传播 IPv4 CIDR。

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

   ```
   aws ec2 withdraw-byoip-cidr --region us-west-2 --cidr 130.137.245.0/24 --profile ipam-account
   ```

   在输出中，您将看到 CIDR 状态从 **advertised**（已传播）更改为 **provisioned**（已预置）。

   ```
   {
       "ByoipCidr": {
           "Cidr": "130.137.245.0/24",
           "State": "provisioned"
       }
   }
   ```

1. 释放弹性 IP 地址。

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

   ```
   aws ec2 release-address --region us-west-2 --allocation-id eipalloc-0db3405026756dbf6 --profile member-account
   ```

   运行此命令时，您不会看到任何输出。

1. 查看 IPAM 中不再管理的 EIP 分配。IPAM 可能需要一些时间才能发现弹性 IP 地址已被删除。在看到已从 IPAM 中删除分配之前，您无法继续清理和取消预置 IPAM 池 CIDR。运行本部分中的命令时，`--region` 的值必须包括您在创建将用于 BYOIP CIDR 的池时输入的 `--locale` 选项。

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

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   输出将显示 IPAM 中的分配。

   ```
   {
       "IpamPoolAllocations": []
   }
   ```

1. 取消预置区域池 CIDR。运行本步骤中的命令时，`--region` 的值必须与 IPAM 的区域匹配。

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

   ```
   aws ec2 deprovision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --cidr 130.137.245.0/24 --profile ipam-account
   ```

   在输出中，您将看到 CIDR 待定取消预置。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "pending-deprovision"                                                                           
       }                                                                                                            
   }
   ```

   取消预置需要一些时间才能完成。检查取消预置的状态。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   等到您看到 **deprovisioned**（取消预置）后再继续下一步。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "deprovisioned"                                                                           
       }                                                                                                            
   }
   ```

1. 删除 RAM 共享并禁用与 AWS Organizations 的 RAM 集成。完成《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 集成。

   此步骤必须分别由 IPAM 账户和管理账户完成。要使用 AWS CLI 删除 RAM 共享并禁用 RAM 集成，请使用 ` --profile ipam-account` 和 ` --profile management-account` 选项。

1. 删除区域池。运行本步骤中的命令时，`--region` 的值必须与 IPAM 的区域匹配。

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

   ```
   aws ec2 delete-ipam-pool --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   在输出中，您可以看到删除状态。

   ```
   {
      "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0d8f3646b61ca5987",
           "SourceIpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0d8f3646b61ca5987",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-east-1",
           "PoolDepth": 2,
           "State": "delete-in-progress",
           "Description": "reg-ipv4-pool",
           "AutoImport": false,
           "Advertisable": true,
           "AddressFamily": "ipv4"
       }
   }
   ```

1. 取消预置顶级池 CIDR。运行本步骤中的命令时，`--region` 的值必须与 IPAM 的区域匹配。

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

   ```
   aws ec2 deprovision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --cidr 130.137.245.0/24 --profile ipam-account
   ```

   在输出中，您将看到 CIDR 待定取消预置。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "pending-deprovision"                                                                           
       }                                                                                                            
   }
   ```

   取消预置需要一些时间才能完成。运行以下命令检查取消预置的状态。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --profile ipam-account
   ```

   等到您看到 **deprovisioned**（取消预置）后再继续下一步。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "deprovisioned"                                                                           
       }                                                                                                            
   }
   ```

1. 删除顶级池。运行本步骤中的命令时，`--region` 的值必须与 IPAM 的区域匹配。

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

   ```
   aws ec2 delete-ipam-pool --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --profile ipam-account
   ```

   在输出中，您可以看到删除状态。

   ```
   {
     "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-east-1",
           "PoolDepth": 2,
           "State": "delete-in-progress",
           "Description": "top-level-pool",
           "AutoImport": false,
           "Advertisable": true,
           "AddressFamily": "ipv4"
       }
   }
   ```

1. 删除 IPAM。运行本步骤中的命令时，`--region` 的值必须与 IPAM 的区域匹配。

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

   ```
   aws ec2 delete-ipam --region us-east-1 --ipam-id ipam-090e48e75758de279 --profile ipam-account
   ```

   在输出中，您将看到 IPAM 响应。这意味着 IPAM 已删除。

   ```
   {
       "Ipam": {
           "OwnerId": "123456789012",
           "IpamId": "ipam-090e48e75758de279",                                           
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",  
           "PublicDefaultScopeId": "ipam-scope-0087d83896280b594",                       
           "PrivateDefaultScopeId": "ipam-scope-08b70b04fbd524f8d",                      
           "ScopeCount": 2,                                                                                                                  
           "OperatingRegions": [                                                         
               {                                                                         
                   "RegionName": "us-east-1"                                             
               },
               {
                   "RegionName": "us-west-2"
               }
           ],          
       }
   }
   ```

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

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

**Topics**
+ [步骤 1：创建公有 IPv4 池](#tutorials-byoip-ipam-ipv4-9)
+ [步骤 2：将公有 IPv4 CIDR 预调配到您的公有 IPv4 池](#tutorials-byoip-ipam-ipv4-9)
+ [步骤 3：从公有 IPv4 池创建弹性 IP 地址](#tutorials-byoip-ipam-ipv4-10)
+ [步骤 9 清理的替代方案](#tutorials-byoip-ipam-ipv4-cli-alt-cleanup)

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

此步骤通常由不同的想要预调配弹性 IP 地址的 AWS 账户完成，如成员账户。

**重要**  
公有 IPv4 池和 IPAM 池由 AWS 中的不同资源管理。公共 IPv4 池是单一账户资源，使您能够将公有 CIDR 转换为弹性 IP 地址。IPAM 池可用于将公有空间分配给公有 IPv4 池。

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

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

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

  ```
  {
      "PoolId": "ipv4pool-ec2-0019eed22a684e0b2"
  }
  ```

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

将公有 IPv4 CIDR 预置到您的公有 IPv4 池。`--region` 的值为必须与您在创建将用于 BYOIP CIDR 的池时输入的 `--locale` 值匹配。您可以定义的最不具体的 `--netmask-length` 是 `24`。

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

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

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

   ```
   aws ec2 provision-public-ipv4-pool-cidr --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --pool-id ipv4pool-ec2-0019eed22a684e0b2 --netmask-length 24 --profile member-account
   ```

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

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

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

   ```
   aws ec2 describe-byoip-cidrs --region us-west-2 --max-results 10 --profile member-account
   ```

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

   ```
   {
       "ByoipCidrs": [
           {
               "Cidr": "130.137.245.0/24",
               "StatusMessage": "Cidr successfully provisioned",
               "State": "provisioned"
           }
       ]
   }
   ```

### 步骤 3：从公有 IPv4 池创建弹性 IP 地址
<a name="tutorials-byoip-ipam-ipv4-10"></a>

从公有 IPv4 池创建弹性 IP 地址 (EIP)。运行本部分中的命令时，`--region` 的值必须与您在创建将用于 BYOIP CIDR 的池时输入的 `--locale` 选项匹配。

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

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

1. 运行以下命令以创建 EIP。

   ```
   aws ec2 allocate-address  --region us-west-2 --public-ipv4-pool ipv4pool-ec2-0019eed22a684e0b2 --profile member-account
   ```

   在输出中，您将看到分配。

   ```
   {
       "PublicIp": "130.137.245.100",
       "AllocationId": "eipalloc-0db3405026756dbf6",
       "PublicIpv4Pool": "ipv4pool-ec2-0019eed22a684e0b2",
       "NetworkBorderGroup": "us-east-1",
       "Domain": "vpc"
   }
   ```

1. 运行以下命令，以查看 IPAM 中管理的 EIP 分配。

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

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   输出将显示 IPAM 中的分配。

   ```
   {
       "IpamPoolAllocations": [
           {
               "Cidr": "130.137.245.0/24",
               "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc45",
               "ResourceId": "ipv4pool-ec2-0019eed22a684e0b2",
               "ResourceType": "ec2-public-ipv4-pool",
               "ResourceOwner": "123456789012"
           }
       ]
   }
   ```

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

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

1. 查看您的 BYOIP CIDR。

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

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

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

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

1. 从公有 IPv4 池中释放 CIDR。运行本部分中的命令时，`--region` 的值必须与 IPAM 的区域匹配。

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

   ```
   aws ec2 deprovision-public-ipv4-pool-cidr --region us-east-1 --pool-id ipv4pool-ec2-0019eed22a684e0b2 --cidr 130.137.245.0/24 --profile member-account
   ```

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

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

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

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

   ```
   {
       "PublicIpv4Pools": [
           {
               "PoolId": "ipv4pool-ec2-0019eed22a684e0b2",
               "Description": "",
               "PoolAddressRanges": [],
               "TotalAddressCount": 0,
               "TotalAvailableAddressCount": 0,
               "NetworkBorderGroup": "us-east-1",
               "Tags": []
           }
       ]
   }
   ```

# 仅使用 AWS CLI 自带 IPv6 CIDR 到 IPAM 中
<a name="tutorials-byoip-ipam-ipv6"></a>

按照以下步骤将 IPv6 CIDR 带入 IPAM 中，然后仅使用 AWS CLI 分配 VPC。

如果不需要通过互联网公开发布 IPv6 地址，则可向 IPAM 预置私有 GUA IPv6 地址。有关更多信息，请参阅 [启用预置私有 IPv6 GUA CIDR](enable-prov-ipv6-gua.md)。

**重要**  
本教程假定您已完成以下部分中的步骤：  
[将 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-ipv6-2)
+ [步骤 3：创建 IPAM 池](#tutorials-byoip-ipam-ipv6-3)
+ [步骤 4：向顶级池预置 CIDR](#tutorials-byoip-ipam-ipv6-4)
+ [步骤 5：在顶级池中创建区域池](#tutorials-byoip-ipam-ipv6-5)
+ [步骤 6：向区域池预置 CIDR](#tutorials-byoip-ipam-ipv6-6)
+ [第 7 步。共享区域池](#tutorials-byoip-ipam-ipv4-console-4-deux)
+ [第 8 步：使用 IPv6 CIDR 创建 VPC](#tutorials-byoip-ipam-ipv6-8)
+ [步骤 9：传播 CIDR](#tutorials-byoip-ipam-ipv6-9)
+ [步骤 10：清除](#tutorials-byoip-ipam-ipv4-cleanup)

## 第 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-ipv6-2"></a>

此为可选步骤。如果您已在创建了 `us-east-1` 和 `us-west-2` 的运营区域的情况下创建了 IPAM，您可以跳过此步骤。创建 IPAM 并指定 `us-east-1` 和 `us-west-2` 的运营区域。您必须选择一个运营区域，以便在创建 IPAM 池时可以使用区域设置选项。IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。

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

运行如下命令：

```
aws ec2 create-ipam --description my-ipam --region us-east-1 --operating-regions RegionName=us-west-2 --profile ipam-account
```

在输出中，您将看到您创建的 IPAM。记下 `PublicDefaultScopeId` 值。在下一步中，您将需要使用公有范围 ID。

```
{
 "Ipam": {                                                                         
        "OwnerId": "123456789012",
        "IpamId": "ipam-090e48e75758de279",                                           
        "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",  
        "PublicDefaultScopeId": "ipam-scope-0087d83896280b594",                       
        "PrivateDefaultScopeId": "ipam-scope-08b70b04fbd524f8d",                      
        "ScopeCount": 2,                                                              
        "Description": "my-ipam",                                                     
        "OperatingRegions": [                                                         
            {                                                                         
                "RegionName": "us-east-1"                                             
            },
            {
                "RegionName": "us-west-2"
            }                                                                       
        ],                                                                            
        "Tags": []                                                                    
    }                                                                                 
}
```

## 步骤 3：创建 IPAM 池
<a name="tutorials-byoip-ipam-ipv6-3"></a>

由于您将创建一个其中包含一个区域池的顶级 IPAM 池，并且我们将为区域池中的资源 (VPC) 分配空间，因此您将在区域池中设置区域设置，而不是在顶级池中。在后面的步骤中创建区域池时，您将区域设置添加到区域池中。IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。

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

选择是否希望此 IPAM 池 CIDR 可以由 AWS 通过公共互联网（`--publicly-advertisable` 或 `--no-publicly-advertisable`）传播。

**注意**  
请注意，范围 ID 必须是公有范围的 ID，且地址系列必须是 `ipv6`。

**要使用 AWS CLI 为您的所有 AWS 资源创建 IPv6 地址池**

1. 运行以下命令以创建 IPAM 池。请使用您在上一步中创建的 IPAM 的公有范围的 ID。

   ```
   aws ec2 create-ipam-pool --region us-east-1 --ipam-scope-id ipam-scope-0087d83896280b594 --description "top-level-IPv6-pool" --address-family ipv6 --publicly-advertisable --profile ipam-account
   ```

   在输出中，您将会看到 `create-in-progress`，这表明池的创建正在进行中。

   ```
   {
       "IpamPool": {                                                                                             
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-07f2466c7158b50c4",                                                          
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-07f2466c7158b50c4",            
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",         
           "IpamScopeType": "public",                                                                            
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",                          
           "Locale": "None",                                                                                     
           "PoolDepth": 1,                                                                                       
           "State": "create-in-progress",                                                                        
           "Description": "top-level-Ipv6-pool",                                                                 
           "AutoImport": false,                                                                                  
           "Advertisable": true,                                                                                 
           "AddressFamily": "ipv6",                                                                              
           "Tags": []                                                                                            
       }                                                                                                         
   }
   ```

1. 运行以下命令，直到您在输出中看到 `create-complete` 的状态。

   ```
   aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account
   ```

   下面的示例输出显示池的状态。

   ```
   {
       "IpamPool": {                                                                                             
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-07f2466c7158b50c4",                                                          
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-07f2466c7158b50c4",            
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",         
           "IpamScopeType": "public",                                                                            
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",                          
           "Locale": "None",                                                                                     
           "PoolDepth": 1,                                                                                       
           "State": "create-complete",                                                                        
           "Description": "top-level-Ipv6-pool",                                                                 
           "AutoImport": false,                                                                                  
           "Advertisable": true,                                                                                 
           "AddressFamily": "ipv6",                                                                              
           "Tags": []                                                                                            
       }                                                                                                         
   }
   ```

## 步骤 4：向顶级池预置 CIDR
<a name="tutorials-byoip-ipam-ipv6-4"></a>

向顶级池预置 CIDR 块。请注意，在将 IPv6 CIDR 预置到顶级池中的池时，对于公开发布的 CIDR，可以引入的最具体 IPv6 地址范围是 /48；对于不公开发布的 CIDR，可以引入的最具体 IPv6 地址范围是 /60。

**注意**  
如果[使用 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 消息以及在该步骤中创建的验证令牌，以便我们验证您是否控制了公共空间。

在向顶级池预置 BYOIP CIDR 时，您只需要验证域控制权。对于顶级池中的区域池，您可以省略域所有权选项。

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

**使用 AWS CLI 向池预置 CIDR 块**

1. 要为 CIDR 预置证书信息，请使用以下示例命令。除了根据需要替换示例中的值外，务必还要将 `Message` 和 `Signature` 值替换为在 [使用 X.509 证书验证域](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-cert) 中获得的 `text_message` 和 `signed_message` 值。

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-07f2466c7158b50c4 --cidr 2605:9cc0:409::/48 --verification-method remarks-x509 --cidr-authorization-context Message="1|aws|470889052444|2605:9cc0:409::/48|20250101|SHA256|RSAPSS",Signature="FU26~vRG~NUGXa~akxd6dvdcCfvL88g8d~YAuai-CR7HqMwzcgdS9RlpBGtfIdsRGyr77LmWyWqU9Xp1g2R1kSkfD00NiLKLcv9F63k6wdEkyFxNp7RAJDvF1mBwxmSgH~Crt-Vp6LON3yOOXMp4JENB9uM7sMlu6oeoutGyyhXFeYPzlGSRdcdfKNKaimvPCqVsxGN5AwSilKQ8byNqoa~G3dvs8ueSaDcT~tW4CnILura70nyK4f2XzgPKKevAD1g8bpKmOFMbHS30CxduYknnDl75lvEJs1J91u3-wispI~r69fq515UR19TA~fmmxBDh1huQ8DkM1rqcwveWow__" --profile ipam-account
   ```

   要为 CIDR 预置验证令牌信息，请使用以下示例命令。除了根据需要替换示例中的值外，务必还要将 `ipam-ext-res-ver-token-0309ce7f67a768cf0` 替换为在 [使用 DNS TXT 记录验证域](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-dns-txt) 中获得的 `IpamExternalResourceVerificationTokenId` 令牌 ID。

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-07f2466c7158b50c4 --cidr 2605:9cc0:409::/48 --verification-method dns-token --ipam-external-resource-verification-token-id ipam-ext-res-ver-token-0309ce7f67a768cf0 --profile ipam-account
   ```

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

   ```
   {
       "IpamPoolCidr": {                                                                                         
           "Cidr": "2605:9cc0:409::/48",                                                                    
           "State": "pending-provision"                                                                          
       }                                                                                                         
   }
   ```

1. 在继续之前，请确保已预置此 CIDR。
**重要**  
虽然大多数预配置将在两小时内完成，但对于公开发布的范围，完成预配置过程可能需要长达一周的时间。

   运行以下命令，直到您在输出中看到 `provisioned` 的状态。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-07f2466c7158b50c4 --profile ipam-account
   ```

   下面的示例输出显示状态。

   ```
   {
       "IpamPoolCidrs": [
           {
               "Cidr": "2605:9cc0:409::/48",
               "State": "provisioned"
           }
       ]
   }
   ```

## 步骤 5：在顶级池中创建区域池
<a name="tutorials-byoip-ipam-ipv6-5"></a>

在顶级池中创建区域池。`--locale` 在池上是必需的，它必须是您在创建 IPAM 时配置的运营区域之一。

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

**重要**  
创建池时，您必须包括 `--aws-service ec2`。您选择的服务将决定可传播 CIDR 的 AWS 服务。目前，唯一的选择是 `ec2`，这意味着从此池中分配的 CIDR 在 Amazon EC2 服务和 Amazon VPC 服务（适用于与 VPC 关联的 CIDR）中是可传播的。

**要使用 AWS CLI 创建区域池**

1. 运行以下命令以创建池。

   ```
   aws ec2 create-ipam-pool --description "Regional-IPv6-pool" --region us-east-1 --ipam-scope-id ipam-scope-0087d83896280b594 --source-ipam-pool-id ipam-pool-07f2466c7158b50c4 --locale us-west-2 --address-family ipv6 --aws-service ec2 --profile ipam-account
   ```

   在输出中，您将看到创建池的 IPAM。

   ```
   {
       "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0053b7d2b4fc3f730",
           "SourceIpamPoolId": "ipam-pool-07f2466c7158b50c4",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0053b7d2b4fc3f730",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-west-2",
           "PoolDepth": 2,
           "State": "create-in-progress",
           "Description": "reg-ipv6-pool",
           "AutoImport": false,
           "Advertisable": true,
           "AddressFamily": "ipv6",
           "Tags": [],
           "ServiceType": "ec2"
       }
   }
   ```

1. 运行以下命令，直到您在输出中看到 `create-complete` 的状态。

   ```
   aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account
   ```

   在输出中，您可以看到您在 IPAM 中拥有的池。在本教程中，我们创建了一个顶级池和一个区域池，所以您会看到这两个池。

## 步骤 6：向区域池预置 CIDR
<a name="tutorials-byoip-ipam-ipv6-6"></a>

向区域池预置 CIDR 块。请注意，在将 CIDR 预置到顶级池中的池时，对于公开发布的 CIDR，可以引入的最具体 IPv6 地址范围是 /48；对于不公开发布的 CIDR，可以引入的最具体 IPv6 地址范围是 /60。

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

**要使用 AWS CLI 将 CIDR 块分配到区域池**

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

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --cidr 2605:9cc0:409::/48 --profile ipam-account
   ```

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

   ```
   {
       "IpamPoolCidr": {
           "Cidr": "2605:9cc0:409::/48",
           "State": "pending-provision"
       }
   }
   ```

1. 运行以下命令，直到您在输出中看到 `provisioned` 的状态。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --profile ipam-account
   ```

   下面的示例输出显示正确的状态。

   ```
   {
       "IpamPoolCidrs": [                                                        
           {                                                                     
               "Cidr": "2605:9cc0:409::/48",                                
               "State": "provisioned"                                            
           }                                                                     
       ]                                                                         
   }
   ```

## 第 7 步。共享区域池
<a name="tutorials-byoip-ipam-ipv4-console-4-deux"></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。

## 第 8 步：使用 IPv6 CIDR 创建 VPC
<a name="tutorials-byoip-ipam-ipv6-8"></a>

使用 IPAM 池 ID 创建 VPC。您还必须使用 `--cidr-block` 选项将 IPv4 CIDR 块与 VPC 关联，否则请求将失败。运行本部分中的命令时，`--region` 的值必须与您在创建将用于 BYOIP CIDR 的池时输入的 `--locale` 选项匹配。

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

**要使用 AWS CLI 通过 IPv6 CIDR 创建 VPC**

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

   ```
   aws ec2 create-vpc --region us-west-2 --ipv6-ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --cidr-block 10.0.0.0/16 --ipv6-netmask-length 56 --profile member-account
   ```

   在输出中，您将看到正在创建的 VPC。

   ```
   {
       "Vpc": {
           "CidrBlock": "10.0.0.0/16",
           "DhcpOptionsId": "dopt-2afccf50",
           "State": "pending",
           "VpcId": "vpc-00b5573ffc3b31a29",
           "OwnerId": "123456789012",
           "InstanceTenancy": "default",
           "Ipv6CidrBlockAssociationSet": [
               {
                   "AssociationId": "vpc-cidr-assoc-01b5703d6cc695b5b",
                   "Ipv6CidrBlock": "2605:9cc0:409::/56",
                   "Ipv6CidrBlockState": {
                       "State": "associating"
                   },
                   "NetworkBorderGroup": "us-east-1",
                   "Ipv6Pool": "ipam-pool-0053b7d2b4fc3f730"
               }
           ],
           "CidrBlockAssociationSet": [
               {
                   "AssociationId": "vpc-cidr-assoc-09cccb07d4e9a0e0e",
                   "CidrBlock": "10.0.0.0/16",
                   "CidrBlockState": {
                       "State": "associated"
                   }
               }
           ],
           "IsDefault": false
       }
   }
   ```

1. 在 IPAM 中查看 VPC 分配情况。

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --profile ipam-account
   ```

   在输出中，您将看到 IPAM 中的分配。

   ```
   {
       "IpamPoolAllocations": [
           {
               "Cidr": "2605:9cc0:409::/56",
               "IpamPoolAllocationId": "ipam-pool-alloc-5f8db726fb9e4ff0a33836e649283a52",
               "ResourceId": "vpc-00b5573ffc3b31a29",
               "ResourceType": "vpc",
               "ResourceOwner": "123456789012"
           }
       ]
   }
   ```

## 步骤 9：传播 CIDR
<a name="tutorials-byoip-ipam-ipv6-9"></a>

一旦您使用 IPAM 中分配的 CIDR 创建了 VPC，就可以开始传播您带入位于定义了 `--aws-service ec2` 的池中的 AWS 的 CIDR。在本教程中，这就是您的区域池。默认情况下，CIDR 不会被传播，这意味着它不能通过互联网公开访问。运行本部分中的命令时，`--region` 的值为必须与您在创建将用于 BYOIP CIDR 的区域池时输入的 `--locale` 选项匹配。

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

**开始使用 AWS CLI 传播 CIDR**
+ 请运行以下命令以传播 CIDR。

  ```
  aws ec2 advertise-byoip-cidr --region us-west-2 --cidr 2605:9cc0:409::/48 --profile ipam-account
  ```

  在输出中，您将看到 CIDR 被传播。

  ```
  {
      "ByoipCidr": {                                                                 
          "Cidr": "2605:9cc0:409::/48",                                              
          "State": "advertised"                                                      
      }                                                                              
  }
  ```

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

按照本部分中的步骤清除您在本教程中预置和创建的资源。运行本部分中的命令时，`--region` 的值为必须与您在创建将用于 BYOIP CIDR 的区域池时输入的 `--locale` 选项匹配。

**使用 AWS CLI 清除**

1. 运行以下命令以查看 IPAM 中管理的 VPC 分配。

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

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --profile ipam-account
   ```

   输出将显示 IPAM 中的分配。

   ```
   {
       "IpamPoolAllocations": [
           {
               "Cidr": "2605:9cc0:409::/56",
               "IpamPoolAllocationId": "ipam-pool-alloc-5f8db726fb9e4ff0a33836e649283a52",
               "ResourceId": "vpc-00b5573ffc3b31a29",
               "ResourceType": "vpc",
               "ResourceOwner": "123456789012"
           }
       ]
   }
   ```

1. 运行以下命令以停止传播 CIDR。运行本步骤中的命令时，`--region` 的值为必须与您在创建将用于 BYOIP CIDR 的区域池时输入的 `--locale` 选项匹配。

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

   ```
   aws ec2 withdraw-byoip-cidr --region us-west-2 --cidr 2605:9cc0:409::/48 --profile ipam-account
   ```

   在输出中，您将看到 CIDR 状态从 **advertised**（已传播）更改为 **provisioned**（已预置）。

   ```
   {
       "ByoipCidr": {
           "Cidr": "2605:9cc0:409::/48",
           "State": "provisioned"
       }
   }
   ```

1. 运行以下命令以删除 VPC。运行本部分中的命令时，`--region` 的值为必须与您在创建将用于 BYOIP CIDR 的区域池时输入的 `--locale` 选项匹配。

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

   ```
   aws ec2 delete-vpc --region us-west-2 --vpc-id vpc-00b5573ffc3b31a29 --profile member-account
   ```

   运行此命令时，您不会看到任何输出。

1. 运行以下命令以查看 IPAM 中的 VPC 分配情况。IPAM 可能需要一些时间才能发现 VPC 已被删除并删除此分配。运行本部分中的命令时，`--region` 的值为必须与您在创建将用于 BYOIP CIDR 的区域池时输入的 `--locale` 选项匹配。

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

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --profile ipam-account
   ```

   输出将显示 IPAM 中的分配。

   ```
   {
      "IpamPoolAllocations": [                                                                                      
           {                                                                                                        
               "Cidr": "2605:9cc0:409::/56",                                                                   
               "IpamPoolAllocationId": "ipam-pool-alloc-5f8db726fb9e4ff0a33836e649283a52",                                        
               "ResourceId": "vpc-00b5573ffc3b31a29",                                                               
               "ResourceType": "vpc",                                                                               
               "ResourceOwner": "123456789012"                                                                      
           }                                                                                                        
       ]                                                                                                            
   }
   ```

   重新运行命令并查找要删除的分配。在看到已从 IPAM 中删除分配之前，您无法继续清理和取消预置 IPAM 池 CIDR。

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --profile ipam-account
   ```

   输出将显示从 IPAM 中删除的分配。

   ```
   {
       "IpamPoolAllocations": []
   }
   ```

1. 删除 RAM 共享并禁用与 AWS Organizations 的 RAM 集成。完成《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 集成。

   此步骤必须分别由 IPAM 账户和管理账户完成。要使用 AWS CLI 删除 RAM 共享并禁用 RAM 集成，请使用 ` --profile ipam-account` 和 ` --profile management-account` 选项。

1. 运行以下命令以取消预置区域池 CIDR。

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

   ```
   aws ec2 deprovision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --cidr 2605:9cc0:409::/48 --profile ipam-account
   ```

   在输出中，您将看到 CIDR 待定取消预置。

   ```
   {
       "IpamPoolCidr": {
           "Cidr": "2605:9cc0:409::/48",
           "State": "pending-deprovision"
       }
   }
   ```

   取消预置需要一些时间才能完成。继续运行命令，直到看到 CIDR 状态 **deprovisioned**（已取消预置）。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --cidr 2605:9cc0:409::/48 --profile ipam-account
   ```

   在输出中，您将看到 CIDR 待定取消预置。

   ```
   {
       "IpamPoolCidr": {
           "Cidr": "2605:9cc0:409::/48",
           "State": "deprovisioned"
       }
   }
   ```

1. 运行以下命令，以删除区域池。

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

   ```
   aws ec2 delete-ipam-pool --region us-east-1 --ipam-pool-id ipam-pool-0053b7d2b4fc3f730 --profile ipam-account
   ```

   在输出中，您可以看到 delete（删除）状态。

   ```
   {
       "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0053b7d2b4fc3f730",
           "SourceIpamPoolId": "ipam-pool-07f2466c7158b50c4",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0053b7d2b4fc3f730",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-east-1",
           "PoolDepth": 2,
           "State": "delete-in-progress",
           "Description": "reg-ipv6-pool",
           "AutoImport": false,
           "Advertisable": true,
           "AddressFamily": "ipv6"
       }
   }
   ```

1. 运行以下命令以取消预置顶级池 CIDR。

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

   ```
   aws ec2 deprovision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-07f2466c7158b50c4 --cidr 2605:9cc0:409::/48 --profile ipam-account
   ```

   在输出中，您将看到 CIDR 待定取消预置。

   ```
   {
       "IpamPoolCidr": {
           "Cidr": "2605:9cc0:409::/48",
           "State": "pending-deprovision"
       }
   }
   ```

   取消预置需要一些时间才能完成。运行以下命令检查取消预置的状态。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-07f2466c7158b50c4 --profile ipam-account
   ```

   等到您看到 **deprovisioned**（取消预置）后再继续下一步。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "2605:9cc0:409::/48",                                                                         
           "State": "deprovisioned"                                                                           
       }                                                                                                            
   }
   ```

1. 运行以下命令以删除顶级池。

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

   ```
   aws ec2 delete-ipam-pool --region us-east-1 --ipam-pool-id ipam-pool-07f2466c7158b50c4 --profile ipam-account
   ```

   在输出中，您可以看到删除状态。

   ```
   {
       "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0053b7d2b4fc3f730",
           "SourceIpamPoolId": "ipam-pool-07f2466c7158b50c4",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0053b7d2b4fc3f730",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-east-1",
           "PoolDepth": 2,
           "State": "delete-in-progress",
           "Description": "reg-ipv6-pool",
           "AutoImport": false,
           "Advertisable": true,
           "AddressFamily": "ipv6"
       }
   }
   ```

1. 运行以下命令以删除 IPAM。

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

   ```
   aws ec2 delete-ipam --region us-east-1 --ipam-id ipam-090e48e75758de279 --profile ipam-account
   ```

   在输出中，您将看到 IPAM 响应。这意味着 IPAM 已删除。

   ```
   {
       "Ipam": {
           "OwnerId": "123456789012",
           "IpamId": "ipam-090e48e75758de279",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "PublicDefaultScopeId": "ipam-scope-0087d83896280b594",
           "PrivateDefaultScopeId": "ipam-scope-08b70b04fbd524f8d",
           "ScopeCount": 2,
           "OperatingRegions": [
               {                                                                         
                   "RegionName": "us-east-1"                                             
               },
               {
                   "RegionName": "us-west-2"
               }     
           ]
       }
   }
   ```