教程:将现有的 BYOIP IPv4 CIDR 传输到 IPAM - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

教程:将现有的 BYOIP IPv4 CIDR 传输到 IPAM

按照以下步骤将现有的 IPv4 CIDR 传输到 IPAM。如果您已拥有 Amazon 的 IPv4 BYOIP CIDR,则可以将 CIDR 从公有 IPv4 池移动到 IPAM。您不能将 IPv6 CIDR 移动到 IPAM。如果您是第一次将新 IP 地址引入 Amazon,请完成 教程:BYOIP 地址 CIDR 到 IPAM 中的步骤。

重要
  • 本教程假设您已完成 创建 IPAM 中的步骤。

  • 本教程的每个步骤都必须由以下两个 Amazon 账户之一完成:

    • IPAM 管理员的账户。在本教程中,此账户将被称为 IPAM 账户。

    • 您所在企业中拥有 BYOIP CIDR 的账户。在本教程中,此账户将被称为 BYOIP CIDR 拥有者账户。

注意

IPAM 账户必须通过 Amazon RAM 与 BYOIP CIDR 所有者共享池,并包括关于共享资源的 AWSRAMPermissionIpamPoolByoipCidrImport 策略。有关更多信息,请参阅 使用 Amazon RAM 共享 IPAM 池。要将 BYOIP CIDR 传输到 IPAM,BYOIP CIDR 所有者必须在其 IAM 策略中拥有以下权限:

  • ec2:MoveByoipCidrToIpam

  • ec2:ImportByoipCidrToIpam

步骤 1:创建 Amazon CLI 命名配置文件

要以单个 Amazon 用户的身份完成本教程,可以使用 Amazon CLI 命名配置文件从一个 Amazon 账户切换到另一个。命名配置文件是 IAM 访问密钥 ID 和秘密访问密钥的集合,存储在本地,然后在使用 Amazon CLI 时使用 --profile 选项。有关如何为 Amazon 账户创建或检索 IAM 访问密钥的更多信息,请参阅 Amazon Identity and Access Management 用户指南中的管理 IAM 用户的访问密钥

完成 Amazon 命令行界面用户指南创建命名配置文件的步骤,为本教程中使用的各个 Amazon 账户分别创建命名配置文件:

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

  • 为您所在企业中拥有 BYOIP CIDR 的 Amazon 账户创建名为 byoip-owner-account 的配置文件。

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

步骤 2:获取 IPAM 的公有范围 ID

请按照本部分中的步骤获取 IPAM 的公有范围 ID。此步骤应该由 IPAM 账户执行。

运行以下命令以获取您的公有范围 ID。

aws ec2 describe-ipams --region us-east-1 --profile ipam-account

在输出中,您将看到自己的公有范围 ID。记下 PublicDefaultScopeId 的值。您在下一个步骤中需要使用此值。

{ "Ipams": [ { "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 池

按照本部分中的步骤创建 IPAM 池。此步骤应该由 IPAM 账户执行。您创建的 IPAM 池必须是 --locale 选项与 BYOIP CIDR Amazon区域匹配的顶级池,且该池必须使用 --aws-service ec2 选项创建。您只能将 BYOIP 传输到顶级 IPAM 池。

要使用 Amazon CLI 为传输的 BYOIP CIDR 创建 IPv4 地址池

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

    aws ec2 create-ipam-pool --region us-east-1 --ipam-scope-id ipam-scope-0087d83896280b594 --description "top-level-pool" --locale us-west-2 --aws-service ec2 --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": "us-west-2", "PoolDepth": 1, "State": "create-in-progress", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [], "AwsService": "ec2" } }
  2. 运行以下命令,直到您在输出中看到 create-complete 的状态。

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

    下面的示例输出显示池的状态。在下一步骤中,您需要用到 OwnerId

    { "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": "us-west-2", "PoolDepth": 1, "State": "create-complete", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [], "AwsService": "ec2" } ] }

步骤 4:将现有的 BYOIP IPV4 CIDR 传输到 IPAM

按照本部分中的步骤将现有的 BYOIP IPV4 CIDR 传输到 IPAM。此步骤应该由 BYOIP CIDR 所有者账户执行。

要使用 Amazon CLI 将 BYOIP CIDR 传输到 IPAM 池

  1. 请运行以下命令以传输 CIDR。确保 --region 值是 BYOIP CIDR 的 Amazon 区域。

    aws ec2 move-byoip-cidr-to-ipam --region us-west-2 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --ipam-pool-owner 123456789012 --cidr 130.137.249.0/24 --profile byoip-owner-account

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

    { "ByoipCidr": { "Cidr": "130.137.249.0/24", "State": "pending-transfer" } }
  2. 确保 CIDR 已被传输。运行以下命令,直到您在输出中看到 complete-transfer 的状态。

    aws ec2 move-byoip-cidr-to-ipam --region us-west-2 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --ipam-pool-owner 123456789012 --cidr 130.137.249.0/24 --profile byoip-owner-account

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

    { "ByoipCidr": { "Cidr": "130.137.249.0/24", "State": "complete-transfer" } }

步骤 5:在 IPAM 中查看 CIDR

请按照本部分中的步骤查看 IPAM 中的 CIDR。此步骤应该由 IPAM 账户执行。

要使用 Amazon CLI 在 IPAM 池中查看传输的 BYOIP CIDR

  • 运行以下命令以查看 IPAM 中管理的分配。确保 --region 值是 BYOIP CIDR 的 Amazon 区域。

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

    输出将显示 IPAM 中的分配。

    { "IpamPoolAllocations": [ { "Cidr": "130.137.249.0/24", "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46", "ResourceId": "ipv4pool-ec2-0019eed22a684e0b3", "ResourceType": "ec2-public-ipv4-pool", "ResourceOwner": "470889052924" } ] }

步骤 6:清除

按照本部分中的步骤删除您在本教程中创建的资源。此步骤应该由 IPAM 账户执行。

要使用 Amazon CLI 清除本教程中创建的资源

  1. 运行以下命令以获取 BYOIP CIDR 的分配 ID。确保 --region 值与 BYOIP CIDR 的 Amazon 区域匹配。

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

    输出将显示 IPAM 中的分配。

    { "IpamPoolAllocations": [ { "Cidr": "130.137.249.0/24", "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46", "ResourceId": "ipv4pool-ec2-0019eed22a684e0b3", "ResourceType": "ec2-public-ipv4-pool", "ResourceOwner": "470889052924" } ] }
  2. 运行以下命令以取消分配 BYOIP CIDR。IPAM 可能需要一些时间才能发现 VPC 已被删除并删除此分配。确保 --region 值是 BYOIP CIDR 的 Amazon 区域。

    aws ec2 release-ipam-pool-allocation --region us-west-2 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --cidr 130.137.249.0/24 --ipam-pool-allocation-id ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46 --profile ipam-account

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

    { "IpamPoolAllocations": [] }
  3. 运行以下命令以删除顶级池。

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

    在输出中,您可以看到 delete(删除)状态。

    { "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", "AwsService": "ec2" } }