View a markdown version of this page

Tutorial: configurar la RPKI delegada para prefijos BYOIP - Amazon Virtual Private Cloud

Tutorial: configurar la RPKI delegada para prefijos BYOIP

En este tutorial se explican todas las capacidades de protección de rutas BGP de principio a fin. Se puede detener después de cualquier paso y usar lo que ha configurado hasta ese momento. Los pasos 1 y 2 no requieren interacción con el RIR. Los pasos 3 y posteriores requieren una configuración única con su RIR. Para obtener información sobre los conceptos de protección de rutas BGP, los requisitos de nivel y los RIR compatibles, consulte Supervise la protección de rutas BGP.

Requisitos previos

  • Un IPAM creado en el nivel avanzado.

  • Uno o más prefijos BYOIP aprovisionados a los grupos de IPAM.

  • Acceso a su cuenta del Registro Regional de Internet (ARIN, RIPE, APNIC o LACNIC).

Paso 1: Visualización de sus rutas BGP

Una vez que haya aprovisionado los prefijos BYOIP a IPAM, se deben consultar todas las rutas anunciadas en el panel centralizado.

AWS Management Console
Para ver sus rutas BGP
  1. Abra la consola de IPAM en https://console.aws.amazon.com/ipam/.

  2. En el panel de navegación, seleccione IPAM y, a continuación, seleccione su IPAM.

  3. En Supervisión, seleccione Supervisión de rutas.

En el panel se muestran todas las rutas BYOIP con prefijo, configuración regional, estado del anuncio, ASN, validez de RPKI, intensidad de la ROA y superposiciones de rutas.

Command line

Utilice get-ipam-discovered-routes para ver las rutas descubiertas. Este comando está disponible tanto para los clientes del nivel gratuito como para los clientes del nivel avanzado.

aws ec2 get-ipam-discovered-routes \ --ipam-resource-discovery-id ipam-res-disco-0365d2977fc1672fe \ --resource-region us-west-2

A continuación, se muestra un ejemplo del resultado.

{ "IpamDiscoveredRoutes": [ { "IpamResourceDiscoveryId": "ipam-res-disco-0365d2977fc1672fe", "ResourceRegion": "us-west-2", "ResourceOwnerId": "123456789012", "Cidr": "203.0.113.0/24", "Asn": "64512", "State": "advertised", "AdvertisementType": "regional", "NetworkBorderGroup": "us-west-2", "PoolId": "ipv4pool-ec2-0a1b2c3d4e5f6g7h8", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "SampleTime": "2026-03-10T15:30:00+00:00" } ] }

Paso 2: Revisión de los resultados de la protección de las rutas

Para los clientes de nivel avanzado, IPAM evalúa las rutas comparándolas con los datos de la ROA publicados y muestra los resultados con get-ipam-route-protection-findings.

nota

get-ipam-route-protection-findings requiere el nivel avanzado. Los clientes del nivel gratuito reciben un error UnsupportedOperation.

  1. Enumere todos los resultados.

    aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8
  2. Filtre las ROA no válidas o faltantes.

    aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8 \ --filters "Name=rpki-status,Values=invalid,unknown"
  3. Filtre por estado en una región específica.

    aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8 \ --filters "Name=rpki-status,Values=invalid" "Name=resource-region,Values=us-west-2"

A continuación, se muestra un ejemplo del resultado.

{ "IpamId": "ipam-0a1b2c3d4e5f6g7h8", "RouteProtectionFindings": [ { "ResourceOwnerId": "123456789012", "ResourceRegion": "us-west-2", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "Cidr": "203.0.113.0/24", "State": "advertised", "AdvertisementType": "regional", "NetworkBorderGroup": "us-west-2", "PoolId": "ipv4pool-ec2-0a1b2c3d4e5f6g7h8", "Asn": "64512", "RpkiStatus": "valid", "RpkiStrength": "strict", "Roas": [ { "Asn": "64512", "Prefix": "203.0.113.0/24", "MaxLength": 24, "Match": true, "Expiration": "2027-06-15T00:00:00Z" } ], "RouteOverlaps": [ { "Prefix": "203.0.113.128/25", "Asn": "64513", "DetectedAt": "2026-03-10T15:45:00+00:00" } ], "SampleTime": "2026-03-10T15:30:00+00:00", "RoaSampleTime": "2026-03-10T16:00:00+00:00" } ] }

Los nombres de filtro válidos son cidr, account-id, resource-region, byoip-cidr-state, advertisement-type, network-border-group, ipam-pool-id, rpki-status y asn. Estos nombres de filtro de estilo EC2 no siempre coinciden con los campos devueltos. Por ejemplo, se filtra por account-id pero la respuesta devuelve ResourceOwnerId, y se filtra por byoip-cidr-state pero el campo es State. La intensidad de la ROA no se puede filtrar.

Paso 3: Configurar la RPKI delegada

La RPKI delegada le permite autorizar a AWS para administrar las ROA en su nombre.

  1. Cree la Asociación de Registros de Internet.

    aws ec2 create-ipam-internet-registry-association --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --rir ARIN --org-handle my-arin-org

    A continuación, se muestra un ejemplo del resultado.

    { "IpamInternetRegistryAssociation": { "IpamInternetRegistryAssociationId": "ipam-internet-registry-assoc-036486dfa6af58ee0", "State": "create-in-progress" } }

    Ejecute el siguiente comando hasta que el estado llegue a pending-enable.

    aws ec2 describe-ipam-internet-registry-associations --region us-east-1 \ --ipam-internet-registry-association-ids ipam-internet-registry-assoc-036486dfa6af58ee0

    Una vez que el estado sea pending-enable, el ChildRequestXml estará listo para enviarlo a su RIR. IPAM organiza las ROA en función de los datos públicos de la VRP (carga útil de la ROA validada). Están pendientes y se activarán una vez que se active la Asociación de Registros de Internet.

  2. Revise las ROA organizadas por etapas.

    aws ec2 get-ipam-route-origin-authorizations --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0

    A continuación, se muestra un ejemplo del resultado.

    { "Roas": [ { "prefix": "18.96.0.0/14", "asn": "77221", "maxLength": "24", "state": "pending-activate" } ] }
  3. Habilite la Asociación de Registros de Internet.

    Lleve el archivo ChildRequestXML a su portal RIR y envíe la solicitud de delegación. El RIR devuelve un XML de respuesta principal. Extraiga los siguientes campos de esa respuesta: rpkiVersion, serviceUri, childHandle, parentHandle y parentBpkiTa. A continuación, llame el siguiente comando.

    aws ec2 enable-ipam-internet-registry-association --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --rpki-version "..." \ --service-uri "..." \ --child-handle "..." \ --parent-handle "..." \ --parent-bpki-ta "..."

    A continuación, se muestra un ejemplo del resultado.

    { "IpamInternetRegistryAssociation": { "IpamInternetRegistryAssociationId": "ipam-internet-registry-assoc-036486dfa6af58ee0", "State": "enable-in-progress" } }

    Ejecute el siguiente comando hasta que el estado llegue a enable-complete.

    aws ec2 describe-ipam-internet-registry-associations --region us-east-1 \ --ipam-internet-registry-association-ids ipam-internet-registry-assoc-036486dfa6af58ee0

    Una vez que el estado sea enable-complete, las ROA organizadas en etapas pasan a create-complete. AWS ahora administra el ciclo de vida de la ROA de todos los CIDR en el marco de esta asociación.

  4. Ver los CIDR asociados.

    aws ec2 get-ipam-internet-registry-association-cidrs --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0

    A continuación, se muestra un ejemplo del resultado.

    { "IpamInternetRegistryAssociationCidrs": [ { "Cidr": "18.96.0.0/14", "LastObservedAt": "2026-07-30T18:00:00.000Z" } ] }
  5. Ver los ASN asociados.

    aws ec2 get-ipam-internet-registry-association-asns --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0

    A continuación, se muestra un ejemplo del resultado.

    { "IpamInternetRegistryAssociationAsns": [ { "Asn": "77221", "LastObservedAt": "2026-07-30T18:00:00.000Z" } ] }

Paso 4: Aprovisionar BYOIP con la creación automática de la ROA

Con la RPKI delegada activa, el aprovisionamiento se simplifica.

Antes (sin RPKI delegada) Después (con RPKI delegada)
Se debe proporcionar --cidr-authorization-context Aún así, pase --cidr-authorization-context, pero con Message="CoveredByInternetRegistryAssociation",Signature="": no se requiere un mensaje firmado
Debe validarse mediante un registro TXT de WHOIS o DNS No es obligatorio: IPAM se compara con los CIDR de las asociaciones
Debe crear las ROA de manera manual en el RIR antes de anunciarse Las ROA se crean de manera automática en el aprovisionamiento
Debe renovar de manera manual las ROA antes de que caduquen AWS se renueva de manera automática: no es necesario realizar ninguna acción
aws ec2 provision-ipam-pool-cidr \ --cidr 18.97.16.0/24 \ --ipam-pool-id ipam-pool-0da89c821626f1e4b \ --cidr-authorization-context Message="CoveredByInternetRegistryAssociation",Signature="" \ --region us-east-1

IPAM valida la propiedad a través de la Asociación de Registros de Internet y crea ROA estrictas que coinciden con la configuración regional y el ASN del grupo. No hay ningún paso de ROA manual.

Paso 5: Administrar las ROA para prefijos en las instalaciones

Para el espacio IP que no se haya incorporado a AWS, utilice los registros de políticas de enrutamiento (RPR).

  1. Creación de un RPR.

    aws ec2 create-ipam-routing-policy-registration --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --cidr 18.96.0.0/14 --asns 77221,13446 \ --permit-more-specific-announcements

    A continuación, se muestra un ejemplo del resultado.

    { "deltaId": "0130c368-1f8c-4283-8f16-66e67e633086", "state": "PENDING" }
  2. Comprobación del estado de la diferencia. Si el cambio invalida las rutas existentes, se produce un error. Use --force para anular.

    aws ec2 get-ipam-routing-policy-registration-deltas --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --delta-id 0130c368-1f8c-4283-8f16-66e67e633086
  3. Actualización por lotes (atómica). Las actualizaciones por lotes se realizan correctamente o fallan de forma atómica. No hay ninguna aplicación parcial.

    aws ec2 batch-modify-ipam-routing-policy-registrations --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --delta-json file://delta.json

    Aquí, delta.json contiene lo siguiente.

    { "Add": [ { "prefix": "18.96.0.0/14", "asns": ["77221", "13446"], "permit-more-specific-announcements": "false" } ], "Delete": [ { "prefix": "18.97.16.0/24", "asns": ["77221", "13446"], "permit-more-specific-announcements": "false" } ] }
  4. Ver todos los registros de una asociación.

    aws ec2 get-ipam-routing-policy-registrations --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0

    A continuación, se muestra un ejemplo del resultado.

    { "IpamRoutingPolicyRegistrations": [ { "Cidr": "18.96.0.0/14", "Asns": ["77221", "13446"], "PermitMoreSpecificAnnouncements": false, "MaxLength": 14, "LatestDeltaId": "0130c368-1f8c-4283-8f16-66e67e633086", "State": "create-complete" }, { "Cidr": "18.97.16.0/24", "Asns": ["77221", "13446"], "PermitMoreSpecificAnnouncements": false, "MaxLength": 24, "LatestDeltaId": "0130c368-1f8c-4283-8f16-66e67e633086", "State": "create-complete" } ] }
  5. Filtrar por un prefijo específico.

    aws ec2 get-ipam-routing-policy-registrations --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --cidr 18.96.0.0/14

Paso 6: Configurar las alarmas de CloudWatch para detectar anomalías en las rutas

IPAM publica las métricas de CloudWatch para cada ruta BYOIP en la cuenta de IPAM global. La métrica RoaExpiration se publica en el espacio de nombres AWS/IPAM con las dimensiones Cidr, RoaPrefix, Asn y MaxLength.

Tipo Nombre Descripción
Métrica Expiración de la ROA Número de días que faltan para que expire la ROA
Dimensión Asn ASN para el prefijo
Dimensión Cidr CIDR incorporado a través de BYOIP
Dimensión MaxLength MaxLength de la ROA
Dimensión RoaPrefix Prefijo de la ROA

Como RoaExpiration indica el número de días que quedan hasta que caduque la ROA, emita una alarma cuando el valor caiga hasta su umbral o por debajo de él. Especifique las cuatro dimensiones para centrarse en una única ROA. Cree la alarma en la misma cuenta y región donde se publican las métricas.

aws cloudwatch put-metric-alarm --region us-east-1 \ --alarm-name "IPAM-RoaExpiration-203.0.113.0-24" \ --alarm-description "Alert when the ROA for 203.0.113.0/24 is within 30 days of expiration" \ --namespace "AWS/IPAM" \ --metric-name RoaExpiration \ --dimensions Name=Cidr,Value=203.0.113.0/24 Name=RoaPrefix,Value=203.0.113.0/24 Name=Asn,Value=64512 Name=MaxLength,Value=24 \ --statistic Minimum \ --period 86400 \ --evaluation-periods 1 \ --threshold 30 \ --comparison-operator LessThanOrEqualToThreshold \ --treat-missing-data notBreaching \ --alarm-actions arn:aws:sns:us-east-1:123456789012:roa-expiry-notifications

Eliminación

Para eliminar los recursos de la RPKI delegados:

  1. Elimine todos los registros de políticas de enrutamiento.

  2. Desasocie la Asociación de Registros de Internet.

  3. (Opcional) Elimine la autorización de su portal RIR.

importante

Al eliminar una asociación de registros de Internet, se eliminan todas las ROA administradas por AWS para esa asociación. Asegúrese de que sus rutas tengan una cobertura de ROA alternativa antes de desasociarse.