AWS Machine Learning

Gérer les offres de tarification privées pour Amazon Bedrock avec des droits gérés

La gestion de l'accès aux modèles d'IA sur des dizaines ou des centaines de comptes AWS crée des frictions lorsque chaque compte doit accepter individuellement les AWS Marketplace Private Pricing Offers. Cet article…

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.
Source de l’image · AWS Machine Learning

La gestion de l'accès aux modèles d'IA sur des dizaines ou des centaines de comptes AWS crée une friction opérationnelle lorsque chaque compte de charge de travail doit s'abonner et accepter individuellement les AWS Marketplace Private Pricing Offers (MPPO). Amazon Bedrock avec des droits gérés simplifie l'accès multi-comptes aux modèles d'IA de tiers afin que vous puissiez vous abonner une seule fois depuis un compte central et distribuer l'accès dans toute votre organisation.

Dans cet article, nous vous présentons deux façons d'activer les droits AWS Marketplace Private Pricing Offer (MPPO) dans AWS License Manager. Utilisez le script léger lorsque vous souhaitez une correction ponctuelle sans infrastructure pour des licences reçues en lesquelles vous avez déjà confiance. Utilisez l'automatisation CDK lorsque vous souhaitez un traitement continu piloté par les événements qui vérifie les vendeurs, et crée et active des subventions distribuées.

Pourquoi automatiser l'activation des subventions

Avec les AWS Marketplace Private Pricing Offers, vous pouvez négocier des tarifs personnalisés pour les modèles tiers sur Amazon Bedrock. Après l'acceptation d'une offre privée éligible, AWS Marketplace crée une licence dans AWS License Manager. Dans AWS Organizations avec toutes les fonctionnalités activées, les subventions au niveau de l'organisation sont automatiquement acceptées mais restent Disabled jusqu'à ce que vous les activiez.

Les équipes gèrent souvent cela en consultant la console AWS License Manager et en activant les subventions manuellement. Les vérifications manuelles fonctionnent, mais elles demandent des efforts et sont faciles à oublier. Tant que quelqu'un n'active pas la subvention, la tarification négociée ne s'applique pas. Le même effort se répète à mesure que les équipes adoptent de nouveaux modèles ou renouvellent des conditions.

Présentation de la solution

Le dépôt d'exemple propose deux voies :

  • Voie 1 – La voie légère est un script autonome qui liste les licences reçues et affiche un plan d'exécution à blanc (dry run). Il ne crée et n'active les subventions à l'échelle de l'organisation que si vous le réexécutez avec --apply --confirm-account-id. Il ne dispose pas de liste blanche de vendeurs, utilisez-le donc uniquement lorsque vous faites confiance à chaque licence reçue dans le compte de gestion.
  • Voie 2 – La voie pilotée par les événements utilise l'AWS Cloud Development Kit (AWS CDK) pour déployer une automatisation continue dans votre compte de gestion AWS.

Choisissez l'une des voies de mise en œuvre suivantes. Utilisez la voie 1 pour une activation ponctuelle sans CDK. Utilisez la voie 2 pour une automatisation continue pilotée par les événements.

Voie 1 : script léger (activation ponctuelle)

Utilisez cette voie lorsque vous avez besoin d'une activation ponctuelle sans déployer de CDK. Le script liste chaque licence reçue dans le compte de gestion ; utilisez donc l'exécution à blanc comme étape de validation avant d'appliquer les modifications.

  1. Clonez le dépôt d'exemple localement et placez-vous dans le répertoire du projet.
    git clone https://github.com/aws-samples/sample-bedrock-managed-entitlements.git
    cd sample-bedrock-managed-entitlements
  2. Exécutez le script léger en mode dry-run.
    python3 lightweight/distribute_licenses.py
  3. Examinez chaque licence listée et confirmez que l'émetteur ISV Partner et la portée du compte correspondent à l'offre privée attendue.
  4. Appliquez le plan examiné depuis le même compte de gestion AWS Organizations.
    python3 lightweight/distribute_licenses.py --apply --confirm-account-id ACCOUNT_ID
  5. Une fois la subvention active, validez le chemin de facturation avant de compter sur l'offre privée en production. Les données de facturation dans AWS Cost Explorer peuvent être retardées ; utilisez-les donc pour comparer le montant effectivement facturé pour l'utilisation couverte d'Amazon Bedrock une fois les frais apparus. Pour une vérification répétable, adaptez l'utilitaire d'exemple scripts/bedrock_discount_check.py pour qu'il corresponde à votre émetteur ISV Partner et confirmez le chemin de remise attendu.

Voie 2 : automatisation CDK (activation continue)

Utilisez cette voie lorsque vous souhaitez que les nouveaux accords de tarification privés soient traités automatiquement. La pile CDK écoute les événements d'accord AWS Marketplace éligibles, vérifie votre liste blanche de vendeurs, crée des subventions distribuées et réessaie l'activation lorsque License Manager a besoin de plus de temps. La solution contient trois composants :

  • Règle Amazon EventBridge: La pile écoute les événements d'accord AWS Marketplace sur le bus d'événements par défaut dans us-east-1. La règle correspond à la source aws.agreement-marketplace et le type de détail Purchase Agreement Created - Acceptor, puis invoque la fonction AWS Lambda.
  • Fonction AWS Lambda: la fonction reçoit l'événement d'accord AWS Marketplace, vérifie la liste blanche des vendeurs, découvre la licence, crée la subvention distribuée et demande l'activation avec CreateGrantVersion(Status=ACTIVE). La fonction consigne le résultat dans Amazon CloudWatch Logs à des fins d'auditabilité.
  • Droits AWS License Manager: la subvention cible votre organisation, des unités organisationnelles (OU) sélectionnées ou des comptes spécifiques. La tarification négociée s'applique uniquement après que la subvention est activée et atteint ACTIVE ou WORKFLOW_COMPLETED.

Le diagramme suivant montre le flux piloté par les événements.

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.

Figure 1 : Diagramme de séquence montrant AWS Marketplace envoyant un événement Purchase Agreement Created – Acceptor à Amazon EventBridge, qui invoque une fonction AWS Lambda. La fonction vérifie le vendeur, découvre la licence reçue, crée une subvention distribuée, demande l'activation avec CreateGrantVersion(Status=ACTIVE) et consigne le résultat dans Amazon CloudWatch Logs.

Principaux avantages de cette approche :

  • Réduction du délai d’obtention des tarifs négociés. Le tarif négocié s’applique dès que la subvention distribuée atteint ACTIVE ou WORKFLOW_COMPLETED, sans attendre une vérification manuelle dans la console.
  • Traitement cohérent entre les comptes. La même fonction AWS Lambda et le même modèle de règle Amazon EventBridge peuvent être déployés pour chaque organisation recevant des subventions de modèles tierces, de sorte que la logique d’activation ne varie pas selon l’opérateur.
  • Piste d’audit intégrée. Chaque tentative d’activation ou décision d’omission est journalisée dans CloudWatch Logs, vous offrant un enregistrement du moment où chaque subvention a été activée, différée ou ignorée.

Prérequis

Avant de déployer ce chemin, confirmez ces prérequis :

  • Utilisez le compte de gestion AWS Organizations dans us-east-1 avec Python 3.12+, l’AWS Command Line Interface (AWS CLI) et AWS CDK v2 configurés.
  • Vérifiez qu’AWS Organizations utilise toutes les fonctionnalités et que l’offre privée concerne un modèle Bedrock pris en charge par License Manager. Les produits Software as a service (SaaS) sont hors du périmètre de cette automatisation.

Étapes de mise en œuvre

  1. Clonez le dépôt d’exemple localement et placez-vous dans le répertoire du projet.
    git clone https://github.com/aws-samples/sample-bedrock-managed-entitlements.git
    cd sample-bedrock-managed-entitlements
  2. Vérifiez ou activez les prérequis de l’organisation.
    python3 scripts/bootstrap_prereqs.py --check --region us-east-1

    Examinez tout élément APPLY ou MANUAL avant d’apporter des modifications. Le script de bootstrap peut activer l’intégration de License Manager au niveau de l’organisation, l’accès approuvé de License Manager, l’accès approuvé de gestion des licences AWS Marketplace et les rôles liés aux services requis.

    python3 scripts/bootstrap_prereqs.py --apply --region us-east-1 --confirm-account-id ACCOUNT_ID
  3. Configurez les entrées de déploiement.
    python3 scripts/setup_config.py

    Examinez config/sellers.json. Configurez votre Organization ID, votre liste blanche de vendeurs, les notifications et les cibles de subventions facultatives. Par défaut, les subventions ciblent l’ensemble de l’organisation. Utilisez grantTargets pour limiter les subventions à des OUs ou comptes AWS sélectionnés.

  4. Déployez la pile CDK.
    cd cdk
    pip install -r requirements.txt
    cdk bootstrap aws://ACCOUNT_ID/us-east-1
    cdk deploy
  5. Alimentez la liste blanche de vendeurs Amazon DynamoDB à partir de config/sellers.json.
    cd ..
    python scripts/seed_sellers.py --config config/sellers.json

    Traitez la liste blanche de vendeurs comme une frontière de sécurité. Vérifiez chaque identifiant de compte vendeur par rapport à votre offre privée AWS Marketplace acceptée ou à la licence License Manager reçue avant d’alimenter la table. N’ajoutez pas d’entrées de vendeurs larges ou non vérifiées, car la correspondance avec des vendeurs peut déclencher la création et l’activation de subventions sur vos cibles de subventions configurées.

    Après le déploiement et l’alimentation de la liste de vendeurs, la pile est prête à traiter les événements d’accord AWS Marketplace éligibles. La création et l’activation de subventions ne se produisent que pour les vendeurs vérifiés figurant dans la liste blanche, et l’activation peut être différée jusqu’à ce que License Manager ait terminé le traitement du flux de travail de la subvention.

  6. Validez l’automatisation déployée.
    python scripts/e2e_validate.py --org-id o-xxxxxxxxxx --seller-account SELLER_ACCOUNT_ID --simulate
  7. Vérifiez l’activation de la subvention après un événement d’accord AWS Marketplace éligible.
    aws logs tail /aws/lambda/mppo-grants-handler --follow --region us-east-1
    python scripts/bedrock_discount_check.py --issuer "ISV Partner"

    La visibilité de l’activation et de la facturation peut prendre des heures ou des jours. Une fois que le flux de travail événementiel a accepté et activé les subventions, confirmez l’état de la subvention dans AWS License Manager, puis validez l’utilisation couverte d’Amazon Bedrock dans AWS Cost Explorer une fois les données de facturation apparues. Pour une vérification répétable, adaptez l’utilitaire d’exemple scripts/bedrock_discount_check.py pour qu’il corresponde à votre émetteur ISV Partner et à votre compte lié cible.

Nettoyage

Si vous avez déployé cette pile pour des tests, supprimez-la afin d’éviter les petits frais continus liés à Lambda et Amazon EventBridge :

cdk destroy

Voix du client

« En tant que partenaire de soins par IA prenant en charge des millions de consultations cliniques chaque semaine, Heidi Health s’appuie sur des modèles de fond tiers à une échelle réelle. Les tarifs privés sur AWS Marketplace nous offrent un moyen rentable et efficace de gérer cette croissance : nous pouvons attribuer de manière granulaire l’utilisation et les tarifs entre les comptes AWS et les unités organisationnelles, et automatiser la gestion des subventions à mesure que nous adoptons de nouveaux modèles. Cela permet à notre équipe de plateforme de faire évoluer la gouvernance des coûts sans augmenter le travail manuel. »

— Marcus Lau, responsable de l’ingénierie de plateforme, Heidi Health

Conclusion

Cet article a présenté deux méthodes pour activer les droits gérés pour les offres de tarifs privés Amazon Bedrock. Utilisez le script léger pour une activation ponctuelle des licences reçues de confiance, ou déployez l’automatisation CDK lorsque vous avez besoin d’un traitement continu piloté par les événements pour les nouveaux accords AWS Marketplace. Les deux approches réduisent l’effort manuel et aident à appliquer les tarifs négociés une fois les subventions distribuées activées.

Pour commencer, essayez l’ exemple de code dans votre compte de gestion AWS pour automatiser les abonnements aux modèles.

Ressources


À propos des auteurs

Source originale

AWS Machine Learning

À propos du contenu

La publication originale et les droits appartiennent à la source.

Traduction automatique · Consultez l’original