Tutorial: cree un IPAM y grupos utilizando el AWS CLI - Amazon Virtual Private Cloud

Tutorial: cree un IPAM y grupos utilizando el AWS CLI

Siga los pasos de este tutorial para crear un IPAM con AWS CLI, crear grupos de direcciones IP y asignar una VPC con un CIDR desde un grupo de IPAM.

A continuación, se muestra un ejemplo de jerarquía de la estructura de grupos que creará al seguir los pasos de esta sección:

  • IPAM que opera en la región de AWS 1 y la región de AWS 2

    • Alcance privado

      • Grupo de nivel superior

        • Grupo regional en la región 2 de AWS

          • Grupo de desarrollo

            • Asignación para una VPC

nota

En esta sección, creará un IPAM. De forma predeterminada, solo puede crear un IPAM. Para obtener más información, consulte Cuotas de IPAM. Si ya ha delegado una cuenta de IPAM y ha creado un IPAM, puede omitir los pasos 1 y 2.

Paso 1: Habilitar IPAM en su organización

Este paso es opcional. Complete este paso para habilitar IPAM en su organización y configurar el IPAM delegado mediante AWS CLI. Para obtener más información sobre el rol de la cuenta de IPAM, consulte Integración de IPAM con cuentas en una organización de AWS.

Se debe realizar esta solicitud desde una cuenta de administración de AWS Organizations. Cuando ejecute el siguiente comando, asegúrese de que se encuentra utilizando un rol con una política de IAM que permita las siguientes acciones:

  • ec2:EnableIpamOrganizationAdminAccount

  • organizations:EnableAwsServiceAccess

  • organizations:RegisterDelegatedAdministrator

  • iam:CreateServiceLinkedRole

aws ec2 enable-ipam-organization-admin-account --region us-east-1 --delegated-admin-account-id 11111111111

Debe ver el siguiente resultado, lo que indica que la habilitación se ha realizado correctamente.

{ "Success": true }

Paso 2: Crear un IPAM

Siga los pasos de esta sección para crear un IPAM y conocer más información sobre los alcances que se crean. Utilizará este IPAM cuando cree grupos y aprovisione rangos de direcciones IP para esos grupos en pasos posteriores.

nota

La opción de regiones operativas determina para qué regiones de AWS se pueden utilizar los grupos de IPAM. Para obtener más información sobre las regiones operativas, consulte Creación de un IPAM.

Para crear un IPAM mediante la AWS CLI
  1. Ejecute el siguiente comando para crear la instancia de IPAM.

    aws ec2 create-ipam --description my-ipam --region us-east-1 --operating-regions RegionName=us-west-2

    Al crear un IPAM, AWS realiza lo siguiente de forma automática:

    • Devuelve un ID de recurso único a nivel global (IpamId) para el IPAM.

    • Crea un alcance público predeterminado (PublicDefaultScopeId) y un alcance privado predeterminado (PrivateDefaultScopeId).

    { "Ipam": { "OwnerId": "123456789012", "IpamId": "ipam-0de83dba6694560a9", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "PublicDefaultScopeId": "ipam-scope-02a24107598e982c5", "PrivateDefaultScopeId": "ipam-scope-065e7dfe880df679c", "ScopeCount": 2, "Description": "my-ipam", "OperatingRegions": [ { "RegionName": "us-west-2" }, { "RegionName": "us-east-1" } ], "Tags": [] } }
  2. Ejecute el siguiente comando para conocer más información relacionada con los alcances. El alcance público se ha destinado a direcciones IP a las que se accederá a través de Internet pública. El alcance privado se ha destinado a direcciones IP a las que no se accederá a través de Internet pública.

    aws ec2 describe-ipam-scopes --region us-east-1

    En la salida, verá los alcances que se encuentran disponibles. Utilizará el ID de alcance privado en el siguiente paso.

    { "IpamScopes": [ { "OwnerId": "123456789012", "IpamScopeId": "ipam-scope-02a24107598e982c5", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-02a24107598e982c5", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "IpamScopeType": "public", "IsDefault": true, "PoolCount": 0 }, { "OwnerId": "123456789012", "IpamScopeId": "ipam-scope-065e7dfe880df679c", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "IpamScopeType": "private", "IsDefault": true, "PoolCount": 0 } ] }

Paso 3: Crear un grupo de direcciones IPv4

Siga los pasos de esta sección para crear un grupo de direcciones IPv4.

importante

No usará la opción --locale en este grupo de nivel superior. Establecerá la opción de configuración regional más adelante en el grupo regional. La configuración regional es la región de AWS en la que desea que un grupo esté disponible para asignaciones de CIDR. Como resultado de no determinar la configuración regional en el grupo de nivel superior, la configuración regional se establecerá de forma predeterminada en None. Si un grupo tiene None como configuración regional, no estará disponible para los recursos de VPC en ninguna región de AWS. Solo puede asignar de manera manual el espacio de direcciones IP en el grupo para reservar espacio.

Para crear un grupo de direcciones IPv4 para todos los recursos de AWS con la AWS CLI
  1. Ejecute el siguiente comando para crear un grupo de direcciones IPv4. Utilice el ID de alcance privado del IPAM que creó en el paso anterior.

    aws ec2 create-ipam-pool --ipam-scope-id ipam-scope-065e7dfe880df679c --description "top-level-pool" --address-family ipv4

    En la salida, verá un estado create-in-progress para el grupo.

    { "IpamPool": { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0008f25d7187a08d9", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "None", "PoolDepth": 1, "State": "create-in-progress", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [] } }
  2. Ejecute el siguiente comando hasta que vea el estado create-complete en la salida.

    aws ec2 describe-ipam-pools

    En la siguiente salida de ejemplo se muestra el estado correcto.

    { "IpamPools": [ { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0008f25d7187a08d9", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "None", "PoolDepth": 1, "State": "create-complete", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4" } ] }

Paso 4: Aprovisionar un CIDR en el grupo de nivel superior

Siga los pasos de esta sección para aprovisionar un CIDR en el grupo de nivel superior y, a continuación, verificar que se aprovisiona el CIDR. Para obtener más información, consulte Aprovisionamiento de CIDR en un grupo.

Para aprovisionar un bloque de CIDR en el grupo mediante la AWS CLI
  1. Ejecute el siguiente comando para aprovisionar el CIDR.

    aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0008f25d7187a08d9 --cidr 10.0.0.0/8

    En la salida, puede verificar el estado del aprovisionamiento.

    { "IpamPoolCidr": { "Cidr": "10.0.0.0/8", "State": "pending-provision" } }
  2. Ejecute el siguiente comando hasta que vea el estado provisioned en la salida.

    aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0008f25d7187a08d9

    En la siguiente salida de ejemplo se muestra el estado correcto.

    { "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/8", "State": "provisioned" } ] }

Paso 5. Crear un grupo regional con el CIDR procedente del grupo de nivel superior

Cuando crea un grupo de IPAM, el grupo pertenece a la región de AWS del IPAM de forma predeterminada. Al crear una VPC, el grupo del que extrae la VPC debe encontrarse en la misma región que la VPC. Puede utilizar la opción --locale cuando cree un grupo a fin de que el grupo se encuentre disponible para los servicios de una región distinta de la región del IPAM. Siga los pasos de esta sección para crear un grupo regional en otra configuración regional.

Para crear un grupo con un CIDR procedente del grupo anterior mediante la AWS CLI
  1. Ejecute el siguiente comando para crear el grupo e introducir espacio con un CIDR disponible conocido del grupo anterior.

    aws ec2 create-ipam-pool --description "regional--pool" --region us-east-1 --ipam-scope-id ipam-scope-065e7dfe880df679c --source-ipam-pool-id ipam-pool-0008f25d7187a08d9 --locale us-west-2 --address-family ipv4

    En la salida, verá el ID del grupo que creó. Necesitará este ID en el siguiente paso.

    { "IpamPool": { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "SourceIpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0da89c821626f1e4b", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "us-west-2", "PoolDepth": 2, "State": "create-in-progress", "Description": "regional--pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [] } }
  2. Ejecute el siguiente comando hasta que vea el estado create-complete en la salida.

    aws ec2 describe-ipam-pools

    En la salida, verá los grupos que tiene en el IPAM. En este tutorial, hemos creado un grupo de nivel superior y un grupo regional, así que verá ambos.

    { "IpamPools": [ { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0008f25d7187a08d9", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "None", "PoolDepth": 1, "State": "create-complete", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4" }, { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "SourceIpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0da89c821626f1e4b", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "us-west-2", "PoolDepth": 2, "State": "create-complete", "Description": "regional--pool", "AutoImport": false, "AddressFamily": "ipv4" } ] }

Paso 6: Aprovisionar un CIDR al grupo regional

Siga los pasos de esta sección para asignar un bloque de CIDR al grupo y validar que se ha aprovisionado correctamente.

Para asignar un bloque de CIDR al grupo regional mediante la AWS CLI
  1. Ejecute el siguiente comando para aprovisionar el CIDR.

    aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0da89c821626f1e4b --cidr 10.0.0.0/16

    En la salida, verá el estado del grupo.

    { "IpamPoolCidr": { "Cidr": "10.0.0.0/16", "State": "pending-provision" } }
  2. Ejecute el siguiente comando hasta que vea el estado provisioned en la salida.

    aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0da89c821626f1e4b

    En la siguiente salida de ejemplo se muestra el estado correcto.

    { "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/16", "State": "provisioned" } ] }
  3. Ejecute el siguiente comando para consultar el grupo de nivel superior a fin de ver las asignaciones. El grupo regional se considera una asignación dentro del grupo de nivel superior.

    aws ec2 get-ipam-pool-allocations --region us-east-1 --ipam-pool-id ipam-pool-0008f25d7187a08d9

    En la salida, verá el grupo regional como una asignación en el grupo de nivel superior.

    { "IpamPoolAllocations": [ { "Cidr": "10.0.0.0/16", "IpamPoolAllocationId": "ipam-pool-alloc-fbd525f6c2bf4e77a75690fc2d93479a", "ResourceId": "ipam-pool-0da89c821626f1e4b", "ResourceType": "ipam-pool", "ResourceOwner": "123456789012" } ] }

Paso 7. Crear un recurso compartido de RAM para habilitar las asignaciones de IP en todas las cuentas

Este paso es opcional. Solo puede completar este paso si ha completado Integración de IPAM con cuentas en una organización de AWS.

Al crear un recurso compartido de AWS RAM de un grupo de IPAM, permite asignaciones de IP en todas las cuentas. El uso compartido de RAM solo se encuentra disponible en la región de AWS de origen. Tenga en cuenta que crea este recurso compartido en la misma región que el IPAM, no en la región local del grupo. Todas las operaciones administrativas de los recursos de IPAM se realizan a través de la región de origen del IPAM. En el ejemplo de este tutorial, se crea un único recurso compartido para un solo grupo, pero puede agregar varios grupos a un solo recurso compartido. Para obtener más información, incluida una explicación de las opciones que debe ingresar, consulte Compartir un grupo de IPAM mediante AWS RAM.

Ejecute los siguientes comandos para crear un recurso compartido:

aws ram create-resource-share --region us-east-1 --name pool_share --resource-arns arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0dec9695bca83e606 --principals 123456

La salida muestra que se ha creado el grupo.

{ "resourceShare": { "resourceShareArn": "arn:aws:ram:us-west-2:123456789012:resource-share/3ab63985-99d9-1cd2-7d24-75e93EXAMPLE", "name": "pool_share", "owningAccountId": "123456789012", "allowExternalPrincipals": false, "status": "ACTIVE", "creationTime": 1565295733.282, "lastUpdatedTime": 1565295733.282 } }

Paso 8. Creación de una VPC

Ejecute el siguiente comando para crear una VPC y asignar un bloque de CIDR a la VPC desde el grupo de IPAM que se creó recientemente.

aws ec2 create-vpc --region us-east-1 --ipv4-ipam-pool-id ipam-pool-04111dca0d960186e --cidr-block 10.0.0.0/24

La salida muestra que se ha creado la VPC.

{ "Vpc": { "CidrBlock": "10.0.0.0/24", "DhcpOptionsId": "dopt-19edf471", "State": "pending", "VpcId": "vpc-0983f3c454f3d8be5", "OwnerId": "123456789012", "InstanceTenancy": "default", "Ipv6CidrBlockAssociationSet": [], "CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-00b24cc1c2EXAMPLE", "CidrBlock": "10.0.0.0/24", "CidrBlockState": { "State": "associated" } } ], "IsDefault": false } }

Paso 9. Limpieza

Siga los pasos de esta sección para eliminar los recursos de IPAM que ha creado en este tutorial.

  1. Elimine la VPC.

    aws ec2 delete-vpc --vpc-id vpc-0983f3c454f3d8be5
  2. Elimine el recurso compartido de RAM del grupo de IPAM.

    aws ram delete-resource-share --resource-share-arn arn:aws:ram:us-west-2:123456789012:resource-share/3ab63985-99d9-1cd2-7d24-75e93EXAMPLE
  3. Desaprovisione el CIDR de grupo del grupo regional.

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0da89c821626f1e4b --region us-east-1
  4. Desaprovisione el CIDR de grupo del grupo de nivel superior.

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0008f25d7187a08d9 --region us-east-1
  5. Eliminar el IPAM

    aws ec2 delete-ipam --region us-east-1