使用 Amazon 管理控制台和 Amazon CLI 自带 IPv4 CIDR 到 IPAM 中 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Amazon 管理控制台和 Amazon CLI 自带 IPv4 CIDR 到 IPAM 中

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

重要

第 1 步:创建 Amazon CLI 命名配置文件和 IAM 角色

要以单个 Amazon 用户的身份完成本教程,您可以使用 Amazon CLI 命名配置文件在 IAM 角色之间切换。命名配置文件 是您在将 --profile 选项与 Amazon CLI 结合使用时引用的设置和凭证集合。有关如何为 Amazon 账户创建 IAM 角色和命名配置文件的更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的 在 Amazon CLI 中使用 IAM 角色

为您将在本教程中使用的三个 Amazon 账户分别创建一个角色和一个命名配置文件:

  • 为 Amazon Organizations 管理账户创建名为 management-account 的配置文件。

  • 为配置为 IPAM 管理员的 Amazon Organizations 成员账户创建名为 ipam-account 的配置文件。

  • 为将从 IPAM 池中分配 CIDR 的企业中的 Amazon Organizations 成员账户创建名为 member-account 的配置文件。

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

步骤 2:创建顶级 IPAM 池

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

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

如需创建池
  1. https://console.aws.amazon.com/ipam/ 中打开 IPAM 控制台。

  2. 在导航窗格中,选择 Pools(池)。

  3. 默认情况下,创建池时,默认的私有范围被选中。选择公有范围。有关范围的更多信息,请参阅 IPAM 的工作原理

  4. 选择创建池

  5. (可选)添加池的名称标签和池的描述

  6. 下,选择 IPAM 范围

  7. 地址系列下,选择 IPv4

  8. 资源规划下,保持选中在范围内规划 IP 空间。有关使用此选项规划 VPC 内的子网 IP 空间的更多信息,请参阅 教程:为子网 IP 分配规划 VPC IP 地址空间

  9. 区域设置下,选择

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

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

    注意

    如果您只创建单个池而不是其中包含区域池的顶级池,则需要为此池选择一个区域设置,以便该池可用于分配。

  10. 公有 IP 源下,选择下列选项之一:

    • BYOIP:希望将自带 IPv4 或 IPv6 地址范围(BYOIP)导入该池。

    • Amazon 拥有:希望 Amazon 为此池预置 IPv6 地址范围。

  11. 请执行以下操作之一:

    • 如果在上一步骤中选择了 BYOIP,请在要预置的 CIDR 下,选择要为池预置的 CIDR。请注意,将 IPv4 CIDR 预置到顶级池中的资源池时,您可以预置的最低 IPv4 CIDR 为 /24;不允许使用更具体的 CIDR(例如 /25)。您必须在请求中包含 CIDR、BYOIP 消息和证书签名,以便我们验证您是否拥有公有空间。有关 BYOIP 先决条件的列表,包括如何获取此 BYOIP 消息和证书签名,请参阅 使用 Amazon 管理控制台和 Amazon CLI 自带公有 IPv4 CIDR 到 IPAM 中

      重要

      预置 BYOIP CIDR 最多可能需要一周。

    • 如果选择了 Amazon 拥有,请在网络掩码长度下,在 /40/52 之间选择网络掩码长度。默认值为 /52

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

  13. (可选)为池选择 Tags(标签)。

  14. 选择创建池

在继续之前,请确保已预置此 CIDR。您可以在池详细信息页面的 CIDR 选项卡中查看资源调配状态。请注意,预置 BYOIP CIDR 最多可能需要一周。

第 3 步。在顶级池中创建区域池

在顶级池中创建区域池。IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。在本部分中创建区域池时,您将区域设置添加到区域池中。Locale 必须是创建 IPAM 时配置的操作区域之一。

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

要在顶级池中创建区域池
  1. https://console.aws.amazon.com/ipam/ 中打开 IPAM 控制台。

  2. 在导航窗格中,选择 Pools(池)。

  3. 默认情况下,创建池时,默认的私有范围被选中。如果您不想使用默认的私有范围,请从内容窗格顶部的下拉菜单中选择要使用的范围。有关范围的更多信息,请参阅 IPAM 的工作原理

  4. 选择创建池

  5. (可选)添加池的名称标签和池的描述

  6. 源池下,选择您在上一部分中创建的顶级池。

  7. 资源规划下,保持选中在范围内规划 IP 空间。有关使用此选项规划 VPC 内的子网 IP 空间的更多信息,请参阅 教程:为子网 IP 分配规划 VPC IP 地址空间

  8. Locale(区域设置)下,选择池的区域设置。在本教程中,我们将使用 us-east-2 作为区域池的区域设置。可用的选项来自您在创建 IPAM 时选择的运营区域。

    区域设置是您希望此 IPAM 池可用于分配的 Amazon 区域。例如,您只能从与 VPC 的区域共享区域设置的 IPAM 池中为 VPC 分配 CIDR。请注意,当您为池选择了区域设置后,无法对其进行修改。如果 IPAM 的主区域由于中断而不可用,并且池的区域设置与 IPAM 的主区域不同,则该池仍可用于分配 IP 地址。选择区域设置可确保池与从中分配的资源之间没有跨区域依赖关系。

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

  10. CIDRs to provision(要预置的 CIDR)下,选择要为池预置的 CIDR。请注意,将 CIDR 预置到顶级池中的资源池时,您可以预置的最低 IPv4 CIDR 为 /24;不允许使用更具体的 CIDR(例如 /25)。

  11. 启用配置此池的分配规则设置。这里的分配规则选项与创建顶级池时的选项相同。请参阅 创建顶级 IPv4 池 以了解创建池时可用的选项。区域池的分配规则不是从顶级池继承来的。如果您不在此应用任何规则,则不会为池设置分配规则。

  12. (可选)为池选择 Tags(标签)。

  13. 配置完池后,选择创建池

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

第 4 步。共享区域池

按照本部分中的步骤使用 Amazon Resource Access Manager(RAM)共享 IPAM 池。

4.1. 在 Amazon RAM 中启用资源共享

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

启用资源共享
  1. 使用 Amazon Organizations 管理账户打开 Amazon RAM 控制台,地址:https://console.aws.amazon.com/ram/

  2. 在左侧导航窗格中,依次选择设置启用与 Amazon Organizations 共享保存设置

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

4.2. 使用 Amazon RAM 共享 IPAM 池

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

使用 Amazon RAM 共享 IPAM 池
  1. 使用 IPAM 管理员账户打开 IPAM 控制台,地址:https://console.aws.amazon.com/ipam/

  2. 在导航窗格中,选择

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

  4. 资源共享下,选择创建资源共享。Amazon RAM 控制台将打开。您将使用 Amazon RAM 来共享该池。

  5. 选择创建资源共享

  6. 在 Amazon RAM 控制台中,再次选择创建资源共享

  7. 为共享资源添加名称

  8. 选择资源类型下,选择 IPAM 池,然后选择要共享的池的 ARN。

  9. 选择下一步

  10. 选择 AWSRAMPermissionIpamPoolByoipCidrImport 权限。本教程不提供权限选项的详细信息,但您可以在 使用 Amazon RAM 共享 IPAM 池 中查看有关这些选项的更多信息。

  11. 选择下一步

  12. 委托人 > 选择主体类型下,选择 Amazon 账户,输入要为 IPAM 提供 IP 地址范围的账户的账户 ID,然后选择添加

  13. 选择下一步

  14. 查看资源共享选项和要共享的主体,然后选择创建

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

第 5 步:创建公有 IPv4 池

创建公有 IPv4 池是将公有 IPv4 地址带入将通过 IPAM 管理的 Amazon 中的必要步骤。此步骤应该由预置弹性 IP 地址的成员账户完成。

重要
  • 此步骤必须由成员账户使用 Amazon CLI 完成。

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

要使用 Amazon 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" }

第 6 步:将公有 IPv4 CIDR 预调配到您的公有 IPv4 池

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

注意

如果您将 /24 CIDR 范围引入 IPAM 以便在 Amazon 组织内共享,则可以为多个 IPAM 池预置较小的前缀,例如 /27(使用 -- netmask-length 27),而不是像本教程中所示预置整个 /24 CIDR(使用 -- netmask-length 24)。

重要

此步骤必须由成员账户使用 Amazon CLI 完成。

要使用 Amazon 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 } }
  2. 运行以下命令,以查看公有 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 控制台,并在分配资源下查看区域池中的分配。

第 7 步:从公有 IPv4 池创建弹性 IP 地址

完成适用于 Linux 实例的 Amazon EC2 用户指南分配弹性 IP 地址的步骤,从公有 IPv4 池创建弹性 IP 地址 (EIP)。在 Amazon 管理控制台中打开 EC2 时,分配 EIP 的 Amazon 区域必须与您在创建将用于 BYOIP CIDR 的池时选择的 Locale 选项匹配。

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

第 8 步:将弹性 IP 地址与 EC2 实例相关联

完成适用于 Linux 实例的 Amazon EC2 用户指南将弹性 IP 地址与实例或网络接口相关联的步骤,以将 EIP 与 EC2 实例相关联。在 Amazon 管理控制台中打开 EC2 时,与 EIP 相关联的 Amazon 区域必须与您在创建将用于 BYOIP CIDR 的池时选择的 Locale 选项匹配。在本教程中,该池就是区域池。

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

步骤 9:传播 CIDR

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

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

要传播 CIDR
  1. https://console.aws.amazon.com/ipam/ 中打开 IPAM 控制台。

  2. 在导航窗格中,选择 Pools(池)。

  3. 默认情况下,创建池时,默认的私有范围被选中。选择公有范围。有关范围的更多信息,请参阅 IPAM 的工作原理

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

  5. 选择 CIDR 选项卡。

  6. 选择 BYOIP CIDR,然后选择操作 > 广告

  7. 选择广告 CIDR

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

步骤 10:清除

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

步骤 1:从传播中撤回 CIDR

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

  1. https://console.aws.amazon.com/ipam/ 中打开 IPAM 控制台。

  2. 在导航窗格中,选择 Pools(池)。

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

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

  5. 选择 CIDR 选项卡。

  6. 选择 BYOIP CIDR,然后选择操作>撤回广告

  7. 选择撤回 CIDR

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

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

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

  • 完成适用于 Linux 实例的 Amazon EC2 用户指南解除弹性 IP 地址的关联的步骤,以解除 EIP 的关联。在 Amazon 管理控制台中打开 EC2 时,解除 EIP 关联的 Amazon 区域必须与您在创建将用于 BYOIP CIDR 的池时选择的 Locale 选项匹配。在本教程中,该池就是区域池。

步骤 3:释放弹性 IP 地址

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

  • 完成适用于 Linux 实例的 Amazon EC2 用户指南释放弹性 IP 地址的步骤,从公有 IPv4 池释放弹性 IP 地址 (EIP)。在 Amazon 管理控制台中打开 EC2 时,分配 EIP 的 Amazon 区域必须与您在创建将用于 BYOIP CIDR 的池时选择的 Locale 选项匹配。

步骤 4:从您的公有 IPv4 池中取消预置公有 IPv4 CIDR
重要

此步骤必须由成员账户使用 Amazon 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": [] } ] }
  2. 运行以下命令以从公有 IPv4 池中释放 CIDR 中的最后一个 IP 地址。输入网络掩码为 /32 的 IP 地址。

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

    在输出中,您将看到取消预置的 CIDR。

    { "PoolId": "ipv4pool-ec2-09037ce61cf068f9a", "DeprovisionedAddresses": [ "130.137.245.255" ] }
    重要

    您必须为 CIDR 范围内的每个 IP 地址重新运行此命令。如果您的 CIDR 是 /24,则必须运行此命令才能取消预置 /24 CIDR 中 256 个 IP 地址中的每个地址。

  3. 再次查看您的 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。

步骤 5:删除公有 IPv4 池

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

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

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

    在输出中,您将看到返回值

    { "ReturnValue": true }

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

第 6 步:删除 RAM 共享并禁用与 Amazon Organizations 的 RAM 集成

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

步骤 7:从区域池和顶级池中取消预置 CIDR

此步骤必须由 IPAM 账户完成。如果要使用 Amazon CLI 共享该池,请使用 --profile ipam-account 选项。

  • 按顺序完成 从池中取消预置 CIDR 中的步骤,从区域池中取消预置 CIDR,然后从顶级池中取消预置 CIDR。

步骤 8:删除区域池和顶级池

此步骤必须由 IPAM 账户完成。如果要使用 Amazon CLI 共享该池,请使用 --profile ipam-account 选项。

  • 按顺序完成 删除池 中的步骤,删除区域池,然后删除顶级池。