

# 자습서: IPAM으로 BYOIP IPv4 CIDR 전송
<a name="tutorials-byoip-ipam-transfer-ipv4"></a>

다음 단계에 따라 기존 IPv4 CIDR을 IPAM으로 전송합니다. AWS가 포함된 IPv4 BYOIP CIDR이 이미 있는 경우 CIDR을 퍼블릭 IPv4 풀에서 IPAM으로 이동할 수 있습니다. IPv6 CIDR을 IPAM으로 이동할 수 없습니다.

이 자습서에서는 [Bring your own IP addresses (BYOIP) in Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)에 설명된 프로세스를 사용하여 IP 주소 범위를 AWS로 이미 성공적으로 가져왔고 이제 해당 IP 주소 범위를 IPAM으로 전송하려고 한다고 가정합니다. 새 IP 주소를 처음으로 AWS로 가져오고 있는 중인 경우 [자습서: IPAM으로 IP 주소 가져오기](tutorials-byoip-ipam.md)의 단계를 완료하세요.

퍼블릭 IPv4 풀을 IPAM으로 전송하는 경우 기존 할당에는 영향을 미치지 않습니다. 퍼블릭 IPv4 풀을 IPAM으로 전송한 후에는 리소스 유형에 따라 기존 할당을 모니터링할 수 있습니다. 자세한 내용은 [리소스별 CIDR 사용량 모니터링](monitor-cidr-compliance-ipam.md) 섹션을 참조하세요.

**참고**  
이 자습서에서는 [IPAM 생성](create-ipam.md)의 단계를 이미 수행한 것으로 가정합니다.
이 자습서의 각 단계는 다음 2개의 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단계: AWS RAM을 사용하여 IPAM 풀 공유](#tutorials-byoip-ipam-transfer-ipv4-4)
+ [5단계: IPAM으로 기존 BYOIP IPv4 CIDR 전송](#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 역할 및 명명된 프로파일 생성 방법에 대한 자세한 내용은 [AWS CLI에서 IAM 역할 사용](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)을 참조하세요.

이 자습서에서 사용할 세 AWS 계정 각각에 대해 역할 하나와 명명 프로필 하나를 만듭니다:
+ IPAM 관리자인 AWS 계정에 대한 `ipam-account`라는 프로파일
+ BYOIP CIDR을 소유하는 조직의 AWS 계정에 대한 `byoip-owner-account`라는 프로파일

IAM 역할 및 명명 프로파일을 생성한 후 이 페이지로 돌아와서 다음 단계로 이동합니다. 이 자습서의 나머지 부분에서 샘플 AWS CLI 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 풀은 BYOIP CIDR AWS 리전과 일치하는 `--locale` 옵션이 포함된 최상위 풀이어야 합니다. BYOIP는 최상위 IPAM 풀로만 전송할 수 있습니다.

**중요**  
풀을 생성하는 경우 `--aws-service ec2`을(를) 포함해야 합니다. 선택한 서비스에 따라 CIDR이 알릴 AWS 서비스가 결정됩니다. 현재, 유일한 옵션은 `ec2`입니다. 즉, 이 풀에서 할당된 CIDR은 Amazon EC2 서비스(탄력적 IP 주소용) 및 Amazon VPC 서비스(VPC에 연결된 CIDR용)에 대해 알릴 수 있음을 의미합니다.

**AWS CLI를 사용하여 전송된 BYOIP CIDR에 대한 IPv4 주소 풀을 생성하려면**

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단계: AWS RAM을 사용하여 IPAM 풀 공유
<a name="tutorials-byoip-ipam-transfer-ipv4-4"></a>

이 섹션의 단계에 따라 다른 AWS 계정이 기존 BYOIP IPV4 CIDR을 IPAM 풀로 전송하고 IPAM 풀을 사용할 수 있도록 AWS RAM을 사용하여 IPAM 풀을 공유합니다. 이 단계는 **ipam-account** 계정에서 수행해야 합니다.

**AWS CLI를 사용하여 IPv4 주소 풀 공유**

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 풀에서 퍼블릭 IPv4 풀로 IP 주소 CIDRS를 할당하도록 허용하려면 `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단계: IPAM으로 기존 BYOIP IPv4 CIDR 전송
<a name="tutorials-byoip-ipam-transfer-ipv4-5"></a>

이 섹션의 단계를 따르면 기존 IPv4 CIDR을 IPAM으로 전송할 수 있습니다. 이 단계는 **byoip-owner-account** 계정에서 수행해야 합니다.

**중요**  
사용하여 AWS로 IPv4 주소 범위를 가져오면 첫 번째 주소(네트워크 주소)와 마지막 주소(브로드캐스트 주소)를 포함하여 범위 내의 IP 주소를 모두 사용할 수 있습니다.

BYOIP CIDR을 IPAM으로 전송하려면 BYOIP CIDR 소유자가 IAM 정책에서 다음 권한을 보유해야 합니다.
+ `ec2:MoveByoipCidrToIpam`
+ `ec2:ImportByoipCidrToIpam`

**참고**  
이 단계에서 AWS Management Console 또는 AWS CLI를 사용할 수 있습니다.

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

**BYOIP CIDR을 IPAM 풀로 전송하는 방법:**

1. [https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/)에서 IPAM 콘솔을 **byoip-owner-account** 계정으로 엽니다.

1. 탐색 창에서 **Pools**를 선택합니다.

1. 이 자습서에서 생성 및 공유한 최상위 풀을 선택합니다.

1. **작업** > **BYOIP CIDR 전송**을 선택합니다.

1. **BYOIP CID 전송**을 선택합니다.

1. BYOIP CIDR을 선택합니다.

1. **프로비저닝**을 선택합니다.

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

다음의 AWS CLI 명령을 사용하여 BYOIP CIDR을 AWS CLI을 사용하는 IPAM 풀로 전송하는 방법:

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** 계정에서 수행해야 합니다.

**AWS CLI를 사용하여 IPAM 풀에서 전송된 BYOIP CIDR을 보려면**
+ 다음 명령을 실행하여 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단계: AWS RAM을 사용하여 IPAM 풀 공유](#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"
       }
   }
   ```