从 IPAM 池中分配连续弹性 IP 地址
IPAM 允许您向 IPAM 池预调配 Amazon 拥有的公有 IPv4 块,并将这些池中的连续弹性 IP 地址分配给 AWS 资源。
连续分配的弹性 IP 地址是按顺序分配的公有 IPv4 地址。例如,如果 Amazon 为您提供了一个公有 IPv4 CIDR 块 192.0.2.0/30
,而您从该 CIDR 块中分配了四个可用的公有 IPv4 地址,则四个连续弹性 IP 地址的示例是 192.0.2.0
、192.0.2.1
、192.0.2.2
和 192.0.2.3
。
连续分配的弹性 IP 地址使您能够通过以下方式来简化安全和联网规则:
安全管理:使用连续的 IPv4 地址可以降低防火墙管理开销。您可以使用单个规则添加整个前缀,并在扩展时关联来自同一前缀的 IP,从而节省时间和精力。
企业访问:您可以使用整个 CIDR 块而不是一长串单独的公有 IPv4 地址,以简化与客户端共享的地址空间。这样就无需在应用程序在 AWS 上扩展时不断沟通 IP 变更。
简化的 IP 管理:使用连续的 IPv4 地址可以简化中央网络团队的公有 IP 管理,因为它减少了跟踪单个公有 IP 的需求,而是使他们能够专注于有限数量的 IP 前缀。
在本教程中,您将完成从 IPAM 池中分配连续弹性 IP 地址所需的步骤。您将使用 Amazon 提供的连续公有 IPv4 CIDR 块创建 IPAM 池,从池中分配弹性 IP 地址,并了解如何监控 IPAM 池的分配。
步骤 1:创建 IPAM
完成本部分中的步骤创建 IPAM。
- AWS Management Console
-
创建 IPAM
在 https://console.aws.amazon.com/ipam/ 中打开 IPAM 控制台。
-
在 AWS 管理控制台中,选择您要在其中创建 IPAM 的 AWS 区域。在主操作区域创建 IPAM。
-
在服务主页上,选择创建 IPAM。
-
选择 Allow Amazon VPC IP Address Manager to replicate data from source account(s) into the IPAM delegate account(允许 Amazon VPC IP 地址管理器将数据从源账户复制到 IPAM 委托账户中)。如果未选中此选项,则无法创建 IPAM。
-
选择 IPAM 等级。有关每种套餐中提供的功能以及与套餐相关的费用的更多信息,请参阅 Amazon VPC 定价页面中的 IPAM 选项卡。
-
在运营区域下,选择此 IPAM 可以在其中管理和发现资源的 AWS 区域。默认情况下,您要在其中创建 IPAM 的AWS区域被选为运营区域之一。例如,如果您在 AWS 区域 us-east-1
中创建此 IPAM,但是您希望稍后创建区域 IPAM 池,以便在 us-west-2
中向 VPC 提供 CIDR,请在此选择 us-west-2
。如果忘记了运营区域,可以稍后返回并编辑 IPAM 设置。
如果您在免费等级中创建 IPAM,则可以为 IPAM 选择多个运营区域,但唯一可在运营区域中使用的 IPAM 功能是公共 IP 洞察功能。您无法跨 IPAM 运营区域中使用免费等级中的其他功能,例如 BYOIP。你只能在 IPAM 的主区域中只能使用这些功能。要跨运营区域使用所有 IPAM 功能,请在高级等级中创建 IPAM。
-
选择创建 IPAM。
- Command line
-
本部分的命令链接到 AWS CLI 参考文档。本文档提供了运行命令时可以使用的选项的详细说明。
使用 create-ipam 命令创建 IPAM:
aws ec2 create-ipam --region us-east-1
响应示例:
{
"Ipam": {
"OwnerId": "320805250157",
"IpamId": "ipam-0755477df834ea06b",
"IpamArn": "arn:aws:ec2::320805250157:ipam/ipam-0755477df834ea06b",
"IpamRegion": "us-east-1",
"PublicDefaultScopeId": "ipam-scope-01bc7290e4a9202f9",
"PrivateDefaultScopeId": "ipam-scope-0a50983b97a7a583a",
"ScopeCount": 2,
"OperatingRegions": [
{
"RegionName": "us-east-1"
}
],
"State": "create-in-progress",
"Tags": [],
"DefaultResourceDiscoveryId": "ipam-res-disco-02cc5b34cc3f04f09",
"DefaultResourceDiscoveryAssociationId": "ipam-res-disco-assoc-06b3a4dccfc81f7c1",
"ResourceDiscoveryAssociationCount": 1,
"Tier": "advanced"
}
}
在下一步中,您将需要 PublicDefaultScopeId。有关范围的更多信息,请参阅 IPAM 的工作原理。
步骤 2:创建 IPAM 池并预置 CIDR
完成本部分中的步骤创建 IPAM 池,您将从中分配弹性 IP 地址。
- AWS Management Console
-
如需创建池
在 https://console.aws.amazon.com/ipam/ 中打开 IPAM 控制台。
-
在导航窗格中,选择池。
-
选择公有范围。有关范围的更多信息,请参阅 IPAM 的工作原理。
-
选择创建池。
-
(可选)添加池的名称标签和池的描述。
-
在源下,选择 IPAM 范围。
-
在地址系列下,选择 IPv4。
-
在资源规划下,保持选中在范围内规划 IP 空间。
-
在 Locale(区域设置)下,选择池的区域设置。区域设置是您希望此 IPAM 池可用于分配的 AWS 区域。可用的选项来自您在创建 IPAM 时选择的运营区域。
-
在服务下,选择 EC2 (EIP/VPC)。您选择的服务将决定传播 CIDR 的 AWS 服务。目前,唯一的选择是 EC2(EIP/VPC),这意味着从此池中分配的 CIDR 将在 Amazon EC2 服务(适用于弹性 IP 地址)中传播。
-
在公有 IP 来源下,选择 Amazon 拥有。
-
在要预调配的 CIDR 下,选择添加 Amazon 拥有的公有 CIDR。选择介于 /29
(8 个 IP 地址)和 /30
(4 个 IP 地址)之间的网络掩码长度。默认情况下,您最多可以添加 2 个 CIDR。有关提高 Amazon 提供的连续公有 IPv4 CIDR 限制的信息,请参阅 IPAM 的配额。
-
将配置此池的分配规则设置保持未选中状态。
-
(可选)为池选择 Tags(标签)。
-
选择创建池。
在继续之前,请确保已预置此 CIDR。您可以在池详细信息页面的 CIDR 选项卡中查看资源调配状态。
- Command line
-
如需创建池
-
使用 create-ipam-pool 命令创建 IPAM 池。区域设置是您希望此 IPAM 池可用于分配的 AWS 区域。可用的选项来自您在创建 IPAM 时选择的运营区域。
aws ec2 create-ipam-pool --region us-east-1
--ipam-scope-id ipam-scope-01bc7290e4a9202f9
--address-family ipv4 --locale us-east-1
--aws-service ec2 --public-ip-source amazon
带有 create-in-progress
状态的示例响应:
{
"IpamPool": {
"OwnerId": "320805250157",
"IpamPoolId": "ipam-pool-07ccc86aa41bef7ce",
"IpamPoolArn": "arn:aws:ec2::320805250157:ipam-pool/ipam-pool-07ccc86aa41bef7ce",
"IpamScopeArn": "arn:aws:ec2::320805250157:ipam-scope/ipam-scope-01bc7290e4a9202f9",
"IpamScopeType": "public",
"IpamArn": "arn:aws:ec2::320805250157:ipam/ipam-0755477df834ea06b",
"IpamRegion": "us-east-1",
"Locale": "us-east-1",
"PoolDepth": 1,
"State": "create-in-progress",
"AutoImport": false,
"AddressFamily": "ipv4",
"Tags": [],
"AwsService": "ec2",
"PublicIpSource": "amazon"
}
}
-
使用 describe-ipam-pools 命令检查池是否已成功创建。
aws ec2 describe-ipam-pools --region us-east-1
--ipam-pool-ids ipam-pool-07ccc86aa41bef7ce
带有 create-complete
状态的示例响应:
{
"IpamPools": [
{
"OwnerId": "320805250157",
"IpamPoolId": "ipam-pool-07ccc86aa41bef7ce",
"IpamPoolArn": "arn:aws:ec2::320805250157:ipam-pool/ipam-pool-07ccc86aa41bef7ce",
"IpamScopeArn": "arn:aws:ec2::320805250157:ipam-scope/ipam-scope-01bc7290e4a9202f9",
"IpamScopeType": "public",
"IpamArn": "arn:aws:ec2::320805250157:ipam/ipam-0755477df834ea06b",
"IpamRegion": "us-east-1",
"Locale": "us-east-1",
"PoolDepth": 1,
"State": "create-complete",
"AutoImport": false,
"AddressFamily": "ipv4",
"Tags": [],
"AwsService": "ec2",
"PublicIpSource": "amazon"
}
]
}
-
使用 provision-ipam-pool-cidr 命令向池预置 CIDR。选择介于 /29
(8 个 IP 地址)和 /30
(4 个 IP 地址)之间的 --netmask-length
。默认情况下,您最多可以添加 2 个 CIDR。有关提高 Amazon 提供的连续公有 IPv4 CIDR 限制的信息,请参阅 IPAM 的配额。
aws ec2 provision-ipam-pool-cidr --region us-east-1
--ipam-pool-id ipam-pool-07ccc86aa41bef7ce
--netmask-length 29
带有 pending-provision
状态的示例响应:
{
"IpamPoolCidr": {
"State": "pending-provision",
"IpamPoolCidrId": "ipam-pool-cidr-01856e43994df4913b7bc6aac47adf983",
"NetmaskLength": 29
}
}
-
在继续之前,请确保已预置此 CIDR。您可以使用 get-ipam-pool-cidrs 命令查看预置状态。
aws ec2 get-ipam-pool-cidrs --region us-east-1
--ipam-pool-id ipam-pool-07ccc86aa41bef7ce
带有 provisioned
状态的示例响应:
{
"IpamPoolCidrs": [
{
"Cidr": "18.97.0.40/29",
"State": "provisioned",
"IpamPoolCidrId": "ipam-pool-cidr-01856e43994df4913b7bc6aac47adf983",
"NetmaskLength": 29
}
]
}
步骤 3:从池中分配弹性 IP 地址
完成本部分中的步骤,以从池中分配弹性 IP 地址。
- AWS Management Console
-
按照《Amazon EC2 用户指南》中的分配弹性 IP 地址中的步骤分配地址,但请注意以下几点:
- Command line
-
使用 allocate-address 命令从池中分配一个地址。您使用的 --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 地址。
步骤 4:将弹性 IP 地址与 EC2 实例相关联
完成本部分中的步骤将弹性 IP 地址与 EC2 实例相关联。
- AWS Management Console
-
按照《Amazon EC2 用户指南》中的关联弹性 IP 地址中的步骤从 IPAM 池中分配弹性 IP 地址,但请注意以下几点:使用 AWS 管理控制台选项时,您关联弹性 IP 地址所在的 AWS 区域必须与您在步骤 2 中创建池时选择的区域设置选项相匹配。
- Command line
-
使用 associate-address 命令将弹性 IP 地址与实例相关联。您关联弹性 IP 地址所在的 --region
区域必须与您在步骤 2 中创建池时选择的 --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 地址与实例或网络接口相关联。
步骤 5:跟踪和监控池使用情况
从 IPAM 池中分配弹性 IP 地址之后,您可以跟踪和监控 IPAM 池的分配:
- AWS Management Console
-
-
在 IPAM 控制台的分配选项卡中查看 IPAM 池详细信息。从 IPAM 池分配的任何弹性 IP 地址的资源类型均为 EIP。
-
使用公共 IP 洞察功能:
-
在公有 IP 类型下,按 Amazon 拥有的 EIP 进行筛选。这显示了分配给 Amazon 拥有的弹性 IP 地址的公有 IPv4 地址的总数。如果您按此衡量标准进行筛选并滚动到页面底部的公有 IP 地址,则将看到您分配的弹性 IP 地址。
-
在 EIP 使用情况下,按Amazon 拥有的关联的 EIP或 Amazon 拥有的未关联的 EIP 进行筛选。这将显示您在 AWS 账户中分配且将其与 EC2 实例、网络接口或 AWS 资源关联或未关联的弹性 IP 地址总数。如果您按此衡量标准进行筛选并滚动到页面底部的公有 IP 地址,您将会看到有关已筛选资源的详细信息。
-
在 Amazon 拥有的 IPv4 连续 IP 使用情况下,监控一段时间内连续的公有 IPv4 地址使用情况以及 Amazon 拥有的相关的 IPv4 IPAM 池。
-
使用 Amazon CloudWatch 跟踪和监控与 Amazon 提供的已预调配到 IPAM 池的连续公有 IPv4 区块相关的指标。有关特定于连续 IPv4 区块的可用指标,请参阅 IPAM 指标 下方的公有 IP 指标。除查看指标外,您还可以在 Amazon CloudWatch 中创建警报,以便在达到阈值时通知您。使用 Amazon CloudWatch 创建告警和设置通知不在本教程的范围内。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的使用 Amazon CloudWatch 警报。
- Command line
-
使用 get-ipam-pool-allocations 命令查看 IPAM 池分配。从 IPAM 池分配的任何弹性 IP 地址的资源类型均为 eip。
aws ec2 get-ipam-pool-allocations --region us-east-1
--ipam-pool-id ipam-pool-07ccc86aa41bef7ce
响应示例:
{
"IpamPoolAllocations": [
{
"Cidr": "18.97.0.40/32",
"IpamPoolAllocationId": "ipam-pool-alloc-0bd07df786e8148aba2763e2b6c1c44bd",
"ResourceId": "eipalloc-0c9decaa541d89aa9",
"ResourceType": "eip",
"ResourceRegion": "us-east-1",
"ResourceOwner": "320805250157"
}
]
}
-
使用 Amazon CloudWatch 跟踪和监控与 Amazon 提供的已预调配到 IPAM 池的连续公有 IPv4 区块相关的指标。有关特定于连续 IPv4 区块的可用指标,请参阅 IPAM 指标 下方的公有 IP 指标。除查看指标外,您还可以在 Amazon CloudWatch 中创建警报,以便在达到阈值时通知您。使用 Amazon CloudWatch 创建告警和设置通知不在本教程的范围内。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的使用 Amazon CloudWatch 警报。
本教程现已完成。您已经使用 Amazon 提供的连续公有 IPv4 CIDR 块创建 IPAM 池,从池中分配弹性 IP 地址,并了解了如何监控 IPAM 池的分配。继续下一部分以删除您在本教程中创建的资源。
清理
按照本部分中的步骤清除您在本教程中创建的资源。
步骤 1:解除弹性 IP 地址的关联
完成《Amazon EC2 用户指南》中的解除弹性 IP 地址的关联的步骤,以解除弹性 IP 地址的关联。
步骤 2:释放弹性 IP 地址
完成《Amazon EC2 用户指南》中的释放弹性 IP 地址的步骤,从公有 IPv4 池释放弹性 IP 地址。
步骤 3:从 IPAM 池中取消预调配 CIDR
完成 从池中取消预置 CIDR 中的步骤,从 IPAM 池中取消预调配 Amazon 拥有的公有 CIDR。此步骤是删除池所必需的。在此步骤完成之前,您需要为 Amazon 提供的连续 IPv4 块付费。
步骤 4:删除 IPAM 池
完成 删除池 中的步骤以删除 IPAM 池。
步骤 5:删除 IPAM
完成 删除 IPAM 中的步骤以删除 IPAM。
本教程清理已完成。