AWS Machine Learning

Gestione ofertas de precios privadas para Amazon Bedrock con derechos administrados

La gestión del acceso a modelos de IA en decenas o cientos de cuentas de AWS genera fricción cuando cada cuenta debe aceptar individualmente las AWS Marketplace Private Pricing Offers. Esta publicación muestra dos formas…

Sequence diagram showing AWS Marketplace sending a Purchase Agreement Created - Acceptor event to Amazon EventBridge, which invokes an AWS Lambda function. The function verifies the seller, discovers the received license, creates a distributed grant, requests activation with CreateGrantVersion(Status=ACTIVE), and writes the outcome to Amazon CloudWatch Logs.
Fuente de la imagen · AWS Machine Learning

La gestión del acceso a modelos de IA en decenas o cientos de cuentas de AWS genera fricción operativa cuando cada cuenta de carga de trabajo debe suscribirse y aceptar individualmente las AWS Marketplace Private Pricing Offers (MPPO). Amazon Bedrock con derechos administrados simplifica el acceso multi-cuenta a modelos de IA de terceros, de modo que puede suscribirse una sola vez desde una cuenta central y distribuir el acceso en toda su organización.

En esta publicación, le mostramos dos formas de activar los derechos de AWS Marketplace Private Pricing Offer (MPPO) en AWS License Manager. Use el script ligero cuando desee una corrección única sin infraestructura para licencias recibidas en las que ya confía. Use la automatización con CDK cuando desee un procesamiento continuo basado en eventos que verifique a los vendedores y cree y active concesiones distribuidas.

Por qué automatizar la activación de concesiones

Con AWS Marketplace Private Pricing Offers, puede negociar tarifas personalizadas para modelos de terceros en Amazon Bedrock. Después de aceptar una oferta privada elegible, AWS Marketplace crea una licencia en AWS License Manager. En AWS Organizations con todas las funciones habilitadas, las concesiones a nivel de organización se aceptan automáticamente pero permanecen Disabled hasta que las active.

Los equipos suelen gestionar esto revisando la consola de AWS License Manager y activando las concesiones manualmente. Las revisiones manuales funcionan, pero añaden esfuerzo y son fáciles de pasar por alto. Hasta que alguien active la concesión, los precios negociados no se aplican. El mismo esfuerzo reaparece a medida que los equipos adoptan nuevos modelos o renuevan condiciones.

Descripción general de la solución

El repositorio de ejemplo proporciona dos rutas:

  • Ruta 1 – La ruta ligera es un script independiente que enumera las licencias recibidas e imprime un plan de simulación (dry-run). Solo crea y activa concesiones para toda la organización cuando lo vuelve a ejecutar con --apply --confirm-account-id. No incluye una lista de vendedores permitidos, por lo que debe usarlo solo cuando confíe en cada licencia recibida en la cuenta de administración.
  • Ruta 2 – La ruta basada en eventos usa el AWS Cloud Development Kit (AWS CDK) para desplegar automatización continua en su cuenta de administración de AWS.

Elija una de las siguientes rutas de implementación. Use la Ruta 1 para una activación única sin CDK. Use la Ruta 2 para automatización continua basada en eventos.

Ruta 1: Script ligero (activación única)

Use esta ruta cuando necesite una activación única sin desplegar CDK. El script enumera cada licencia recibida en la cuenta de administración, así que use la simulación (dry run) como su punto de revisión antes de aplicar cambios.

  1. Clone el repositorio de ejemplo localmente y muévase al directorio del proyecto.
    git clone https://github.com/aws-samples/sample-bedrock-managed-entitlements.git
    cd sample-bedrock-managed-entitlements
  2. Ejecute el script ligero en modo de simulación (dry-run).
    python3 lightweight/distribute_licenses.py
  3. Revise cada licencia enumerada y confirme que el emisor del ISV Partner y el alcance de la cuenta coincidan con la oferta privada que espera.
  4. Aplique el plan revisado desde la misma cuenta de administración de AWS Organizations.
    python3 lightweight/distribute_licenses.py --apply --confirm-account-id ACCOUNT_ID
  5. Después de que la concesión esté activa, valide la ruta de facturación antes de confiar en la oferta privada en producción. Los datos de facturación en AWS Cost Explorer pueden tener retraso, así que úselos para comparar el cargo efectivo del uso de Amazon Bedrock cubierto después de que aparezcan los cargos. Para una verificación repetible, adapte la utilidad de ejemplo scripts/bedrock_discount_check.py para que coincida con su emisor de ISV Partner y confirme la ruta de descuento esperada.

Ruta 2: Automatización con CDK (activación continua)

Use esta ruta cuando desee que los nuevos acuerdos de precios privados se gestionen automáticamente. La pila de CDK escucha eventos de acuerdos elegibles de AWS Marketplace, verifica su lista de vendedores permitidos, crea concesiones distribuidas y reintenta la activación cuando License Manager necesita más tiempo. La solución contiene tres componentes:

  • Regla de Amazon EventBridge: La pila escucha eventos de acuerdos de AWS Marketplace en el bus de eventos predeterminado en us-east-1. La regla coincide con la fuente aws.agreement-marketplace y el tipo de detalle Purchase Agreement Created - Acceptor, y luego invoca la función de AWS Lambda.
  • Función de AWS Lambda: La función recibe el evento de acuerdo de AWS Marketplace, verifica la allow-list del vendedor, descubre la licencia, crea la concesión distribuida y solicita la activación con CreateGrantVersion(Status=ACTIVE). La función registra el resultado en Amazon CloudWatch Logs para fines de auditoría.
  • Entitlements de AWS License Manager: La concesión se dirige a su organización, a unidades organizativas (OUs) seleccionadas o a cuentas específicas. Los precios negociados se aplican solo después de que la concesión se active y alcance ACTIVE o WORKFLOW_COMPLETED.

El siguiente diagrama muestra el flujo basado en eventos.

Sequence diagram showing AWS Marketplace sending a Purchase Agreement Created - Acceptor event to Amazon EventBridge, which invokes an AWS Lambda function. The function verifies the seller, discovers the received license, creates a distributed grant, requests activation with CreateGrantVersion(Status=ACTIVE), and writes the outcome to Amazon CloudWatch Logs.

Figura 1: Diagrama de secuencia que muestra AWS Marketplace enviando un evento Purchase Agreement Created – Acceptor a Amazon EventBridge, el cual invoca una función de AWS Lambda. La función verifica al vendedor, descubre la licencia recibida, crea una concesión distribuida, solicita la activación con CreateGrantVersion(Status=ACTIVE) y escribe el resultado en Amazon CloudWatch Logs.

Beneficios clave de este enfoque:

  • Acceso más rápido a precios negociados. La tarifa negociada se aplica cuando la concesión distribuida alcanza ACTIVE o WORKFLOW_COMPLETED, sin esperar una verificación manual en la consola.
  • Gestión coherente entre cuentas. El mismo patrón de función de AWS Lambda y regla de Amazon EventBridge puede desplegarse para cada organización que reciba concesiones de modelos de terceros, de modo que la lógica de activación no varíe según el operador.
  • Pista de auditoría integrada. Cada intento de activación o decisión de omisión se registra en CloudWatch Logs, lo que le proporciona un registro de cuándo se activó, pospuso o ignoró cada concesión.

Requisitos previos

Antes de desplegar esta ruta, confirme estos requisitos previos:

  • Use la cuenta de administración de AWS Organizations en us-east-1 con Python 3.12+, la AWS Command Line Interface (AWS CLI) y AWS CDK v2 configurados.
  • Confirme que AWS Organizations usa todas las funciones y que la oferta privada es para un modelo de Bedrock respaldado por License Manager. Los productos de software como servicio (SaaS) quedan fuera del alcance de esta automatización.

Pasos de implementación

  1. Clone el repositorio de ejemplo localmente y muévase al directorio del proyecto.
    git clone https://github.com/aws-samples/sample-bedrock-managed-entitlements.git
    cd sample-bedrock-managed-entitlements
  2. Verifique o habilite los requisitos previos de la organización.
    python3 scripts/bootstrap_prereqs.py --check --region us-east-1

    Revise cualquier elemento APPLY o MANUAL antes de realizar cambios. El script de bootstrap puede habilitar la integración de la organización de License Manager, el acceso de confianza de License Manager, el acceso de confianza para la gestión de licencias de AWS Marketplace y los roles vinculados al servicio necesarios.

    python3 scripts/bootstrap_prereqs.py --apply --region us-east-1 --confirm-account-id ACCOUNT_ID
  3. Configure las entradas de despliegue.
    python3 scripts/setup_config.py

    Revise config/sellers.json. Configure su ID de organización, la lista de vendedores permitidos, las notificaciones y los destinos opcionales de concesiones. De forma predeterminada, las concesiones se aplican a toda la organización. Use grantTargets para limitar las concesiones a unidades organizativas (OU) o cuentas de AWS seleccionadas.

  4. Despliegue la pila de CDK.
    cd cdk
    pip install -r requirements.txt
    cdk bootstrap aws://ACCOUNT_ID/us-east-1
    cdk deploy
  5. Pueble la lista de vendedores permitidos de Amazon DynamoDB desde config/sellers.json.
    cd ..
    python scripts/seed_sellers.py --config config/sellers.json

    Trate la lista de vendedores permitidos como un límite de seguridad. Verifique cada ID de cuenta de vendedor contra su oferta privada aceptada de AWS Marketplace o la licencia de License Manager recibida antes de poblar la tabla. No agregue entradas de vendedores amplias o no verificadas, porque los vendedores coincidentes pueden desencadenar la creación y activación de concesiones en todos sus destinos de concesión configurados.

    Tras el despliegue y el poblamiento de la lista de vendedores, la pila está lista para procesar eventos de acuerdos elegibles de AWS Marketplace. La creación y activación de concesiones se produce solo para vendedores verificados en la lista de permitidos, y la activación puede posponerse hasta que License Manager termine de procesar el flujo de trabajo de la concesión.

  6. Valide la automatización desplegada.
    python scripts/e2e_validate.py --org-id o-xxxxxxxxxx --seller-account SELLER_ACCOUNT_ID --simulate
  7. Verifique la activación de concesiones después de un evento de acuerdo elegible de AWS Marketplace.
    aws logs tail /aws/lambda/mppo-grants-handler --follow --region us-east-1
    python scripts/bedrock_discount_check.py --issuer "ISV Partner"

    La visibilidad de la activación y la facturación puede tardar horas o días. Después de que el flujo de trabajo basado en eventos acepte y active las concesiones, confirme el estado de la concesión en AWS License Manager y luego valide el uso cubierto de Amazon Bedrock en AWS Cost Explorer una vez que aparezcan los datos de facturación. Para una comprobación repetible, adapte la utilidad de ejemplo scripts/bedrock_discount_check.py para que coincida con su emisor de ISV Partner y la cuenta vinculada de destino.

Limpieza

Si desplegó esta pila para pruebas, elimínela para evitar los pequeños cargos continuos de Lambda y Amazon EventBridge:

cdk destroy

Voz del cliente

«Como AI Care Partner que respalda millones de consultas clínicas cada semana, Heidi Health depende de modelos fundacionales de terceros a gran escala real. Los precios privados en AWS Marketplace nos ofrecen una forma rentable y eficiente de gestionar ese crecimiento: podemos atribuir de manera granular el uso y los precios entre cuentas y unidades organizativas de AWS, y automatizar la gestión de concesiones a medida que adoptamos nuevos modelos. Esto permite a nuestro equipo de plataforma escalar la gobernanza de costes sin escalar el trabajo manual.»

— Marcus Lau, Jefe de Ingeniería de Plataforma, Heidi Health

Conclusión

Esta publicación mostró dos formas de activar los derechos administrados para ofertas de precios privados de Amazon Bedrock. Use el script ligero para una activación única de licencias recibidas de confianza, o despliegue la automatización con CDK cuando necesite un procesamiento continuo basado en eventos para nuevos acuerdos de AWS Marketplace. Ambos enfoques reducen el esfuerzo manual y ayudan a que los precios negociados se apliquen después de que las concesiones distribuidas se activen.

Para comenzar, pruebe el código de ejemplo en su cuenta de administración de AWS para automatizar las suscripciones de modelos.

Recursos


Acerca de los autores

Fuente original

AWS Machine Learning

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original