教學課程:轉移BYOIPIPv4CIDR到 IPAM - Amazon Virtual Private Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

教學課程:轉移BYOIPIPv4CIDR到 IPAM

請按照以下步驟將現有的轉移IPv4CIDR到IPAM。如果您已經IPv4BYOIPCIDR有了 AWS,則可以將其IPAM從公共IPv4池移CIDR至。您無法移動IPv6CIDR到IPAM。

本教學假設您已經 AWS 使用在 Amazon 中攜帶自己的 IP 地址 (BYOIP) 中描述的程序成功引入 IP 位址範圍EC2,現在您想要將該 IP 位址範圍傳輸到IPAM。如果您是第一次使 AWS 用新的 IP 位址,請完成中的步驟教學課程:將您的 IP 位址帶到 IPAM

如果您將公用IPv4集區移轉至IPAM,則不會影響現有配置。根據資源類型IPAM,將公用IPv4集區移轉至之後,您可能可以監視現有配置。如需詳細資訊,請參閱按資源監控CIDR使用情況

注意
  • 本教學課程假設您已完成 創建一個 IPAM 中的步驟。

  • 本教程的每個步驟必須由以下兩個 AWS 帳戶之一完成:

    • IPAM管理員的帳戶。在本教程中,此帳戶將被稱為該IPAM帳戶。

    • 您組織中擁有 BYOIPCIDR. 在本教程中,此帳戶將被稱為所BYOIPCIDR有者帳戶。

步驟 1:建立 AWS CLI 具名的設定檔和IAM角色

若要以單一使用 AWS 者的身分完成此自學課程,您可以使用 AWS CLI 具名的設定檔從一個IAM角色切換到另一個角色。具名設定檔是您在搭配 AWS CLI使用 --profile 選項時所參考的設定和憑證的集合。如需如何為 AWS 帳號建立IAM角色和具名設定檔的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》 AWS CLI中的〈使用IAM角色〉。

為您將在本教學課程中使用的三個 AWS 帳戶中,每個建立一個角色和一個具名的設定檔:

  • 要求身ipam-account為管IPAM理員 AWS 帳戶的設定檔。

  • byoip-owner-account針對您組織中擁有的 AWS 帳戶所呼叫的設定檔BYOIPCIDR。

建立IAM角色和命名設定檔之後,請返回此頁面並前往下一個步驟。在本自學課程的其餘部分中,您會注意到範例 AWS CLI 指令將--profile選項與其中一個具名的設定檔搭配使用,以指示哪個帳戶必須執行命令。

步驟 2:獲取您IPAM的公共範圍 ID

請按照本節中的步驟獲取您IPAM的公共範圍 ID。此步驟應由 ipam-account 帳戶執行。

執行以下命令以取得公有範圍 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-account 帳戶執行。您建立的儲存IPAM池必須是具有與 [區域--locale] 相符的選項的頂層集BYOIPCIDR AWS 區。您只能BYOIP將一個轉移到頂層IPAM集區。

重要

建立集區時,必須包含 --aws-service ec2。您選擇的服 AWS 務決定了可廣CIDR告的服務。目前,唯一的選擇是ec2,這意味著從此集區CIDRs分配的將可廣告用於 Amazon EC2 服務(針對彈性 IP 地址)和 Amazon VPC 服務(與之關CIDRs聯VPCs)。

若要建立傳送的IPv4位址集區,請BYOIPCIDR使用 AWS CLI
  1. 執行下列命令以建立IPAM集區。使用您在上一個步驟中擷取IPAM之公用範圍的識別碼。

    aws ec2 create-ipam-pool --region us-east-1 --profile ipam-account --ipam-scope-id ipam-scope-0087d83896280b594 --description "top-level-pool" --locale us-west-2 --aws-service ec2 --address-family ipv4

    您會在輸出結果中看到 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:使用共享IPAM池 AWS RAM

請按照本節中的步驟使用共享IPAM集區,以 AWS RAM 便其他 AWS 帳戶可以BYOIPIPV4CIDR將現有帳戶轉移到IPAM集區並使用該IPAM集區。此步驟應由 ipam-account 帳戶執行。

若要使用共用IPv4位址集區 AWS CLI
  1. 檢視IPAM集區的可用 AWS RAM 權限。您需ARNs要兩者都完成本節中的步驟。

    aws ram list-permissions --region us-east-1 --profile ipam-account --resource-type ec2:IpamPool
    { "permissions": [ { "arn": "arn:aws:ram::aws:permission/AWSRAMDefaultPermissionsIpamPool", "version": "1", "defaultVersion": true, "name": "AWSRAMDefaultPermissionsIpamPool", "resourceType": "ec2:IpamPool", "status": "ATTACHABLE", "creationTime": "2022-06-30T13:04:29.335000-07:00", "lastUpdatedTime": "2022-06-30T13:04:29.335000-07:00", "isResourceTypeDefault": true }, { "arn": "arn:aws:ram::aws:permission/AWSRAMPermissionIpamPoolByoipCidrImport", "version": "1", "defaultVersion": true, "name": "AWSRAMPermissionIpamPoolByoipCidrImport", "resourceType": "ec2:IpamPool", "status": "ATTACHABLE", "creationTime": "2022-06-30T13:03:55.032000-07:00", "lastUpdatedTime": "2022-06-30T13:03:55.032000-07:00", "isResourceTypeDefault": false } ] }
  2. 建立資源共用以啟用要匯入BYOIPCIDRs的byoip-owner-account帳號IPAM。的值--resource-arns是您在上ARN一節中建立的IPAM集區的值。的值--principals是BYOIPCIDR擁有者帳戶的帳號 ID。的值--permission-arnsAWSRAMPermissionIpamPoolByoipCidrImport權限ARN的。

    aws ram create-resource-share --region us-east-1 --profile ipam-account --name PoolShare2 --resource-arns arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035 --principals 111122223333 --permission-arns arn:aws:ram::aws:permission/AWSRAMPermissionIpamPoolByoipCidrImport
    { "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/7993758c-a4ea-43ad-be12-b3abaffe361a", "name": "PoolShare2", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:32:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:32:25.536000-07:00" } }
  3. (選擇性) 如果您要允許byoip-owner-account帳戶在傳輸完成後將IPAM集區的 IP 位址CIDRS配置給公用IPv4集區,請複製 ARN for AWSRAMDefaultPermissionsIpamPool 並建立第二個資源共用。的值--resource-arns是您在上ARN一節中建立的IPAM集區的值。的值--principals是BYOIPCIDR擁有者帳戶的帳號 ID。的值--permission-arnsAWSRAMDefaultPermissionsIpamPool權限ARN的。

    aws ram create-resource-share --region us-east-1 --profile ipam-account --name PoolShare1 --resource-arns arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035 --principals 111122223333 --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionsIpamPool
    { "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f", "name": "PoolShare1", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:31:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:31:25.536000-07:00" } }

在中建立資源共用時RAM, byoip-owner-account 帳號現在可以移CIDRs至IPAM。

步驟 5:BYOIPIPV4CIDR將現有的轉移到 IPAM

請按照本節中的步驟將現有的轉移BYOIPIPV4CIDR到IPAM。此步驟應由 byoip-owner-account 帳戶執行。

重要

引入位IPv4址範圍後 AWS,您就可以使用範圍內的所有 IP 位址,包括第一個位址 (網路位址) 和最後一個位址 (廣播位址)。

若要傳送BYOIPCIDR到IPAM,BYOIPCIDR擁有者在其IAM原則中必須具有下列權限:

  • ec2:MoveByoipCidrToIpam

  • ec2:ImportByoipCidrToIpam

注意

您可以在此步驟中使 AWS CLI 用 AWS Management Console 或。

AWS Management Console
要將 a 轉移BYOIPCIDR到IPAM池中:
  1. https://console.aws.amazon.com/ipam/作為byoip-owner-account帳戶打開IPAM控制台。

  2. 在導覽窗格中選擇 Pools (集區)。

  3. 選擇此教學課程中所建立的最上層集區並共用之。

  4. 選擇「動作」 >「移轉 BYOIP CIDR

  5. 選擇「轉移」BYOIP CIDR。

  6. 選擇您的 BYOIPCIDR.

  7. 選擇 Provision (佈建)。

Command line

使用以下 AWS CLI 命令BYOIPCIDR將 a 傳輸到IPAM池中使用 AWS CLI:

  1. 執行下列命令以傳送CIDR. 請確定--region值為的「 AWS 區域」BYOIP CIDR。

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

    在輸出中,您將看到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 --profile byoip-owner-account --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --ipam-pool-owner 123456789012 --cidr 130.137.249.0/24

    下例的輸出結果即顯示狀態。

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

步驟 6:查看CIDR中的 IPAM

請按照本節中的步驟檢視CIDR中的內容IPAM。此步驟應由 ipam-account 帳戶執行。

使用檢視在IPAM集區BYOIPCIDR中移轉的步驟 AWS CLI
  • 執行下列命令以檢視中管理的配置IPAM。請確定--region值為的「 AWS 區域」BYOIP CIDR。

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

    輸出顯示中的配置IPAM。

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

步驟 7:清除

請依照本節中的步驟移除您在本教學課程中建立的資源。此步驟應由 ipam-account 帳戶執行。

使用清理本自學課程中建立的資源的步驟 AWS CLI
  1. 若要刪除IPAM集區共用資源,請執行下列命令以取得第一個資源共用ARN:

    aws ram get-resource-shares --region us-east-1 --profile ipam-account --name PoolShare1 --resource-owner SELF
    { "resourceShares": [ { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f", "name": "PoolShare1", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:31:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:31:25.536000-07:00", "featureSet": "STANDARD" } ] }
  2. 複製資源共用ARN並使用它來刪除IPAM集區資源共用。

    aws ram delete-resource-share --region us-east-1 --profile ipam-account --resource-share-arn arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f
    { "returnValue": true }
  3. 如果您在中建立了其他資源共用步驟 4:使用共享IPAM池 AWS RAM,請重複前兩個步驟以取得第二個資源共ARN用,PoolShare2並刪除第二個資源共用。

  4. 執行下列命令以取得的配置 ID BYOIP CIDR。請確定--region值與的 [ AWS 區域] 相符BYOIPCIDR。

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

    輸出顯示中的配置IPAM。

    { "IpamPoolAllocations": [ { "Cidr": "130.137.249.0/24", "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46", "ResourceId": "ipv4pool-ec2-0019eed22a684e0b3", "ResourceType": "ec2-public-ipv4-pool", "ResourceOwner": "111122223333" } ] }
  5. 從公用IPv4集區釋放CIDR中的最後一個 IP 位址。輸入網路遮罩為 /32 的 IP 地址。您必須針對CIDR範圍中的每個 IP 位址重新執行此命令。如果您CIDR是/24,則必須執行此命令,以取消佈建. /24 CIDR 當您執行本節中的命令時,的值--region必須符合IPAM.

    此步驟必須由 byoip-owner-account 帳戶完成。

    aws ec2 deprovision-public-ipv4-pool-cidr --region us-east-1 --profile byoip-owner-account --pool-id ipv4pool-ec2-0019eed22a684e0b3 --cidr 130.137.249.255/32

    在輸出中,您會看到已取消佈建CIDR的。

    { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "DeprovisionedAddresses": [ "130.137.249.255" ] }
  6. BYOIPCIDRs再次檢視您的,並確定沒有其他佈建的位址。當您執行本節中的命令時,的值--region必須符合IPAM.

    此步驟必須由 byoip-owner-account 帳戶完成。

    aws ec2 describe-public-ipv4-pools --region us-east-1 --profile byoip-owner-account

    在輸出中,您會在公用IPv4集區中看到 IP 位址計數。

    { "PublicIpv4Pools": [ { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "Description": "", "PoolAddressRanges": [], "TotalAddressCount": 0, "TotalAvailableAddressCount": 0, "NetworkBorderGroup": "us-east-1", "Tags": [] } ] }
  7. 執行下列命令以刪除最上層集區。

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

    您可在輸出結果中看到刪除狀態。

    { "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" } }