本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:將 BYOIP IPv4 CIDR 傳輸至 IPAM
請依照下列步驟將現有的 IPv4 CIDR 傳輸至 IPAM。如果您已使用 IPv4 BYOIP CIDR AWS,您可以從公有 IPv4 集區將 CIDR 移至 IPAM。您無法將 IPv6 CIDR 移動至 IPAM。
本教學課程假設您已 AWS 使用 Amazon EC2 中自有 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 角色切換到另一個角色。具名設定檔是您在搭配 AWS CLI使用 --profile 選項時所參考的設定和憑證的集合。如需如何為 AWS 帳戶建立 IAM 角色和具名設定檔的詳細資訊,請參閱《》中的使用 IAM 角色 AWS CLI。
為您將在本教學課程中使用的三個 AWS 帳戶各建立一個角色和一個具名設定檔:
ipam-account為 IPAM 管理員 AWS 帳戶呼叫的設定檔。您組織中擁有 BYOIP CIDR
byoip-owner-account之 AWS 帳戶的 設定檔。
建立 IAM 角色和具名設定檔後,請返回此頁面並繼續下一個步驟。在本教學課程的其餘部分,您會注意到範例 AWS CLI 命令使用 --profile選項搭配其中一個具名設定檔,以指出哪個帳戶必須執行 命令。
步驟 2:取得您 IPAM 的公有範圍 ID
請依照本節中的步驟取得 IPAM 的公有範圍 ID。此步驟應由 ipam-account 帳戶執行。
執行以下命令以取得公有範圍 ID。
aws ec2 describe-ipams --regionus-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 --regionus-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 --regionus-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 --regionus-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 --regionus-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 --regionus-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 --regionus-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 --regionus-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 --regionus-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 --regionus-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。當您執行本節中的命令時,
--region的值必須與 IPAM 的區域相符。此步驟必須由
byoip-owner-account帳戶完成。aws ec2 deprovision-public-ipv4-pool-cidr --regionus-east-1--profilebyoip-owner-account--pool-idipv4pool-ec2-0019eed22a684e0b3--cidr130.137.249.0/24 -
再次檢視您的 BYOIP CIDR,並確保其中不再有已佈建的地址。當您執行本節中的命令時,
--region的值必須與 IPAM 的區域相符。此步驟必須由
byoip-owner-account帳戶完成。aws ec2 describe-public-ipv4-pools --regionus-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 --regionus-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" } }