Tarification contractuelle pour les produits en conteneur avec AWS License Manager - AWS Marketplace

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tarification contractuelle pour les produits en conteneur avec AWS License Manager

Pour les produits basés sur des conteneurs assortis de tarifs contractuels, utilisez-le AWS License Manager pour associer des licences à votre produit.

AWS License Manager est un outil de gestion des licences qui permet à votre application de suivre et de mettre à jour les licences (également appelées droits) achetées par un client. Cette section fournit des informations sur la manière d'intégrer votre produit à AWS License Manager. Une fois l'intégration terminée, vous pouvez publier votre liste de produits sur AWS Marketplace.

Si vous intégrez License Manager à un produit AWS Marketplace for Containers Anywhere pour Amazon EKS Anywhere, Amazon ECS Anywhere, Amazon Elastic Compute Cloud (AmazonEC2) ou à une infrastructure sur site, suivez les instructions figurant dansIntégration d'un produit AWS Marketplace for Containers Anywhere à License Manager.

Pour plus d'informations AWS License Manager, consultez le guide de AWS License Manager l'utilisateur et la AWS License Managersection du manuel de référence des AWS CLI commandes.

Modèles de licence

AWS Marketplace l'intégration AWS License Manager prend en charge deux modèles de licence :

Modèle de licence configurable

Le modèle de licence configurable (également appelé modèle de licence quantifiable) donne droit à un acheteur à une quantité spécifique de ressources une fois qu'il a acheté une licence.

Vous définissez une dimension tarifaire et un prix unitaire. L'acheteur peut ensuite choisir la quantité de ressources qu'il souhaite acheter.

Exemple de la dimension tarifaire et du prix unitaire

Vous pouvez définir une dimension tarifaire (telle que la sauvegarde des données) et un prix unitaire (tel que 30 $/unité).

L'acheteur peut choisir d'acheter 5, 10 ou 20 unités.

Votre produit suit et mesure l'utilisation pour mesurer la quantité de ressources consommées.

Avec le modèle de configuration, les droits sont comptés de deux manières :

Licence Drawdown

La licence est extraite du pool de licences autorisé lors de l'utilisation. Ce droit est définitivement retiré et ne peut pas être restitué au pool de licences.

Exemple du traitement d'une quantité limitée de données

Un utilisateur a le droit de traiter 500 Go de données. Au fur et à mesure qu'ils continuent à traiter les données, la quantité est prélevée dans le pool de 500 Go jusqu'à ce que toutes les licences de 500 Go soient consommées.

Pour les licences de prélèvement, vous pouvez utiliser l'CheckoutLicenseAPIopération pour vérifier les unités de licence (droits) consommées.

Exemple de sauvegarde vers S3 pour un certain nombre d'unités/an

Vous disposez d'un produit de stockage qui permet de sauvegarder des données sur Amazon Simple Storage Service (Amazon S3) pour un maximum de 1 024 unités de données pendant un an. Votre application peut être lancée en utilisant plusieurs EC2 instances Amazon. Votre application dispose d'un mécanisme permettant de suivre et d'agréger les données. Votre logiciel appelle l'CheckoutLicenseAPIopération avec l'identifiant du produit à chaque sauvegarde ou à intervalles réguliers pour mettre à jour les quantités consommées.

Dans cet exemple, votre logiciel lance l'CheckoutLicenseAPIopération pour extraire 10 unités de données. Lorsque la capacité totale atteint la limite de sauvegarde achetée par le client, l'APIappel échoue.

Demande

linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PERPETUAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=DataConsumption, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"

Réponse

{"CheckoutType": "PERPETUAL", "EntitlementsAllowed": [{ "Name": "IntermediateTier", "Units": "None" }], "Expiration": "2021-04-22Tl9:02:36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }

Licences flottantes

La licence est renvoyée dans le pool contenant le nombre de licences autorisé après utilisation.

Pour les licences flottantes, l'application extrait les droits du pool de droits en utilisant l'CheckoutLicenseAPIopération lors de l'utilisation de la ressource. La réponse de l'CheckoutLicenseAPIopération inclut un jeton de consommation de licence qui est un identifiant unique pour le paiement. Le jeton de consommation de licence peut être utilisé pour effectuer des actions supplémentaires sur les droits retirés, par exemple en les réintégrant dans la licence ou en prolongeant le paiement.

Pour réintégrer les droits dans le pool, utilisez l'CheckInLicenseAPIopération lorsque la ressource n'est plus utilisée.

aws license-manager check-in-license --license-consumption-token "f1603b3c1f574b7284db84..."

En cas d'échec de l'enregistrement des droits (en cas de panne de l'application), les droits sont automatiquement réintégrés dans le pool au bout de 60 minutes. Si la ressource est utilisée pendant plus de 60 minutes, il est recommandé de conserver les droits exclus du pool en utilisant l'ExtendLicenseConsumptionAPIopération tant que la ressource est utilisée.

aws license-manager extend-license-consumption --license-consumption-token "f1603b3c1f574b7284..."
Exemple du nombre d'utilisateurs par rapport à une limite supérieure fixe

Un utilisateur a droit à 500 utilisateurs simultanés sur l'application. Au fur et à mesure que les utilisateurs se connectent et se déconnectent, les utilisateurs sont tirés au sort et renvoyés dans le pool de 500 utilisateurs. Cependant, l'application ne peut pas attirer plus de 500 utilisateurs du pool car 500 utilisateurs simultanés constituent la limite supérieure fixe.

Pour les droits flottants, vous pouvez utiliser l'CheckInLicenseAPIopération pour renvoyer les unités de licence dans le pool de droits.

Exemple du nombre d'utilisateurs simultanés pendant un an

Le prix de votre produit est basé sur le nombre d'utilisateurs simultanés. Le client achète une licence pour 10 utilisateurs pendant un an. Le client lance le logiciel en fournissant des autorisations AWS Identity and Access Management (IAM). Lorsqu'un utilisateur se connecte, votre application lance l'CheckoutLicenseAPIopération pour réduire la quantité de 1. Lorsque l'utilisateur se déconnecte, l'application renvoie cette licence au pool en appelant l'CheckInLicenseAPIopération. Si vous n'appelez pasCheckInLicense, l'unité de licence sera automatiquement enregistrée au bout d'une heure.

Note

Dans la demande suivante, il ne s'key-fingerprintagit pas d'une valeur d'espace réservé mais de la valeur réelle de l'empreinte digitale avec laquelle toutes les licences seront publiées.

Demande

aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=ReadOnlyUSers, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"

Réponse

{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "ReadOnlyUsers", "Count": 10, "Units": "Count", "Value": "Enabled" } }, "Expiration": "2021-04-22Tl9:02: 36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }

Modèle de licence à plusieurs niveaux

Le modèle de licence hiérarchisée permet à un acheteur d'accéder à un niveau spécifique, ou niveau, de fonctionnalités de l'application une fois qu'il a acheté une licence.

Vous créez des niveaux pour votre produit, tels que Basic, Intermediate et Premium. L'acheteur sélectionne ensuite l'un des niveaux prédéfinis.

L'application n'a pas besoin de suivre ou de mesurer l'utilisation de l'application.

Avec le modèle de licence à plusieurs niveaux, les droits ne sont pas pris en compte mais indiquent un niveau de service acheté par le client.

Si vous souhaitez proposer des fonctionnalités groupées ensemble, les niveaux sont préférables.

Exemple des niveaux de base, intermédiaire et premium

Un client peut signer un contrat pour l'un des trois niveaux possibles du logiciel : Basic, Intermediate ou Premium. Chacun de ces niveaux a sa propre tarification. Votre logiciel peut identifier le niveau auquel le client s'est inscrit en invoquant l'CheckoutLicenseAPIopération et en spécifiant tous les niveaux possibles dans la demande.

La réponse à la demande contient le droit correspondant au niveau que le client a acheté. Sur la base de ces informations, le logiciel peut fournir une expérience client appropriée.

Demande

linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=BasicTier, Unit=None" "Name=IntermediateTier, Unit=None" \ "Name=PremiumTier, Unit=None"

Réponse

{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "IntermediateTier", "Units": "None" } }, "Expiration": "2021-04-22Tl9:02:36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }

AWS License Manager prérequis d'intégration

Avant de publier le produit, vous devez effectuer les opérations suivantes :

  1. Créez un nouveau produit conteneur dans Portail de gestion AWS Marketplace le et notez son code produit.

    Pour de plus amples informations, veuillez consulter Création d'un produit de conteneur.

  2. Remplissez le formulaire de chargement du produit (PLF) avec les informations de prix nécessaires et retournez-le pour traitement.

    Pour de plus amples informations, veuillez consulter Création ou mise à jour des informations de tarification pour les produits en conteneur (ancienne version).

  3. Utilisez un IAM rôle pour la tâche ou le module exécutant votre application avec les IAM autorisations nécessaires pour appeler les CheckInLicense API opérations CheckoutLicenseExtendLicenseConsumption, et.

    Les IAM autorisations requises sont détaillées dans la IAM politique suivante.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"VisualEditorO", "Effect":"Allow", "Action":[ "license-manager:CheckoutLicense", "license-manager:GetLicense", "license-manager:CheckInLicense", "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses" ], "Resource":"*" } ] }
  4. Passez un appel test à l'RegisterUsageAPIopération avec un enregistrement de toutes les dimensions de tarification que vous avez définies.

Intégration d'un produit conteneur à License Manager

Pour intégrer votre produit basé sur des conteneurs à License Manager
  1. Définissez IAM les autorisations pour appeler License Manager. Pour de plus amples informations, veuillez consulter AWS License Manager prérequis d'intégration.

  2. Téléchargez le AWS SDK.

    Note

    Ne configurez pas les AWS informations d'identification dans votre logiciel. AWS les informations d'identification de l'acheteur sont automatiquement obtenues lors de l'exécution lorsque votre conteneur est exécuté dans une EC2 instance Amazon, une ECS tâche Amazon ou un EKS pod Amazon.

  3. Ajoutez des contrôles de licence à votre produit.

    Votre produit peut appeler l'CheckoutLicenseAPIopération partout où la vérification de licence doit être effectuée. Pour vérifier la licence, votre produit doit connaître :

    1. L'émetteur de confiance de la licence ()AWS Marketplace

    2. Le produit de l'application SKU (identifiant du produit)

    3. Le droit de vérifier la présence de cette application

    Les API appels varient en fonction du type de licence tarifaire que vous configurez.

  4. Publiez votre liste de produits sur AWS Marketplace.

APIOpérations du License Manager

Pour gérer les licences stockées dans le compte License Manager du client, votre logiciel peut effectuer les API opérations suivantes :

  • GetLicense— Et API que le logiciel peut interroger. Il récupère le statut d'une licence achetée (c'est-à-dire expirée ou expirant bientôt) et envoie une notification de statut au client.

  • CheckoutLicense— Découvre les licences que l'utilisateur a achetées. Vous pouvez également utiliser cette CheckoutLicense API opération pour mettre à jour la quantité de licences lorsque l'utilisateur a consommé une certaine quantité de licences. AvecCheckoutLicense, vous pouvez continuer à vérifier les quantités de licences utilisées par le client. Lorsque le client a épuisé toutes les licences, cet appel renvoie une erreur. Pour plus d'informations sur la cadence de course suggéréeCheckoutLicense, consultezRenouvellements et mises à niveau des licences.

  • ExtendLicenseConsumption— Dans le cas de dimensions flottantes, lorsque le logiciel extrait une licence, celle-ci revient automatiquement au pool après 60 minutes. Si vous souhaitez prolonger la durée pendant laquelle la licence reste retirée, utilisez l'ExtendLicenseConsumptionAPIopération pour prolonger la licence de 60 minutes supplémentaires.

  • CheckInLicense— Dans le cas de dimensions flottantes, lorsque vous souhaitez renvoyer la licence au pool de droits, utilisez l'CheckInLicenseAPIopération.

  • ListReceivedLicensesAPI— Répertorie les licences achetées par l'acheteur.

Renouvellements et mises à niveau des licences

Les clients peuvent renouveler ou mettre à niveau leurs licences sur le Portail de gestion AWS Marketplace. Une fois qu'ils ont effectué un achat supplémentaire, ils AWS Marketplace génèrent une nouvelle version de la licence qui reflète les nouveaux droits. Votre logiciel lit les nouveaux droits en utilisant les mêmes API opérations. Vous n'avez rien à faire de différent en termes d'intégration du License Manager pour gérer les renouvellements et les mises à niveau.

En raison des renouvellements de licence, des mises à niveau, des annulations, etc., nous recommandons que votre produit démarre régulièrement pendant son CheckoutLicense API utilisation. En utilisant l'CheckoutLicenseAPIopération à un rythme régulier, le produit peut détecter les modifications des droits, telles que les mises à niveau et les expirations.

Nous vous recommandons d'effectuer l'CheckoutLicenseAPIappel toutes les 15 minutes.