Mesure personnalisée pour les produits en conteneur avec AWS Marketplace Metering Service - 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.

Mesure personnalisée pour les produits en conteneur avec AWS Marketplace Metering Service

AWS Marketplace les produits en conteneur peuvent être mesurés sur mesure pour un maximum de 24 dimensions de prix différentes par produit. Chaque dimension peut être associée à un prix contractuel à long terme. Pour activer le comptage personnalisé, intégrez votre produit conteneur au AWS Marketplace Metering Service. Vous pouvez définir vos propres unités de tarification et des mesures personnalisées pour cette utilisation ou pour la facturation à AWS l'aide de l'MeterUsageAPIopération.

Les dimensions des prix sont définies à deux endroits, une fois dans le formulaire de chargement du produit et une fois pendant l'MeterUsageopération. Cette méthode à deux facteurs garantit que les offres suivantes fonctionnent comme prévu avant d'être mises à la disposition du public.

Pour configurer le comptage personnalisé, vous devez choisir la catégorie d'utilisation, le type d'unité et les dimensions de tarification :

  • Catégorie d'utilisation — La catégorie d'utilisation aide les acheteurs à comprendre ce qu'est votre produit et comment l'utiliser.

  • Type d'unité — Le type d'unité définit l'unité de mesure pour la facturation. Par exemple, la bande passante mesurée en GBps ouMBps, le nombre d'hôtes, ou les données mesurées en Mo, Go ou To.

  • Dimensions tarifaires : les dimensions tarifaires représentent une fonctionnalité ou un service pour lequel vous avez défini un prix unitaire (par exemple, les utilisateurs, les scans ou les agents déployés). vCPUs Les dimensions des prix sont publiques. Cependant, vous pouvez toujours définir des offres privées et des offres Bring Your Own License (BYOL) pour les produits publics. N'envoyez pas de tarification dans les relevés de mesure. Vous mesurez la quantité d'unités, et nous l'utilisons avec les prix que vous avez définis lors de la création de votre produit pour calculer la facture de l'acheteur.

    Si le prix de votre produit ne correspond à aucune des catégories ou types d'unités prédéfinis, vous pouvez choisir la catégorie d'unités générique. Utilisez ensuite la description des dimensions pour décrire l'unité.

Vous pouvez éventuellement répartir l'utilisation en allocations en fonction des propriétés que vous suivez. Les allocations sont représentées sous forme de balises pour l'acheteur. Ces balises permettent à l'acheteur de visualiser ses coûts répartis en fonction de l'utilisation par valeur des balises. Par exemple, si vous facturez par utilisateur et que les utilisateurs ont une propriété « Service », vous pouvez créer des allocations d'utilisation avec des balises comportant la clé « Département », et une allocation par valeur. Cela ne modifie pas le prix, les dimensions ou l'utilisation totale que vous signalez, mais permet à votre client de consulter ses coûts par catégories correspondant à votre produit.

Nous vous recommandons d'envoyer un relevé de mesure toutes les heures. Cependant, vous pouvez également agréger l'utilisation sur des périodes quotidiennes ou mensuelles. En cas de panne, vous pouvez agréger l'utilisation du logiciel par l'acheteur et l'envoyer dans les heures qui suivent pour le comptage. Vous ne pouvez pas envoyer plus d'un enregistrement par heure.

Important

L'essai gratuit et les droits prépayés sont suivis sur une base horaire. Par conséquent, l'envoi de ces enregistrements séparément peut entraîner une surfacturation à l'acheteur.

Prérequis à la mesure personnalisée

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.

  2. Remplissez le formulaire de chargement du produit avec les informations nécessaires sur les dimensions et renvoyez-le pour traitement.

  3. Utilisez un rôle AWS Identity and Access Management (IAM) pour la tâche ou le module exécutant votre application avec les IAM autorisations nécessaires pour appelerMeterUsage. La politique IAM gérée AWSMarketplaceMeteringRegisterUsage dispose de ces autorisations.

  4. (Facultatif) Nous vous recommandons d'activer la AWS CloudTrail journalisation dans la définition de la tâche ou du pod si vous souhaitez voir la journalisation.

  5. Passez un appel test à l'MeterUsageAPIopération avec un enregistrement de toutes les dimensions de tarification que vous définissez.

Formulaire de chargement de produit pour la mesure personnalisée

Lorsque vous remplissez le formulaire de chargement du produit pour un dosage personnalisé, chaque produit peut avoir jusqu'à 24 dimensions. Les dimensions sont définies dans les champs suivants :

  • Nom de la dimension : nom utilisé lorsque votre application de conteneur envoie des enregistrements de mesure au AWS Marketplace Metering Service. Ce nom indique la dimension que votre acheteur utilisera. Il est visible dans les rapports de facturation. Une fois le nom défini, vous ne pouvez pas le modifier.

  • Description de la dimension : description de la dimension destinée à l'acheteur. La description ne peut pas dépasser 70 caractères. Une fois le produit publié pour les acheteurs, ce champ ne peut plus être modifié.

  • Dimension Rate : prix unitaire du logiciel pour ce produit lorsque les acheteurs paient au fur et à mesure. Ce champ prend en charge trois décimales.

  • Dimension : tarif à long terme : prix total du logiciel sur un contrat à long terme, lorsque les acheteurs paient d'avance.

  • Durée à long terme (jours) — Durée, en jours, du contrat à long terme.

Tester MeterUsage l'intégration et le mode de prévisualisation

Utilisez cette MeterUsage opération pour tester votre intégration avant de soumettre votre image à des AWS Marketplace fins de publication.

Le mode d'aperçu fonctionne de la même manière que le mode de production, sauf que le mode d'aperçu ne vérifie pas le droit d'utiliser votre produit. Pour appeler MeterUsage en mode aperçu, appelez MeterUsage depuis les images du conteneur en exécutant votre produit sur Amazon Elastic Container Service (AmazonECS) ou Amazon Elastic Kubernetes Service (EKSAmazon) Compte AWS avec le nom que vous utilisez pour mettre le produit en vente. AWS Marketplace Votre intégration de mesure doit le définir dynamiquement Région AWS, plutôt que de le coder en dur. Toutefois, lors du test, lancez au moins une ECS tâche Amazon ou un EKS module Amazon contenant votre conteneur payant dans la région de l'est des États-Unis (Virginie du Nord) afin que l'équipe AWS Marketplace des opérations puisse vérifier votre travail avec les journaux de cette région.

Note
  • Si votre produit est compatible avec Amazon ECS et AmazonEKS, il vous suffit de le lancer sur Amazon EKS pour que nous puissions valider votre intégration.

  • Testez chaque dimension avant de lancer votre produit auprès du public et après avoir ajouté une nouvelle dimension. Si vous n'envoyez pas d'enregistrement de mesure pour chaque dimension associée à un produit en conteneur, une erreur se produira et la demande échouera.

Vous ne pouvez pas tester totalement l'intégration tant que votre produit n’a pas été publié avec toutes les métadonnées requises et les informations de tarification. Sur demande, l'équipe chargée des opérations du AWS Marketplace catalogue peut vérifier la réception de vos relevés de mesure en mode aperçu.

Gestion des erreurs pour MeterUsage

Si l'image de votre conteneur s'intègre à l'MeterUsageopération et reçoit une exception autre qu'ThrottlingExceptionau démarrage du conteneur, vous devez arrêter le conteneur pour empêcher toute utilisation non autorisée.

Les exceptions autres que ThrottlingException sont générées uniquement lors de l'appel initial de MeterUsage. Les appels suivants provenant de la même ECS tâche Amazon ou du même EKS module Amazon ne sont pas lancés, CustomerNotSubscribedException même si le client se désabonne alors que la tâche ou le module est toujours en cours d'exécution. Ces clients continuent d’être facturés pour l'exécution de conteneurs après qu'ils se désabonnent et leur utilisation est suivie.

MeterUsageReportez-vous à la section AWS Marketplace Metering Service APIRéférence pour une description détaillée des erreurs courantes pourMeterUsage. Chaque langage AWS SDK de programmation possède un ensemble de directives de gestion des erreurs auxquelles vous pouvez vous référer pour plus d'informations.

Étiquetage mesuré par le fournisseur (facultatif)

Le balisage mesuré par le fournisseur aide les fournisseurs de logiciels indépendants (ISVs) à donner à l'acheteur un aperçu plus précis de l'utilisation de ses logiciels et peut l'aider à répartir les coûts.

Il existe de nombreuses manières d'étiqueter l'utilisation du logiciel par un acheteur. L'une des solutions consiste à demander d'abord à vos acheteurs ce qu'ils souhaitent voir dans leur répartition des coûts. Vous pouvez ensuite répartir l'utilisation entre les propriétés que vous suivez pour le compte de l'acheteur. Les exemples de propriétés incluent AccountIdBusiness Unit,Cost Centers, et d'autres métadonnées pertinentes pour votre produit. Ces propriétés sont présentées à l'acheteur sous forme de balises. À l'aide de balises, les acheteurs peuvent voir leurs coûts répartis en fonction de l'utilisation selon les valeurs des balises dans leur console AWS de facturation (https://console.aws.amazon.com/billing/). Le balisage mesuré par le fournisseur ne modifie pas le prix, les dimensions ou l'utilisation totale que vous signalez. Il permet à votre client de consulter ses coûts par catégories correspondant à votre produit.

Dans un cas d'utilisation courant, un acheteur s'abonne à votre produit avec l'un d'eux Compte AWS. L'acheteur possède également de nombreux utilisateurs associés au même abonnement au produit. Vous pouvez créer des allocations d'utilisation à l'aide de balises dotées d'une clé deAccountId, puis attribuer l'utilisation à chaque utilisateur. Dans ce cas, les acheteurs peuvent activer le AccountId tag dans leur console Billing and Cost Management et analyser l'utilisation individuelle des utilisateurs.

Expérience du vendeur

Les vendeurs peuvent agréger les relevés de mesure des ressources avec le même ensemble de balises au lieu d'agréger l'utilisation de toutes les ressources. Par exemple, les vendeurs peuvent créer le registre des compteurs qui inclut différents compartiments de. UsageAllocations Chaque compartiment UsageQuantity représente un ensemble de balises, telles que AccountId etBusinessUnit.

Dans le schéma suivant, la ressource 1 possède un ensemble unique de BusinessUnit balises AccountId et apparaît dans l'enregistrement de mesure sous la forme d'une entrée unique.

La ressource 2 et la ressource 3 ont toutes deux le même AccountId tag2222, et le même BusinessUnit tag,Operations. Par conséquent, ils sont combinés en une seule UsageAllocations entrée dans le registre de mesure.

Metering record showing resource usage allocation from three resources to two accounts.

Les vendeurs peuvent également combiner des ressources sans étiquette en une seule UsageAllocation avec la quantité d'utilisation allouée et l'envoyer comme l'une des entréesUsageAllocations.

Les limites incluent :

  • Nombre de tags : 5

  • Taille de UsageAllocations (cardinalité) — 2 500

Les validations incluent :

  • Caractères autorisés pour la clé et la valeur du tag — A-zA-Z0-9+ -= . _ : \ /@

  • Nombre maximum de balises dans UsageAllocation la liste : 5

  • Deux ne UsageAllocations peuvent pas avoir les mêmes balises (c'est-à-dire la même combinaison de clés et de valeurs de balise). Si tel est le cas, ils doivent utiliser le mêmeUsageAllocation.

  • La somme AllocatedUsageQuantity de UsageAllocation doit être égale àUsageQuantity, qui est l'utilisation agrégée.

Expérience d'acheteur

Le tableau suivant montre un exemple de l'expérience de l'acheteur après qu'un acheteur a activé les tags AccountId et BusinessUnit vendor.

Dans cet exemple, l'acheteur peut voir l'utilisation allouée dans son rapport d'utilisation des coûts. Les balises mesurées par le fournisseur utilisent le préfixe. “aws:marketplace:isv” Les acheteurs peuvent les activer dans Billing and Cost Management, sous Cost Allocation Tags, sous les balises de répartition des coûts AWS générées par les acheteurs.

Les première et dernière lignes du rapport d'utilisation des coûts concernent ce que le vendeur envoie au service de comptage (comme indiqué dans l'Expérience du vendeurexemple).

Rapport d'utilisation des coûts (simplifié)
ProductCode Acheteur UsageDimension UsageQuantity aws:marketplace:isv:AccountId aws:marketplace:isv:BusinessUnit
xyz 111122223333 Réseau : par (Go) inspecté 70 2222 Opérations
xyz 111122223333 Réseau : par (Go) inspecté 30 3333 Finance
xyz 111122223333 Réseau : par (Go) inspecté 20 4444 IT
xyz 111122223333 Réseau : par (Go) inspecté 20 5555 Marketing
xyz 111122223333 Réseau : par (Go) inspecté 30 1111 Marketing

Pour obtenir un exemple de code, consultez MeterUsageexemple de code avec balisage d'allocation d'utilisation (facultatif).

Exemple de code

L'exemple de code suivant est fourni pour vous aider à intégrer votre produit conteneur aux éléments AWS Marketplace APIs requis pour la publication et la maintenance de votre produit.

MeterUsageexemple de code avec balisage d'allocation d'utilisation (facultatif)

L'exemple de code suivant est pertinent pour les produits en conteneur dotés de modèles de tarification à la consommation. L'exemple Python envoie un enregistrement de mesure avec les balises d'allocation d'utilisation appropriées AWS Marketplace pour facturer des pay-as-you-go frais à vos clients.

# NOTE: Your application will need to aggregate usage for the # customer for the hour and set the quantity as seen below. # AWS Marketplace can only accept records for up to an hour in the past. # # productCode is supplied after the AWS Marketplace Ops team has # published the product to limited # Import AWS Python SDK import boto3 import time usageRecord = [ { "AllocatedUsageQuantity": 2, "Tags": [ { "Key": "BusinessUnit", "Value": "IT" }, { "Key": "AccountId", "Value": "123456789" }, ] }, { "AllocatedUsageQuantity": 1, "Tags": [ { "Key": "BusinessUnit", "Value": "Finance" }, { "Key": "AccountId", "Value": "987654321" }, ] } ] marketplaceClient = boto3.client("meteringmarketplace") response = marketplaceClient.meter_usage( ProductCode="testProduct", Timestamp=int(time.time()), UsageDimension="Dimension1", UsageQuantity=3, DryRun=False, UsageAllocations=usageRecord )

Pour plus d'informations surMeterUsage, voir MeterUsagela AWS Marketplace Metering Service APIréférence.

Exemple de réponse

{ "MeteringRecordId": "string" }