

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

# 教學課程：將 BYOIP IPv4 CIDR 傳輸至 IPAM
<a name="tutorials-byoip-ipam-transfer-ipv4"></a>

請依照下列步驟將現有的 IPv4 CIDR 傳輸至 IPAM。如果您已使用 IPv4 BYOIP CIDR AWS，您可以從公有 IPv4 集區將 CIDR 移至 IPAM。您無法將 IPv6 CIDR 移動至 IPAM。

本教學課程假設您已 AWS 使用 [Amazon EC2 中自有 IP 地址 (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) 所述的程序，成功將 IP 地址範圍帶到 ，現在您想要將該 IP 地址範圍轉移到 IPAM。如果您是 AWS 第一次將新的 IP 地址帶到 ，請完成 中的步驟[教學課程：將 IP 地址帶入 IPAM](tutorials-byoip-ipam.md)。

如果您是將公用 IPv4 集區轉移至 IPAM，則對現有配置不會有影響。將公用 IPv4 集區轉移至 IPAM 後，視資源類型而定，您或許能監視現有的配置。如需詳細資訊，請參閱[依資源監控 CIDR 使用情況](monitor-cidr-compliance-ipam.md)。

**注意**  
本教學課程假設您已完成 [建立 IPAM](create-ipam.md) 中的步驟。
本教學課程的每個步驟必須由兩個 AWS 帳戶之一完成：  
IPAM 管理員的帳戶。在本教學課程中，此帳戶將稱為 IPAM 帳戶。
您組織中擁有 BYOIP CIDR 的帳戶。在本教學課程中，此帳戶將稱為 BYOIP CIDR 擁有者帳戶。

**Topics**
+ [步驟 1：建立 AWS CLI 具名設定檔和 IAM 角色](#tutorials-byoip-ipam-ipv4-console-1)
+ [步驟 2：取得您 IPAM 的公有範圍 ID](#tutorials-byoip-ipam-transfer-ipv4-2)
+ [步驟 3：建立 IPAM 集區](#tutorials-byoip-ipam-transfer-ipv4-3)
+ [步驟 4：使用 共用 IPAM 集區 AWS RAM](#tutorials-byoip-ipam-transfer-ipv4-4)
+ [步驟 5：將現有的 BYOIP IPV4 CIDR 傳輸至 IPAM](#tutorials-byoip-ipam-transfer-ipv4-5)
+ [步驟 6：檢視 IPAM 中的 CIDR](#tutorials-byoip-ipam-transfer-ipv4-6)
+ [步驟 7：清除](#tutorials-byoip-ipam-transfer-ipv4-7)

## 步驟 1：建立 AWS CLI 具名設定檔和 IAM 角色
<a name="tutorials-byoip-ipam-ipv4-console-1"></a>

若要以單一 AWS 使用者身分完成本教學課程，您可以使用 AWS CLI 具名設定檔從一個 IAM 角色切換到另一個角色。[具名設定檔](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles)是您在搭配 AWS CLI使用 `--profile` 選項時所參考的設定和憑證的集合。如需如何為 AWS 帳戶建立 IAM 角色和具名設定檔的詳細資訊，請參閱[《》中的使用 IAM 角色 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)。

為您將在本教學課程中使用的三個 AWS 帳戶各建立一個角色和一個具名設定檔：
+ `ipam-account` 為 IPAM 管理員 AWS 帳戶呼叫的設定檔。
+ 您組織中擁有 BYOIP CIDR `byoip-owner-account` 之 AWS 帳戶的 設定檔。

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

## 步驟 2：取得您 IPAM 的公有範圍 ID
<a name="tutorials-byoip-ipam-transfer-ipv4-2"></a>

請依照本節中的步驟取得 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 集區
<a name="tutorials-byoip-ipam-transfer-ipv4-3"></a>

請依照本節中的步驟來建立 IPAM 集區。此步驟應由 **ipam-account** 帳戶執行。您建立的 IPAM 集區需為最上層集區，其 `--locale` 選項需與 BYOIP CIDR AWS 區域相符。只能將 BYOIP 傳輸至最上層 IPAM 集區。

**重要**  
建立集區時，必須包含 `--aws-service ec2`。您選取的服務會決定 CIDR 可公告 AWS 的服務。目前，唯一的選項是 `ec2`，這意味著從此集區配置的 CIDR 可針對 Amazon EC2 服務 (適用於彈性 IP 地址) 和 Amazon VPC 服務 (適用於與 VPC 關聯的 CIDR) 進行公告。

**使用 為傳輸的 BYOIP CIDR 建立 IPv4 地址集區 AWS CLI**

1. 執行下列命令以建立 IPAM 集區。使用您在上一個步驟中取得的 IPAM 公有範圍 ID。

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

1. 執行下列命令，直到輸出結果顯示 `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
<a name="tutorials-byoip-ipam-transfer-ipv4-4"></a>

請依照本節中的步驟使用 共用 IPAM 集區， AWS RAM 讓另一個 AWS 帳戶可以將現有的 BYOIP IPV4 CIDR 轉移到 IPAM 集區，並使用 IPAM 集區。此步驟應由 **ipam-account** 帳戶執行。

**使用 共用 IPv4 地址集區 AWS CLI**

1. 檢視 IPAM 集區的可用 AWS RAM 許可。您需要使用兩個 ARN，才能完成本節中的步驟。

   ```
   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
           }
       ]
   }
   ```

1. 建立資源共用，以讓 **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 --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"                                                        
           }                                                                                                                
   }
   ```

1. (選用) 如果您要允許 **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 --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 帳戶現在可將 CIDR 移動至 IPAM。

## 步驟 5：將現有的 BYOIP IPV4 CIDR 傳輸至 IPAM
<a name="tutorials-byoip-ipam-transfer-ipv4-5"></a>

請依照本節中的步驟將現有的 BYOIP IPV4 CIDR 傳輸至 IPAM。此步驟應由 **byoip-owner-account** 帳戶執行。

**重要**  
將 IPv4 地址範圍帶入其中後 AWS，您可以使用範圍內的所有 IP 地址，包括第一個地址 （網路地址） 和最後一個地址 （廣播地址）。

若要將 BYOIP CIDR 傳輸至 IPAM，BYOIP CIDR 擁有者的 IAM 政策需具有下列許可：
+ `ec2:MoveByoipCidrToIpam`
+ `ec2:ImportByoipCidrToIpam`

**注意**  
您可以 AWS CLI 針對此步驟使用 AWS 管理主控台 或 。

------
#### [ AWS Management Console ]

**若要將 BYOIP CIDR 傳輸至 IPAM 集區：**

1. 請以 **byoip-owner-account** 帳戶的身分在 [https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/) 開啟 IPAM 主控台。

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

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

1. 選擇**動作** >**傳輸 BYOIP CIDR**。

1. 選擇**傳輸 BYOIP CIDR**。

1. 選擇您的 BYOIP CIDR。

1. 選擇 **Provision** (佈建)。

------
#### [ Command line ]

使用下列 AWS CLI 命令，使用 將 BYOIP CIDR 傳輸至 IPAM 集區 AWS CLI：

1. 執行下列命令以傳輸 CIDR。請確定該`--region`值是 BYOIP CIDR AWS 的區域。

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

1. 確保 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：檢視 IPAM 中的 CIDR
<a name="tutorials-byoip-ipam-transfer-ipv4-6"></a>

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

**使用 在 IPAM 集區中檢視傳輸的 BYOIP CIDR AWS CLI**
+ 執行下列命令以檢視透過 IPAM 進行管理的配置。請確定該`--region`值是 BYOIP CIDR AWS 的區域。

  ```
  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：清除
<a name="tutorials-byoip-ipam-transfer-ipv4-7"></a>

請依照本節中的步驟移除您在本教學課程中建立的資源。此步驟應由 **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"
           }
       ]
   }
   ```

1. 複製資源共用 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
   }
   ```

1. 如果您在 [步驟 4：使用 共用 IPAM 集區 AWS RAM](#tutorials-byoip-ipam-transfer-ipv4-4) 中已建立其他資源共用，請重複前兩個步驟，以取得 `PoolShare2` 的第二個資源共用 ARN，並刪除第二個資源共用。

1. 執行下列命令以取得 BYOIP CIDR 的配置 ID。確保 `--region`值符合 BYOIP CIDR AWS 的區域。

   ```
   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"
           }
       ]
   }
   ```

1. 釋出公有 IPv4 集區的 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.0/24
   ```

1. 再次檢視您的 BYOIP CIDR，並確保其中不再有已佈建的地址。當您執行本節中的命令時，`--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": []
           }
       ]
   }
   ```

1. 執行下列命令以刪除最上層集區。

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