本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:將 BYOIP IPv4 CIDR 傳輸至 IPAM
請依照下列步驟將現有的 IPv4 CIDR 傳輸至 IPAM。如果您已使用 IPv4 BYOIP CIDR AWS,您可以將 CIDR 從公用 IPv4 集區移至 IPAM。您無法將 IPv6 CIDR 移動至 IPAM。
本教學假設您已經使用在 Amazon EC2 中 AWS 使用自己的 IP 地址 (BYOIP) 中所述的程序成功引入 IP 位址範圍,現在您想要將該 IP 位址範圍傳輸到 IPAM。如果您是第一次使 AWS 用新的 IP 位址,請完成中的步驟教學課程:將 IP 地址帶入 IPAM。
如果您是將公用 IPv4 集區轉移至 IPAM,則對現有配置不會有影響。將公用 IPv4 集區轉移至 IPAM 後,視資源類型而定,您或許能監視現有的配置。如需詳細資訊,請參閱 依資源監控 CIDR 使用情況。
重要
-
本教學課程假設您已完成 建立 IPAM 中的步驟。
-
本教程的每個步驟必須由以下兩個 AWS 帳戶之一完成:
-
IPAM 管理員的帳戶。在本教學課程中,此帳戶將稱為 IPAM 帳戶。
-
您組織中擁有 BYOIP CIDR 的帳戶。在本教學課程中,此帳戶將稱為 BYOIP CIDR 擁有者帳戶。
-
目錄
步驟 1:建立 AWS CLI 命名的設定檔和 IAM 角色
若要以單一使用 AWS 者的身分完成本教學課程,您可以使用 AWS CLI 具名設定檔從一個 IAM 角色切換到另一個 IAM 角色。具名設定檔是您在搭配 AWS CLI使用 --profile
選項時所參考的設定和憑證的集合。有關如何為 AWS 帳戶建立 IAM 角色和具名設定檔的詳細資訊,請參閱 AWS Identity and Access Management 使用者指南中的 AWS CLI 中的使用 IAM 角色。
為您將在本教學課程中使用的三個 AWS 帳戶中,每個建立一個角色和一個具名的設定檔:
要
ipam-account
求做為 IPAM 管理員之 AWS 帳戶的設定檔。byoip-owner-account
針對擁有 BYOIP CIDR 之組織中 AWS 帳戶所呼叫的設定檔。
建立 IAM 角色和具名設定檔後,請返回此頁面並繼續下一個步驟。在本自學課程的其餘部分中,您會注意到範例 AWS CLI 指令將--profile
選項與其中一個具名的設定檔搭配使用,以指示哪個帳戶必須執行命令。
步驟 2:取得您 IPAM 的公有範圍 ID
請依照本節中的步驟取得 IPAM 的公有範圍 ID。此步驟應由 ipam-account
帳戶執行。
執行以下命令以取得公有範圍 ID。
aws ec2 describe-ipams --region
us-east-1
--profileipam-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
選項需與 BYOIP CIDR AWS
區域相符。只能將 BYOIP 傳輸至最上層 IPAM 集區。
重要
建立集區時,必須包含 --aws-service ec2
。您選擇的服務決定了 CIDR 將廣告的 AWS 服務。目前,唯一的選項是 ec2
,這意味著從此集區配置的 CIDR 可針對 Amazon EC2 服務 (適用於彈性 IP 地址) 和 Amazon VPC 服務 (適用於與 VPC 關聯的 CIDR) 進行公告。
使用 AWS CLI為傳輸的 BYOIP CIDR 建立 IPv4 地址集區
-
執行下列命令以建立 IPAM 集區。使用您在上一個步驟中取得的 IPAM 公有範圍 ID。
aws ec2 create-ipam-pool --region
us-east-1
--profileipam-account
--ipam-scope-idipam-scope-0087d83896280b594
--description"top-level-pool"
--localeus-west-2
--aws-service ec2 --address-familyipv4
您會在輸出結果中看到
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" } }
-
執行下列命令,直到輸出結果顯示
create-complete
的狀態為止。aws ec2 describe-ipam-pools --region
us-east-1
--profileipam-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 帳戶可以將現有的 BYOIP IPV4 CIDR 轉移到 IPAM 集區,並使用 IPAM 集區。此步驟應由 ipam-account
帳戶執行。
使用 AWS CLI共用 IPv4 地址集區
檢視 IPAM 集區的可用 AWS RAM 權限。您需要使用兩個 ARN,才能完成本節中的步驟。
aws ram list-permissions --region
us-east-1
--profileipam-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 } ] }
建立資源共用,以讓
byoip-owner-account
帳戶將 BYOIP CIDR 匯入 IPAM。--resource-arns
值為您在上一節建立之 IPAM 集區的 ARN。--principals
值為 BYOIP CIDR 擁有者帳戶的帳戶 ID。--permission-arns
值為AWSRAMPermissionIpamPoolByoipCidrImport
許可的 ARN。aws ram create-resource-share --region
us-east-1
--profileipam-account
--namePoolShare2
--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035
--principals111122223333
--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" } }
(選用) 如果您要允許
byoip-owner-account
帳戶在傳輸完成後,將 IPAM 集區的 IP 地址 CIDRS 配置給公有 IPv4 集區,請複製AWSRAMDefaultPermissionsIpamPool
的 ARN,並建立第二個資源共用。--resource-arns
值為您在上一節建立之 IPAM 集區的 ARN。--principals
值為 BYOIP CIDR 擁有者帳戶的帳戶 ID。--permission-arns
值為AWSRAMDefaultPermissionsIpamPool
許可的 ARN。aws ram create-resource-share --region
us-east-1
--profileipam-account
--namePoolShare1
--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035
--principals111122223333
--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 帳號現在可以將 CIDR 移至 IPAM。
步驟 5:將現有的 BYOIP IPV4 CIDR 傳輸至 IPAM
請依照本節中的步驟將現有的 BYOIP IPV4 CIDR 傳輸至 IPAM。此步驟應由 byoip-owner-account
帳戶執行。
重要
將 IPv4 位址範圍帶到之後 AWS,您就可以使用範圍內的所有 IP 位址,包括第一個位址 (網路位址) 和最後一個位址 (廣播位址)。
若要將 BYOIP CIDR 傳輸至 IPAM,BYOIP CIDR 擁有者的 IAM 政策需具有下列許可權限:
-
ec2:MoveByoipCidrToIpam
-
ec2:ImportByoipCidrToIpam
注意
您可以在此步驟中使 AWS CLI 用 AWS Management Console 或。
步驟 6:檢視 IPAM 中的 CIDR
請依照本節中的步驟檢視 IPAM 中的 CIDR。此步驟應由 ipam-account
帳戶執行。
使用以檢視 IPAM 集區中傳輸的 BYOIP CIDR AWS CLI
-
執行下列命令以檢視透過 IPAM 進行管理的配置。請確定該
--region
值為 BYOIP CIDR 的「 AWS 區域」。aws ec2 get-ipam-pool-allocations --region
us-west-2
--profileipam-account
--ipam-pool-idipam-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
若要刪除 IPAM 集區共用資源,請執行下列命令,以取得第一個資源共用 ARN:
aws ram get-resource-shares --region
us-east-1
--profileipam-account
--namePoolShare1
--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" } ] }
複製資源共用 ARN,並使用其刪除 IPAM 集區資源共用。
aws ram delete-resource-share --region
us-east-1
--profileipam-account
--resource-share-arnarn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f
{ "returnValue": true }
-
如果您在 步驟 4:使用分享 IPAM 集區 AWS RAM 中已建立其他資源共用,請重複前兩個步驟,以取得
PoolShare2
的第二個資源共用 ARN,並刪除第二個資源共用。 -
執行下列命令以取得 BYOIP CIDR 的配置 ID。請確定此
--region
值符合 BYOIP CIDR 的「 AWS 區域」。aws ec2 get-ipam-pool-allocations --region
us-west-2
--profileipam-account
--ipam-pool-idipam-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" } ] }
-
釋出公有 IPv4 集區之 CIDR 中的最後一個 IP 地址。輸入網路遮罩為 /32 的 IP 地址。必須針對 CIDR 範圍中的每個 IP 地址重新執行此命令。若 CIDR 是
/24
,則必須執行此命令才能解除佈建/24
CIDR 中的全部 256 個 IP 地址。當您執行本節中的命令時,--region
的值必須與 IPAM 的區域相符。此步驟必須由
byoip-owner-account
帳戶完成。aws ec2 deprovision-public-ipv4-pool-cidr --region
us-east-1
--profilebyoip-owner-account
--pool-idipv4pool-ec2-0019eed22a684e0b3
--cidr130.137.249.255/32
輸出結果會顯示已解除佈建的 CIDR。
{ "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "DeprovisionedAddresses": [ "130.137.249.255" ] }
-
再次檢視您的 BYOIP CIDR,並確保其中不再有已佈建的地址。當您執行本節中的命令時,
--region
的值必須與 IPAM 的區域相符。此步驟必須由
byoip-owner-account
帳戶完成。aws ec2 describe-public-ipv4-pools --region
us-east-1
--profilebyoip-owner-account
您會在輸出結果的公有 IPv4 集區中看到 IP 地址計數。
{ "PublicIpv4Pools": [ { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "Description": "", "PoolAddressRanges": [], "TotalAddressCount": 0, "TotalAvailableAddressCount": 0, "NetworkBorderGroup": "us-east-1", "Tags": [] } ] }
-
執行下列命令以刪除最上層集區。
aws ec2 delete-ipam-pool --region
us-east-1
--profileipam-account
--ipam-pool-idipam-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" } }