Tutorial: Transferir un CIDR IPv4 de BYOIP a IPAM - Amazon Virtual Private Cloud

Tutorial: Transferir un CIDR IPv4 de BYOIP a IPAM

Siga estos pasos para transferir un CIDR IPv4 existente a IPAM. Si ya tiene un CIDR IPv4 con AWS, puede mover el CIDR a IPAM desde un grupo IPv4 público. No se puede trasladar un CIDR IPv6 a IPAM.

En este tutorial, se asume que ya trajo correctamente un rango de direcciones IP a AWS mediante el proceso descrito en Traiga sus propias direcciones IP (BYOIP) en Amazon EC2 y ahora quiere transferir ese rango de direcciones IP a IPAM. Si va a traer una nueva dirección IP a AWS por primera vez, siga los pasos de Tutorial: incorpore sus direcciones IP a IPAM.

Si transfiere un grupo IPv4 público a IPAM, las asignaciones existentes no se verán afectadas. Una vez que transfiera un grupo IPv4 público a IPAM, según el tipo de recurso, podrá supervisar las asignaciones existentes. Para obtener más información, consulte Monitorear el uso de CIDR por recurso.

importante
  • En este tutorial, se presupone que ya ha completado los pasos en Creación de un IPAM.

  • Cada paso de este tutorial debe realizarlo una de dos cuentas AWS:

    • La cuenta de administrador de IPAM. En este tutorial, esta cuenta se llamará cuenta de IPAM.

    • La cuenta de su organización propietaria del CIDR de BYOIP. En este tutorial, esta cuenta se llamará cuenta de propietario CIDR de BYOIP.

Paso 1: Crear perfiles con nombre y roles de IAM de la AWS CLI

Para completar este tutorial como un usuario de AWS único, puede utilizar perfiles con nombre de AWS CLI para cambiar de un rol de IAM a otro. Los perfiles con nombre son conjuntos de configuraciones y credenciales a los que se hace referencia cuando se utiliza la opción --profile con la AWS CLI. Para obtener más información sobre cómo crear roles de IAM y perfiles con nombre para cuentas de AWS, consulte Uso de un rol de IAM en la AWS CLI en la Guía del usuario de AWS Identity and Access Management.

Cree un rol y un perfil con nombre para cada una de las tres cuentas de AWS que utilizará en este tutorial:

  • Un perfil llamado ipam-account para la cuenta AWS que es el administrador de IPAM.

  • Un perfil llamado byoip-owner-account para la cuenta AWS de su organización propietaria del CIDR de BYOIP.

Después de crear los roles de IAM y los perfiles con nombre, regrese a esta página y vaya al paso siguiente. En el resto de este tutorial, observará que los comandos AWS CLI de ejemplo utilizan la opción --profile con uno de los perfiles con nombre para indicar qué cuenta debe ejecutar el comando.

Paso 2: Obtenga el ID de alcance público del IPAM

Siga los pasos descritos en esta sección para obtener el ID de alcance público del IPAM. La cuenta de ipam-account debe realizar este paso.

Ejecute el siguiente comando para obtener su ID de alcance público.

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

En la salida, verá su ID de alcance público. Tenga en cuenta los valores para PublicDefaultScopeId. Lo necesitará en el siguiente paso.

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

Paso 3: Cree un grupo de IPAM

Siga los pasos de esta sección para crear un grupo de IPAM. La cuenta de ipam-account debe realizar este paso. El grupo de IPAM que cree debe ser un grupo de nivel superior con la opción --locale que coincide con la región BYOIP CIDR AWS. Solo puede transferir un BYOIP a un grupo de IPAM de nivel superior.

importante

Al crear el grupo, debe incluir --aws-service ec2. El servicio que seleccione determina el servicio AWS donde el CIDR puede ser anunciado. Actualmente, la única opción es ec2, lo que significa que los CIDR asignados desde este grupo podrán ser anunciados por el servicio Amazon EC2 (para direcciones IP elásticas) y el servicio Amazon VPC (para CIDR asociados a VPC).

Para crear un grupo de direcciones IPv4 para el CIDR de BYOIP transferido mediante la AWS CLI
  1. Ejecute el siguiente comando para crear un grupo de IPAM. Utilice el ID de alcance público de IPAM que se recuperó en el paso 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

    En la salida, verá create-in-progress, lo que indica que la creación del grupo se encuentra en curso.

    { "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. Ejecute el siguiente comando hasta que vea el estado create-complete en la salida.

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

    La siguiente salida de ejemplo muestra el estado del grupo. Necesitará el ID de propietario en el siguiente paso.

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

Paso 4: Comparta el grupo de IPAM mediante AWS RAM

Siga los pasos de esta sección para compartir un grupo de IPAM utilizando AWS RAM para que otra cuenta de AWS pueda transferir un CIDR IPV4 de BYOIP existente al grupo de IPAM y usarlo. La cuenta de ipam-account debe realizar este paso.

Para compartir un grupo de direcciones IPv4 mediante AWS CLI
  1. Ver los permisos de AWS RAM disponibles para los grupos de IPAM. Necesita ambos ARN para completar los pasos de esta sección.

    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. Cree un recurso compartido para permitir que la cuenta de byoip-owner-account importe los CIDR de BYOIP a IPAM. El valor para --resource-arns es el ARN del grupo de IPAM que creó en la sección anterior. El valor para --principals es el ID de la cuenta propietaria del CIDR de BYOIP. El valor para --permission-arns es el ARN del permiso 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) Si desea permitir que la cuenta de byoip-owner-account asigne CIDR de direcciones IP desde el grupo de IPAM a grupos IPv4 públicos una vez finalizada la transferencia, copie el ARN de AWSRAMDefaultPermissionsIpamPool y cree un segundo recurso compartido. El valor para --resource-arns es el ARN del grupo de IPAM que creó en la sección anterior. El valor para --principals es el ID de la cuenta propietaria del CIDR de BYOIP. El valor para --permission-arns es el ARN del permiso 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 de la creación del recurso compartido en RAM, la cuenta byoip-owner-account ahora puede mover CIDR a IPAM.

Paso 5: Transfiera un CIDR IPV4 de BYOIP existente a IPAM

Siga los pasos para transferir un CIDR IPv4 de BYOIP existente a IPAM. La cuenta de byoip-owner-account debe realizar este paso.

importante

Una vez que hayas llevado un rango de direcciones IPv4 a AWS, podrás usar todas las direcciones IP del rango, incluidas la primera dirección (la dirección de red) y la última dirección (la dirección de transmisión).

Para transferir el CIDR de BYOIP a IPAM, el propietario del CIDR de BYOIP debe contar con estos permisos en su política de IAM:

  • ec2:MoveByoipCidrToIpam

  • ec2:ImportByoipCidrToIpam

nota

Puede utilizar la AWS Management Console o la AWS CLI para este paso.

AWS Management Console
Para transferir un CIDR de BYOIP al grupo de IPAM:
  1. Abra la consola de IPAM en https://console.aws.amazon.com/ipam/ como la cuenta de byoip-owner-account.

  2. En el panel de navegación, elija Pools (Grupos).

  3. Elija el grupo de nivel superior creado y compartido en este tutorial.

  4. Elija Acciones > Transferir un CIDR de BYOIP.

  5. Elija Transferir un CIDR de BYOIP.

  6. Elija su CIDR de BYOIP.

  7. Elija Aprovisionar.

Command line

Ejecute los siguientes comandos de la AWS CLI para transferir un CIDR de BYOIP al grupo de IPAM con la AWS CLI:

  1. Ejecute el siguiente comando para transferir el CIDR. Asegúrese de que el valor --region es la región de AWS del 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

    En la salida, verá el CIDR pendiente de aprovisionamiento.

    { "ByoipCidr": { "Cidr": "130.137.249.0/24", "State": "pending-transfer" } }
  2. Asegúrese de que se haya transferido el CIDR. Ejecute el siguiente comando hasta que vea el estado complete-transfer en la salida.

    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

    En la siguiente salida de ejemplo se muestra el estado.

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

Paso 6: Vea el CIDR en IPAM

Siga los pasos de esta sección para ver el CIDR en IPAM. La cuenta de ipam-account debe realizar este paso.

Para ver el CIDR de BYOIP transferido en el grupo de IPAM mediante la AWS CLI
  • Ejecute el siguiente comando para ver la asignación administrada en IPAM. Asegúrese de que el valor --region es la región de AWS del CIDR de BYOIP.

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

    La salida muestra la asignación en IPAM.

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

Paso 7: Efectúe una limpieza

Siga los pasos de esta sección para eliminar los recursos que ha creado en este tutorial. La cuenta de ipam-account debe realizar este paso.

Para eliminar los recursos que se han creado en este tutorial mediante la AWS CLI
  1. Para eliminar el recurso compartido del grupo de IPAM, ejecute el siguiente comando para obtener el primer ARN de recurso compartido:

    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 el ARN del recurso compartido y utilícelo para eliminar el recurso compartido del grupo de 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. Si ha creado un recurso compartido adicional en Paso 4: Comparta el grupo de IPAM mediante AWS RAM, repita los dos pasos anteriores para obtener el ARN del segundo recurso compartido de PoolShare2 y elimínelo.

  4. Ejecute el siguiente comando para obtener el ID de asignación del CIDR de BYOIP. Asegúrese de que el valor --region coincida con la región de AWS del CIDR de BYOIP.

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

    La salida muestra la asignación en 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. Lance la última dirección IP del CIDR del grupo IPv4 público. Ingrese la dirección IP con una máscara de red de /32. Debe volver a ejecutar este comando para cada dirección IP del intervalo CIDR. Si su CIDR es /24, tendrá que ejecutar este comando para anular el aprovisionamiento de cada una de las 256 direcciones IP del CIDR /24. Cuando ejecute el comando en esta sección, el valor de --region debe coincidir con la región de su IPAM.

    La cuenta de byoip-owner-account debe realizar este paso.

    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

    En la salida aparecerá el CIDR con aprovisionamiento anulado.

    { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "DeprovisionedAddresses": [ "130.137.249.255" ] }
  6. Vuelva a ver sus CIDR de BYOIP y asegúrese de que no haya más direcciones aprovisionadas. Al ejecutar el comando en esta sección, el valor de --region debe coincidir con la región de su IPAM.

    La cuenta de byoip-owner-account debe realizar este paso.

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

    En la salida aparecerá el recuento de direcciones IP en el grupo IPv4 público.

    { "PublicIpv4Pools": [ { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "Description": "", "PoolAddressRanges": [], "TotalAddressCount": 0, "TotalAvailableAddressCount": 0, "NetworkBorderGroup": "us-east-1", "Tags": [] } ] }
  7. Ejecute el siguiente comando para eliminar el grupo de nivel superior.

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

    En la salida, puede ver el estado de eliminación.

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