

# Tutorial: transferir um CIDR IPv4 BYOIP para o IPAM
<a name="tutorials-byoip-ipam-transfer-ipv4"></a>

Siga estas etapas para transferir um CIDR IPv4 existente para o IPAM. Se você já tem um CIDR IPv4 BYOIP com a AWS, pode mover o CIDR para o IPAM de um grupo IPv4 público. Não é possível transferir um CIDR IPv6 para o IPAM.

Este tutorial presume que você já trouxe com sucesso um intervalo de endereços IP para a AWS usando o processo descrito em [Traga seus próprios endereços IP (BYOIP) no Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) e agora deseja transferir esse intervalo de endereços IP para o IPAM. Se você estiver trazendo um novo endereço IP para a AWS pela primeira vez, conclua as etapas em [Tutorial: trazer seus endereços IP para o IPAM](tutorials-byoip-ipam.md). 

Se você transferir um grupo de IPv4 público para o IPAM, não haverá impacto nas alocações existentes. Depois de transferir um grupo de IPv4 público para o IPAM, dependendo do tipo de recurso, você poderá monitorar as alocações existentes. Para obter mais informações, consulte [Monitorar o uso do CIDR por recurso](monitor-cidr-compliance-ipam.md).

**nota**  
Este tutorial pressupõe que você já tenha concluído as etapas em [Criar um IPAM](create-ipam.md).
Cada etapa deste tutorial deve ser executada por uma das duas contas da AWS:  
A conta de administrador do IPAM. Neste tutorial, essa conta será chamada de conta IPAM.
A conta da organização que é proprietária do CIDR de BYOIP. Neste tutorial, essa conta será chamada de conta de proprietário do CIDR de BYOIP.

**Topics**
+ [Etapa 1: criar perfis nomeados da AWS CLI e perfis do IAM](#tutorials-byoip-ipam-ipv4-console-1)
+ [Etapa 2: obter o ID de escopo público do IPAM](#tutorials-byoip-ipam-transfer-ipv4-2)
+ [Etapa 3: criar um grupo do IPAM](#tutorials-byoip-ipam-transfer-ipv4-3)
+ [Etapa 4: compartilhar o grupo do IPAM usando o AWS RAM](#tutorials-byoip-ipam-transfer-ipv4-4)
+ [Etapa 5: transferir um CIDR IPv4 BYOIP existente para o IPAM](#tutorials-byoip-ipam-transfer-ipv4-5)
+ [Etapa 6: visualizar o CIDR no IPAM](#tutorials-byoip-ipam-transfer-ipv4-6)
+ [Etapa 7: limpeza](#tutorials-byoip-ipam-transfer-ipv4-7)

## Etapa 1: criar perfis nomeados da AWS CLI e perfis do IAM
<a name="tutorials-byoip-ipam-ipv4-console-1"></a>

Para concluir este tutorial como um usuário da AWS, você pode usar os perfis nomeados da AWS CLI para alternar de um perfil do IAM para outro. [Perfis nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles) são coleções de configurações e credenciais às quais você se refere ao usar a opção `--profile` com a AWS CLI. Para obter mais informações sobre como criar perfis do IAM e perfis nomeados para contas da AWS, consulte [Uso de perfis do IAM na AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html).

Crie uma função e um perfil nomeado para cada uma das três contas da AWS que você usará neste tutorial:
+ Um perfil chamado `ipam-account` para a conta da AWS que é o administrador do IPAM.
+ Um perfil chamado `byoip-owner-account` para a conta da AWS em sua organização que possui o CIDR de BYOIP.

Depois de criar os perfis do IAM e os perfis nomeados, volte para esta página e vá para a próxima etapa. Você notará, ao longo do restante deste tutorial, que os exemplos de comandos da AWS CLI usam a opção `--profile` com um dos perfis nomeados para indicar qual conta deve executar o comando.

## Etapa 2: obter o ID de escopo público do IPAM
<a name="tutorials-byoip-ipam-transfer-ipv4-2"></a>

Siga as etapas nesta seção para obter o ID de escopo público do IPAM. Esta etapa deve ser executada pela conta do **ipam-account**.

Execute o comando a seguir para obter o ID do escopo público.

```
aws ec2 describe-ipams --region us-east-1 --profile ipam-account
```

Na saída, você verá seu ID de escopo público. Observe os valores de `PublicDefaultScopeId`. Você precisará dele na próxima etapa.

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

## Etapa 3: criar um grupo do IPAM
<a name="tutorials-byoip-ipam-transfer-ipv4-3"></a>

Siga as etapas nesta seção para criar um grupo do IPAM. Esta etapa deve ser executada pela conta do **ipam-account**. O grupo do IPAM criado deve ser um grupo de nível superior com a opção `--locale` correspondente à região AWS do CIDR de BYOIP. Você só pode transferir um BYOIP para um grupo do IPAM de nível superior.

**Importante**  
Ao criar o grupo, é necessário incluir `--aws-service ec2`. O serviço selecionado determina o serviço da AWS no qual o CIDR poderá ser publicado. No momento, a única opção é `ec2`, ou seja, os CIDRs alocados a partir desse grupo poderão ser publicados no serviço Amazon EC2 (para endereços IP elásticos) e no serviço Amazon VPC (para CIDRs associados a VPCs). 

**Para criar um grupo de endereços IPv4 para o CIDR de BYOIP transferido usando a AWS CLI**

1. Execute o comando a seguir para criar um grupo do IPAM. Use o ID de escopo público do IPAM recuperado na etapa anterior.

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

   Na saída, você verá `create-in-progress`, o que indica que a criação do grupo está em andamento.

   ```
   {
       "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. Execute o comando a seguir até ver um estado `create-complete` na saída.

   ```
   aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account
   ```

   O exemplo a seguir mostra o estado do grupo. Você precisará desse **OwnerId** na próxima etapa.

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

## Etapa 4: compartilhar o grupo do IPAM usando o AWS RAM
<a name="tutorials-byoip-ipam-transfer-ipv4-4"></a>

Siga as etapas desta seção para compartilhar um grupo do IPAM usando o AWS RAM para que outra conta da AWS possa transferir um CIDR IPV4 BYOIP existente para o grupo do IPAM e consiga usá-lo. Esta etapa deve ser executada pela conta do **ipam-account**.

**Para compartilhar um grupo de endereços IPv4 usando a AWS CLI**

1. Visualize as permissões do AWS RAM disponíveis para os grupos do IPAM. Você precisa de ambos os ARNs para concluir as etapas desta seção.

   ```
   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. Crie um compartilhamento de recursos para permitir que a conta **byoip-owner-account** importe CIDRs BYOIP para o IPAM. O valor para `--resource-arns` é o ARN do grupo do IPAM criado na seção anterior. O valor para `--principals` é o ID da conta do proprietário do CIDR BYOIP. O valor para `--permission-arns` é o ARN da permissão `AWSRAMPermissionIpamPoolByoipCidrImport`.

   ```
   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. (Opcional) Se você quiser permitir que a conta **byoip-owner-account** aloque os CIDRs de endereço IP do grupo do IPAM para grupos IPv4 públicos após a conclusão da transferência, copie o ARN para `AWSRAMDefaultPermissionsIpamPool` e crie um segundo compartilhamento de recursos. O valor para `--resource-arns` é o ARN do grupo do IPAM criado na seção anterior. O valor para `--principals` é o ID da conta do proprietário do CIDR BYOIP. O valor para `--permission-arns` é o ARN da permissão `AWSRAMDefaultPermissionsIpamPool`.

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

Como resultado da criação do compartilhamento de recursos no RAM, a conta byoip-owner-account já pode mover CIDRs para o IPAM.

## Etapa 5: transferir um CIDR IPv4 BYOIP existente para o IPAM
<a name="tutorials-byoip-ipam-transfer-ipv4-5"></a>

Siga as etapas nesta seção para transferir um CIDR IPv4 de BYOIP existente para o IPAM. Esta etapa deve ser executada pela conta do **byoip-owner-account**.

**Importante**  
Se você trouxer um intervalo de endereços IPv4 para a AWS, poderá usar todos os endereços IP do intervalo, incluindo o primeiro endereço (o endereço de rede) e o último endereço (o endereço de broadcast).

Para transferir o CIDR de BYOIP para o IPAM, o proprietário do CIDR de BYOIP deve ter estas permissões em sua política do IAM:
+ `ec2:MoveByoipCidrToIpam`
+ `ec2:ImportByoipCidrToIpam`

**nota**  
Você pode usar o Console de gerenciamento da AWS ou a AWS CLI para essa etapa.

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

**Para transferir um CIDR BYOIP para o grupo do IPAM:**

1. Abra o console do IPAM em [https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/) como uma conta **byoip-owner-account**.

1. No painel de navegação, selecione **Pools** (Grupos).

1. Escolha o grupo de nível superior criado e compartilhado neste tutorial.

1. Escolha **Ações** > **Transferir CIDR BYOIP**.

1. Escolha **Transferir CIDR BYOIP**.

1. Escolha seu CIDR BYOIP.

1. Escolha **Provisionar**.

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

Use os comandos da AWS CLI a seguir para transferir um CIDR BYOIP para o grupo do IPAM usando a AWS CLI:

1. Execute o comando a seguir para transferir o CIDR. Verifique se o valor de `--region` é a região da AWS do CIDR de BYOIP.

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

   Na saída, você verá a provisão pendente do CIDR.

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

1. Certifique-se de que o CIDR tenha sido transferido. Execute o comando a seguir até ver um estado `complete-transfer` na saída.

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

   O exemplo de saída a seguir mostra o estado.

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

------

## Etapa 6: visualizar o CIDR no IPAM
<a name="tutorials-byoip-ipam-transfer-ipv4-6"></a>

Siga as etapas nesta seção para visualizar o CIDR no IPAM. Esta etapa deve ser executada pela conta do **ipam-account**.

**Para visualizar o CIDR de BYOIP transferido no grupo do IPAM usando a AWS CLI**
+ Execute o comando a seguir para visualizar a alocação gerenciada no IPAM. Verifique se o valor de `--region` é a região da AWS do CIDR de BYOIP.

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

  A saída mostra a alocação no IPAM.

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

## Etapa 7: limpeza
<a name="tutorials-byoip-ipam-transfer-ipv4-7"></a>

Siga as etapas desta seção para remover os recursos que você criou neste tutorial. Esta etapa deve ser executada pela conta do **ipam-account**.

**Para limpar os recursos criados neste tutorial usando a AWS CLI**

1. Para excluir o recurso compartilhado do grupo do IPAM, execute o seguinte comando para obter o primeiro ARN do compartilhamento de recursos:

   ```
   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. Copie o ARN do compartilhamento de recursos e use-o para excluir o compartilhamento de recursos do grupo do 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. Se você criou um compartilhamento de recursos adicional em [Etapa 4: compartilhar o grupo do IPAM usando o AWS RAM](#tutorials-byoip-ipam-transfer-ipv4-4), repita as duas etapas anteriores para obter o ARN do segundo compartilhamento de recursos para `PoolShare2` e excluir o segundo compartilhamento de recursos.

1. Execute o comando a seguir para obter o ID da alocação do CIDR de BYOIP. Verifique se o valor de `--region` corresponde à região da AWS do CIDR de BYOIP.

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

   A saída mostra a alocação no 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. Remova o bloco CIDR do grupo público de endereços IPv4. Ao executar o comando nesta seção, o valor de `--region` deve corresponder à região do seu IPAM.

   Esta etapa precisa ser concluída pela conta do **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. Visualize seus CIDRs de BYOIP novamente e verifique se não há mais endereços provisionados. Ao executar o comando nesta seção, o valor de `--region` deve corresponder à região do seu IPAM.

   Esta etapa precisa ser concluída pela conta do **byoip-owner-account**.

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

   Na saída, você verá a contagem de endereços IP em seu grupo IPv4 público.

   ```
   {
       "PublicIpv4Pools": [
           {
               "PoolId": "ipv4pool-ec2-0019eed22a684e0b3",
               "Description": "",
               "PoolAddressRanges": [],
               "TotalAddressCount": 0,
               "TotalAvailableAddressCount": 0,
               "NetworkBorderGroup": "us-east-1",
               "Tags": []
           }
       ]
   }
   ```

1. Execute o comando a seguir para excluir o grupo de nível superior.

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

   Na saída, você pode ver o estado de exclusão.

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