使用 Amazon 管理控制台和 Amazon CLI 自带 IPv4 CIDR 到 IPAM 中
按照以下步骤将 IPv4 CIDR 带入 IPAM 中,然后使用 Amazon 管理控制台和 Amazon CLI 分配弹性 IP 地址 (EIP)。
重要
此时无法在 Local Zones 中设置或播发 BYOIP 地址范围。
本教程假定您已完成以下部分中的步骤:
-
本教程的每个步骤都必须由以下三个 Amazon Organizations 账户之一完成:
管理账户。
将 IPAM 与 Amazon Organization 中的账户集成 中配置为 IPAM 管理员的成员账户。在本教程中,此账户将被称为 IPAM 账户。
将从 IPAM 池中分配 CIDR 的企业中的成员账户。在本教程中,此账户将被称为成员账户。
内容
第 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 账户完成。
如需创建池
在 https://console.aws.amazon.com/ipam/
中打开 IPAM 控制台。 -
在导航窗格中,选择 Pools(池)。
-
默认情况下,创建池时,默认的私有范围被选中。选择公有范围。有关范围的更多信息,请参阅 IPAM 的工作原理。
-
选择创建池。
-
(可选)添加池的名称标签和池的描述。
-
在源下,选择 IPAM 范围。
-
在地址系列下,选择 IPv4。
-
在资源规划下,保持选中在范围内规划 IP 空间。有关使用此选项规划 VPC 内的子网 IP 空间的更多信息,请参阅 教程:为子网 IP 分配规划 VPC IP 地址空间。
-
在区域设置下,选择无。
区域设置是您希望此 IPAM 池可用于分配的 Amazon 区域。例如,您只能从与 VPC 的区域共享区域设置的 IPAM 池中为 VPC 分配 CIDR。请注意,当您为池选择了区域设置后,无法对其进行修改。如果 IPAM 的主区域由于中断而不可用,并且池的区域设置与 IPAM 的主区域不同,则该池仍可用于分配 IP 地址。
IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。由于我们将创建一个其中包含一个区域池的顶级 IPAM 池,并且我们将为区域池中的弹性 IP 地址分配空间,因此您将在区域池中设置区域设置,而不是在顶级池中。在后面的步骤中创建区域池时,您将区域设置添加到区域池中。
注意
如果您只创建单个池而不是其中包含区域池的顶级池,则需要为此池选择一个区域设置,以便该池可用于分配。
-
在公有 IP 源下,选择下列选项之一:
BYOIP:希望将自带 IPv4 或 IPv6 地址范围(BYOIP)导入该池。
Amazon 拥有:希望 Amazon 为此池预置 IPv6 地址范围。
-
请执行以下操作之一:
如果在上一步骤中选择了 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
。
将配置此池的分配规则设置保持未选中状态。
(可选)为池选择 Tags(标签)。
选择创建池。
在继续之前,请确保已预置此 CIDR。您可以在池详细信息页面的 CIDR 选项卡中查看资源调配状态。请注意,预置 BYOIP CIDR 最多可能需要一周。
第 3 步。在顶级池中创建区域池
在顶级池中创建区域池。IPAM 与 BYOIP 集成要求在将用于 BYOIP CIDR 的任何一个池上设置区域设置。在本部分中创建区域池时,您将区域设置添加到区域池中。Locale
必须是创建 IPAM 时配置的操作区域之一。
此步骤必须由 IPAM 账户完成。
要在顶级池中创建区域池
在 https://console.aws.amazon.com/ipam/
中打开 IPAM 控制台。 -
在导航窗格中,选择 Pools(池)。
-
默认情况下,创建池时,默认的私有范围被选中。如果您不想使用默认的私有范围,请从内容窗格顶部的下拉菜单中选择要使用的范围。有关范围的更多信息,请参阅 IPAM 的工作原理。
-
选择创建池。
-
(可选)添加池的名称标签和池的描述。
-
在源池下,选择您在上一部分中创建的顶级池。
-
在资源规划下,保持选中在范围内规划 IP 空间。有关使用此选项规划 VPC 内的子网 IP 空间的更多信息,请参阅 教程:为子网 IP 分配规划 VPC IP 地址空间。
-
在 Locale(区域设置)下,选择池的区域设置。在本教程中,我们将使用
us-east-2
作为区域池的区域设置。可用的选项来自您在创建 IPAM 时选择的运营区域。区域设置是您希望此 IPAM 池可用于分配的 Amazon 区域。例如,您只能从与 VPC 的区域共享区域设置的 IPAM 池中为 VPC 分配 CIDR。请注意,当您为池选择了区域设置后,无法对其进行修改。如果 IPAM 的主区域由于中断而不可用,并且池的区域设置与 IPAM 的主区域不同,则该池仍可用于分配 IP 地址。选择区域设置可确保池与从中分配的资源之间没有跨区域依赖关系。
-
在服务下,选择 EC2 (EIP/VPC)。您选择的服务将决定可传播 CIDR 的 Amazon 服务。目前,唯一的选择是 EC2(EIP/VPC),这意味着从此池中分配的 CIDR 在 Amazon EC2 服务(适用于弹性 IP 地址)和 Amazon VPC 服务(适用于与 VPC 关联的 CIDR)中是可传播的。
-
在 CIDRs to provision(要预置的 CIDR)下,选择要为池预置的 CIDR。请注意,将 CIDR 预置到顶级池中的资源池时,您可以预置的最低 IPv4 CIDR 为
/24
;不允许使用更具体的 CIDR(例如/25
)。 -
启用配置此池的分配规则设置。这里的分配规则选项与创建顶级池时的选项相同。请参阅 创建顶级 IPv4 池 以了解创建池时可用的选项。区域池的分配规则不是从顶级池继承来的。如果您不在此应用任何规则,则不会为池设置分配规则。
(可选)为池选择 Tags(标签)。
-
配置完池后,选择创建池。
在继续之前,请确保已预置此 CIDR。您可以在池详细信息页面的 CIDR 选项卡中查看资源调配状态。
第 4 步。共享区域池
按照本部分中的步骤使用 Amazon Resource Access Manager(RAM)共享 IPAM 池。
4.1. 在 Amazon RAM 中启用资源共享
创建 IPAM 后,您需要与组织中的其他账户共享区域池。在共享 IPAM 池之前,请先完成本部分中的步骤,启用与 Amazon RAM 的资源共享。如果要使用 Amazon CLI 启用资源共享,请使用 --profile
选项。management-account
启用资源共享
-
使用 Amazon Organizations 管理账户打开 Amazon RAM 控制台,地址:https://console.aws.amazon.com/ram/
。 -
在左侧导航窗格中,依次选择设置、启用与 Amazon Organizations 共享、保存设置。
您现在可以与组织的其他成员共享 IPAM 池。
4.2. 使用 Amazon RAM 共享 IPAM 池
在这一部分,您将与其他 Amazon Organizations 成员账户共享区域池。有关共享 IPAM 池的完整说明,例如所需 IAM 权限的相关信息,请参阅 使用 Amazon RAM 共享 IPAM 池。如果要使用 Amazon CLI 启用资源共享,请使用 --profile
选项。ipam-account
使用 Amazon RAM 共享 IPAM 池
-
使用 IPAM 管理员账户打开 IPAM 控制台,地址:https://console.aws.amazon.com/ipam/
。 -
在导航窗格中,选择池。
-
依次选择私有范围、IPAM 池以及操作 > 查看详细信息。
-
在资源共享下,选择创建资源共享。Amazon RAM 控制台将打开。您将使用 Amazon RAM 来共享该池。
-
选择创建资源共享。
-
在 Amazon RAM 控制台中,再次选择创建资源共享。
-
为共享资源添加名称。
-
在选择资源类型下,选择 IPAM 池,然后选择要共享的池的 ARN。
-
选择下一步。
-
选择 AWSRAMPermissionIpamPoolByoipCidrImport 权限。本教程不提供权限选项的详细信息,但您可以在 使用 Amazon RAM 共享 IPAM 池 中查看有关这些选项的更多信息。
-
选择下一步。
-
在委托人 > 选择主体类型下,选择 Amazon 账户,输入要为 IPAM 提供 IP 地址范围的账户的账户 ID,然后选择添加。
-
选择下一步。
-
查看资源共享选项和要共享的主体,然后选择创建。
-
要允许
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
--profilemember-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 池
-
请运行以下命令以预置 CIDR。
aws ec2 provision-public-ipv4-pool-cidr --region
us-east-2
--ipam-pool-idipam-pool-04d8e2d9670eeab21
--pool-idipv4pool-ec2-09037ce61cf068f9a
--netmask-length24
--profilemember-account
在输出中,您将看到预置的 CIDR。
{ "PoolId": "ipv4pool-ec2-09037ce61cf068f9a", "PoolAddressRange": { "FirstAddress": "130.137.245.0", "LastAddress": "130.137.245.255", "AddressCount": 256, "AvailableAddressCount": 256 } }
-
运行以下命令,以查看公有 IPv4 池中预置的 CIDR。
aws ec2 describe-public-ipv4-pools --region
us-east-2
--max-results10
--profilemember-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
在 https://console.aws.amazon.com/ipam/
中打开 IPAM 控制台。 -
在导航窗格中,选择 Pools(池)。
-
默认情况下,创建池时,默认的私有范围被选中。选择公有范围。有关范围的更多信息,请参阅 IPAM 的工作原理。
-
选择您在本教程中创建的区域池。
-
选择 CIDR 选项卡。
-
选择 BYOIP CIDR,然后选择操作 > 广告。
-
选择广告 CIDR。
这样一来,将广告 BYOIP CIDR,并且广告列中的值将从已撤回变为已刊登广告。
步骤 10:清除
按照本部分中的步骤清除您在本教程中预置和创建的资源。
步骤 1:从传播中撤回 CIDR
此步骤必须由 IPAM 账户完成。
在 https://console.aws.amazon.com/ipam/
中打开 IPAM 控制台。 -
在导航窗格中,选择 Pools(池)。
-
默认情况下,创建池时,默认的私有范围被选中。选择公有范围。
-
选择您在本教程中创建的区域池。
-
选择 CIDR 选项卡。
-
选择 BYOIP CIDR,然后选择操作>撤回广告。
-
选择撤回 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 完成。
-
查看您的 BYOIP CIDR。
aws ec2 describe-public-ipv4-pools --region
us-east-2
--profilemember-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": [] } ] }
-
运行以下命令以从公有 IPv4 池中释放 CIDR 中的最后一个 IP 地址。输入网络掩码为
/32
的 IP 地址。aws ec2 deprovision-public-ipv4-pool-cidr --region
us-east-2
--pool-idipv4pool-ec2-09037ce61cf068f9a
--cidr130.137.245.255/32
--profilemember-account
在输出中,您将看到取消预置的 CIDR。
{ "PoolId": "ipv4pool-ec2-09037ce61cf068f9a", "DeprovisionedAddresses": [ "130.137.245.255" ] }
重要
您必须为 CIDR 范围内的每个 IP 地址重新运行此命令。如果您的 CIDR 是
/24
,则必须运行此命令才能取消预置/24
CIDR 中 256 个 IP 地址中的每个地址。 -
再次查看您的 BYOIP CIDR,并确保没有更多的预置地址。运行本部分中的命令时,
--region
的值必须与 IPAM 的区域匹配。aws ec2 describe-public-ipv4-pools --region
us-east-2
--profilemember-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-idipv4pool-ec2-09037ce61cf068f9a
--profilemember-account
在输出中,您将看到返回值真。
{ "ReturnValue": true }
删除该池后,要查看未由 IPAM 管理的分配,请打开 IPAM 控制台,并在分配下查看区域池的详细信息。
第 6 步:删除 RAM 共享并禁用与 Amazon Organizations 的 RAM 集成
此步骤必须分别由 IPAM 账户和管理账户完成。要使用 Amazon CLI 删除 RAM 共享并禁用 RAM 集成,请使用 --profile
和 ipam-account
--profile
选项。management-account
-
完成《Amazon RAM 用户指南》中 删除 Amazon RAM 中的资源共享 和 禁用与 Amazon Organizations 的资源共享 所述的步骤,删除 RAM 共享并禁用与 Amazon Organizations 的 RAM 集成。
步骤 7:从区域池和顶级池中取消预置 CIDR
此步骤必须由 IPAM 账户完成。如果要使用 Amazon CLI 共享该池,请使用 --profile
选项。ipam-account
-
按顺序完成 从池中取消预置 CIDR 中的步骤,从区域池中取消预置 CIDR,然后从顶级池中取消预置 CIDR。
步骤 8:删除区域池和顶级池
此步骤必须由 IPAM 账户完成。如果要使用 Amazon CLI 共享该池,请使用 --profile
选项。ipam-account
-
按顺序完成 删除池 中的步骤,删除区域池,然后删除顶级池。