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.
nota
-
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.
-
Conteúdo
Etapa 1: criar perfis nomeados da AWS 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
--profileipam-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
-
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
--profileipam-account
--ipam-scope-idipam-scope-0087d83896280b594
--description"top-level-pool"
--localeus-west-2
--aws-service ec2 --address-familyipv4
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" } }
-
Execute o comando a seguir até ver um estado
create-complete
na saída.aws ec2 describe-ipam-pools --region
us-east-1
--profileipam-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
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
--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 } ] }
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ãoAWSRAMPermissionIpamPoolByoipCidrImport
.aws ram create-resource-share --region
us-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" } }
(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 paraAWSRAMDefaultPermissionsIpamPool
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ãoAWSRAMDefaultPermissionsIpamPool
.aws ram create-resource-share --region
us-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" } }
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.
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
--profileipam-account
--ipam-pool-idipam-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
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
--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" } ] }
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
--profileipam-account
--resource-share-arnarn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f
{ "returnValue": true }
-
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. -
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
--profileipam-account
--ipam-pool-idipam-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" } ] }
-
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
--profilebyoip-owner-account
--pool-idipv4pool-ec2-0019eed22a684e0b3
--cidr130.137.249.255/32
Na saída, você verá o CIDR desprovisionado.
{ "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "DeprovisionedAddresses": [ "130.137.249.255" ] }
-
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
--profilebyoip-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": [] } ] }
-
Execute o comando a seguir para excluir o grupo de nível superior.
aws ec2 delete-ipam-pool --region
us-east-1
--profileipam-account
--ipam-pool-idipam-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" } }