Tutorial: transferir um CIDR IPv4 BYOIP para o IPAM - Amazon Virtual Private Cloud

Tutorial: transferir um CIDR IPv4 BYOIP para o IPAM

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

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 ter mais informações, consulte Monitorar o uso do CIDR por recurso.

Importante
  • Este tutorial pressupõe que você já tenha concluído as etapas em Criar um IPAM.

  • 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.

Etapa 1: criar perfis nomeados daAWS CLI e perfis do IAM

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 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 Como usar um perfil do IAM na AWS CLI no Guia do usuário do AWS Identity and Access Management.

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

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

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" } }
  2. 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

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 } ] }
  2. 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" } }
  3. (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

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 AWS Management Console 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/ como uma conta byoip-owner-account.

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

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

  4. Escolha Ações > Transferir CIDR BYOIP.

  5. Escolha Transferir CIDR BYOIP.

  6. Escolha seu CIDR BYOIP.

  7. 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" } }
  2. 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

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

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" } ] }
  2. 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 }
  3. Se você criou um compartilhamento de recursos adicional em Etapa 4: compartilhar o grupo do IPAM usando o AWS RAM, repita as duas etapas anteriores para obter o ARN do segundo compartilhamento de recursos para PoolShare2 e excluir o segundo compartilhamento de recursos.

  4. 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" } ] }
  5. Libere o último endereço IP no CIDR do grupo IPv4 público. Insira o endereço IP com uma máscara de rede de /32. Você deve executar novamente esse comando para cada endereço IP no intervalo do CIDR. Se o seu CIDR for um /24, você terá que executar esse comando para desprovisionar cada um dos 256 endereços IP no CIDR /24. 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.255/32

    Na saída, você verá o CIDR desprovisionado.

    { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "DeprovisionedAddresses": [ "130.137.249.255" ] }
  6. 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": [] } ] }
  7. 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" } }