Maßgeschneiderte Messung für Containerprodukte mit dem AWS Marketplace Metering Service - AWS Marketplace

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Maßgeschneiderte Messung für Containerprodukte mit dem AWS Marketplace Metering Service

AWS Marketplace Für Produkte in Containern können individuelle Dosierungen für bis zu 24 verschiedene Preisdimensionen pro Produkt verwendet werden. Jeder Dimension kann ein langfristiger Vertragspreis zugeordnet werden. Um die benutzerdefinierte Messung zu aktivieren, integrieren Sie Ihr Container-Produkt in den AWS Marketplace Metering Service. Sie können Ihre eigenen Preiseinheiten und die benutzerdefinierte Messung für diese Nutzung bis hin AWS zur Abrechnung mithilfe des MeterUsageAPI-Vorgangs definieren.

Preisdimensionen werden an zwei Stellen definiert, einmal im Produktladeformular und einmal im Rahmen des MeterUsage Vorgangs. Diese Zwei-Faktor-Methode stellt sicher, dass die nachfolgenden Angebote wie beabsichtigt funktionieren, bevor sie der Öffentlichkeit zugänglich gemacht werden.

Um die benutzerdefinierte Messung einzurichten, müssen Sie die Nutzungskategorie, den Einheitentyp und die Preisgestaltung auswählen:

  • Nutzungskategorie — Die Nutzungskategorie hilft Käufern zu verstehen, um was es sich bei Ihrem Produkt handelt und wie es verwendet wird.

  • Einheitentyp — Der Einheitentyp definiert die Maßeinheit für die Abrechnung. Zum Beispiel die in GBps oder MBps gemessene Bandbreite, die Anzahl der Hosts oder Daten, die in MB, GB oder TB gemessen werden.

  • Preisdimensionen — Die Preisdimensionen stellen eine Funktion oder einen Dienst dar, für den Sie einen Preis pro Einheit festgelegt haben (z. B. Benutzer, Scans, vCPUs oder bereitgestellte Agenten). Die Preisdimensionen sind öffentlich. Sie können jedoch weiterhin private Angebote und BYOL-Angebote (Bring Your Own License) für öffentliche Produkte definieren. Versenden Sie keine Preise in den Messprotokollen. Sie messen die Anzahl der Einheiten, und wir verwenden diese zusammen mit den Preisen, die Sie bei der Erstellung Ihres Produkts festgelegt haben, um den Rechnungsbetrag des Käufers zu errechnen.

    Wenn Ihre Produktpreise keiner der vordefinierten Kategorien oder Einheitentypen entsprechen, können Sie die generische Kategorie Einheiten wählen. Beschreiben Sie dann anhand der Beschreibung der Dimension, um welche Einheit es sich handelt.

Optional können Sie die Nutzung anhand von Eigenschaften, die Sie verfolgen, in Zuordnungen aufteilen. Die Zuweisungen werden dem Käufer in Form von Tags angezeigt. Diese Tags ermöglichen es dem Käufer, seine Kosten aufgeschlüsselt nach Nutzungswerten einzusehen. Wenn Sie beispielsweise nach dem Benutzer abrechnen und Benutzer die Eigenschaft „Abteilung“ haben, können Sie Nutzungszuordnungen mit Tags erstellen, die den Schlüssel „Abteilung“ und eine Zuordnung pro Wert haben. Dadurch werden der von Ihnen gemeldete Preis, die Abmessungen oder die Gesamtnutzung nicht geändert, Ihr Kunde kann seine Kosten jedoch nach Kategorien aufgeschlüsselt nach Kategorien anzeigen, die zu Ihrem Produkt passen.

Wir empfehlen, dass Sie jede Stunde einen Messdatensatz senden. Sie können die Nutzung jedoch auch über tägliche oder monatliche Zeiträume aggregieren. Falls es zu einem Ausfall kommt, können Sie die Softwarenutzung des Käufers zusammenfassen und die Software innerhalb der folgenden Stunden abrechnen. Sie können nicht mehr als einen Datensatz pro Stunde versenden.

Wichtig

Kostenlose Testversion und Prepaid-Anspruch werden stündlich erfasst. Das separate Einsenden dieser Daten kann daher dazu führen, dass dem Käufer zu viel berechnet wird.

Voraussetzungen für die benutzerdefinierte Messung

Bevor Sie das Produkt veröffentlichen, müssen Sie Folgendes tun:

  1. Erstellen Sie ein neues Containerprodukt in der AWS Marketplace Management Portal und notieren Sie sich den zugehörigen Produktcode.

  2. Füllen Sie das Formular zum Laden des Produkts mit den erforderlichen Maßangaben aus und senden Sie es zur Bearbeitung an uns zurück.

  3. Verwenden Sie eine AWS Identity and Access Management (IAM-) Rolle für die Aufgabe oder den Pod, auf dem Ihre Anwendung ausgeführt wird, mit den für den Aufruf erforderlichen IAM-Berechtigungen. MeterUsage Die von IAM verwaltete Richtlinie AWSMarketplaceMeteringRegisterUsage verfügt über diese Berechtigungen.

  4. (Optional) Wir empfehlen, dass Sie die AWS CloudTrail Protokollierung in der Aufgaben- oder Pod-Definition aktivieren, wenn Sie die Protokollierung sehen möchten.

  5. Führen Sie einen Testaufruf für den MeterUsage API-Vorgang mit einem Datensatz für alle von Ihnen definierten Preisdimensionen durch.

Produktladeformular für die benutzerdefinierte Messung

Beim Ausfüllen des Produktladeformulars für die benutzerdefinierte Dosierung kann jedes Produkt bis zu 24 Abmessungen haben. Die Abmessungen sind in den folgenden Feldern definiert:

  • Dimensionsname — Der Name, der verwendet wird, wenn Ihre Container-Anwendung Messdatensätze an die sendet AWS Marketplace Metering Service. Dieser Name gibt an, welche Dimension Ihr Käufer verwendet. Dieser Name wird in Rechnungsberichten angezeigt. Nachdem Sie den Namen festlegt haben, können Sie diesen nicht mehr ändern.

  • Dimensionsbeschreibung — Die an den Käufer gerichtete Beschreibung der Dimension. Die Beschreibung darf 70 Zeichen nicht überschreiten. Nachdem das Produkt öffentlich für Käufer veröffentlicht wurde, kann dieses Feld nicht geändert werden.

  • Abmessungsrate — Der Softwarepreis pro Einheit für dieses Produkt, wenn Käufer nach Bedarf zahlen. Dieses Feld unterstützt drei Nachkommastellen.

  • Dimension Long Term Rate — Der gesamte Softwarepreis für einen langfristigen Vertrag, wenn Käufer im Voraus zahlen.

  • Langfristige Laufzeit (Tage) — Die Dauer des langfristigen Vertrags in Tagen.

Testen der MeterUsage Integration und des Vorschaumodus

Verwenden Sie diesen MeterUsage Vorgang, um Ihre Integration zu testen, bevor Sie Ihr Bild AWS Marketplace zur Veröffentlichung einreichen.

Der Vorschaumodus funktioniert identisch mit dem Produktionsmodus, außer dass der Vorschaumodus nicht die Berechtigung zur Nutzung Ihres Produkts überprüft. Um MeterUsage im Vorschaumodus aufzurufen, rufen Sie MeterUsage von den Container-Images aus auf, indem Sie Ihr Produkt auf Amazon Elastic Container Service (Amazon ECS) oder Amazon Elastic Kubernetes Service (Amazon EKS) mit dem ausführen, auf dem AWS-Konto Sie das Produkt anbieten. AWS Marketplace Ihre Messintegration muss das dynamisch einstellen AWS-Region, anstatt es fest zu codieren. Starten Sie beim Testen jedoch mindestens eine Amazon ECS-Task oder einen Amazon EKS-Pod mit Ihrem bezahlten Container in der Region USA Ost (Nord-Virginia), damit das AWS Marketplace Betriebsteam Ihre Arbeit anhand der Protokolle in dieser Region überprüfen kann.

Anmerkung
  • Wenn Ihr Produkt sowohl Amazon ECS als auch Amazon EKS unterstützt, müssen Sie es nur in Amazon EKS starten, damit wir Ihre Integration validieren können.

  • Testen Sie jede Dimension, bevor Sie Ihr Produkt der Öffentlichkeit vorstellen und nachdem Sie eine neue Dimension hinzugefügt haben. Wenn Sie nicht für jede Dimension, die einem Containerprodukt zugeordnet ist, einen Messdatensatz senden, führt dies zu einem Fehler und die Anfrage schlägt fehl.

Sie können die Integration erst dann vollständig testen, wenn es mit allen erforderlichen Metadaten und Preisinformationen veröffentlicht wurde. Auf Anfrage kann das für die AWS Marketplace Katalogverwaltung zuständige Team den Eingang Ihrer Messdaten im Vorschaumodus überprüfen.

Fehlerbehandlung für MeterUsage

Wenn Ihr Container-Image in den MeterUsage Vorgang integriert wird und eine Ausnahme außer ThrottlingException beim Start des Containers auftritt, sollten Sie den Container beenden, um eine unbefugte Verwendung zu verhindern.

Andere Ausnahmen als ThrottlingException werden nur beim ersten Aufruf von MeterUsage ausgelöst. Nachfolgende Aufrufe von derselben Amazon ECS-Task oder demselben Amazon EKS-Pod werden nicht ausgelöst, CustomerNotSubscribedException selbst wenn der Kunde sich abmeldet, während die Aufgabe oder der Pod noch ausgeführt wird. Diesen Kunden wird das Ausführen der Container auch dann noch in Rechnung gestellt, wenn sie sich abgemeldet haben und ihre Nutzung nachgehalten wird.

Eine ausführliche Beschreibung MeterUsageder häufigsten Fehler für finden Sie in der AWS Marketplace Metering Service API-Referenz. MeterUsage Für jede AWS SDK-Programmiersprache gibt es eine Reihe von Richtlinien zur Fehlerbehandlung, in denen Sie weitere Informationen finden können.

Tagging nach Herstellerangaben (optional)

Durch die Kennzeichnung mit Herstellerangabe können unabhängige Softwareanbieter (ISVs) dem Käufer detailliertere Einblicke in seine Softwarenutzung geben und ihn bei der Kostenverteilung unterstützen.

Es gibt viele Möglichkeiten, die Softwarenutzung eines Käufers zu kennzeichnen. Eine Möglichkeit besteht darin, Ihre Käufer zunächst zu fragen, was sie in ihrer Kostenaufteilung sehen möchten. Anschließend können Sie die Nutzung auf die Immobilien aufteilen, die Sie für das Konto des Käufers nachverfolgen. Zu den Eigenschaften gehören beispielsweise AccountIdBusiness Unit,Cost Centers, und andere relevante Metadaten für Ihr Produkt. Diese Eigenschaften werden dem Käufer als Tags angezeigt. Mithilfe von Stichwörtern können Käufer ihre Kosten in ihrer AWS Abrechnungskonsole (https://console.aws.amazon.com/billing/) nach Nutzung aufgeteilt nach Tagwerten einsehen. Das Tagging mit Lieferantenzählung hat keine Auswirkungen auf den Preis, die Abmessungen oder die Gesamtnutzung, die Sie melden. So können Ihre Kunden ihre Kosten nach Kategorien aufteilen, die zu Ihrem Produkt passen.

In einem gängigen Anwendungsfall abonniert ein Käufer Ihr Produkt mit einem AWS-Konto. Der Käufer hat außerdem zahlreiche Benutzer, die mit demselben Produktabonnement verknüpft sind. Sie können Nutzungszuordnungen mit Tags erstellen, die den Schlüssel von habenAccountId, und dann jedem Benutzer die Nutzung zuweisen. In diesem Fall können Käufer das AccountId Tag in ihrer Billing and Cost Management-Konsole aktivieren und die Nutzung einzelner Benutzer analysieren.

Erfahrung des Verkäufers

Verkäufer können die Messdaten für Ressourcen mit demselben Satz von Stichwörtern zusammenfassen, anstatt die Nutzung für alle Ressourcen zu aggregieren. Verkäufer können beispielsweise einen Messdatensatz erstellen, der verschiedene Kategorien von Daten umfasst. UsageAllocations Jeder Bucket steht UsageQuantity für eine Reihe von Stichwörtern, wie z. B. AccountId undBusinessUnit.

Im folgenden Diagramm hat Ressource 1 einen eindeutigen Satz von AccountId und BusinessUnit -Tags und wird im Messdatensatz als ein einziger Eintrag angezeigt.

Ressource 2 und Ressource 3 haben beide dasselbe AccountId Tag,2222, und dasselbe BusinessUnit Tag,Operations. Dadurch werden sie zu einem einzigen UsageAllocations Eintrag im Messdatensatz zusammengefasst.

Verkäufer können auch Ressourcen ohne Tags zu einem einzigen Ressourcen UsageAllocation mit der zugewiesenen Nutzungsmenge zusammenfassen und diese als einen der Einträge einsendenUsageAllocations.

Zu den Beschränkungen gehören:

  • Anzahl der Tags — 5

  • Größe von UsageAllocations (Kardinalität) — 2.500

Zu den Validierungen gehören:

  • Zulässige Zeichen für den Tag-Schlüssel und -Wert — a-zA-Z0-9+ -= . _:\ /@

  • Maximale Anzahl von Tags in UsageAllocation der Liste — 5

  • Zwei UsageAllocations können nicht dieselben Tags haben (d. h. dieselbe Kombination von Tag-Schlüsseln und -Werten). Wenn das der Fall ist, müssen sie dasselbe verwendenUsageAllocation.

  • Die Summe AllocatedUsageQuantity von UsageAllocation muss dem entsprechenUsageQuantity, was der aggregierten Nutzung entspricht.

Käufererlebnis

Die folgende Tabelle zeigt ein Beispiel für das Einkaufserlebnis, nachdem ein Käufer die Tags AccountId und die BusinessUnit Lieferanten-Tags aktiviert hat.

In diesem Beispiel kann der Käufer die zugewiesene Nutzung in seinem Kostennutzungsbericht sehen. Die Tags mit Lieferantenzählung verwenden das Präfix. “aws:marketplace:isv” Käufer können sie in der Billing and Cost Management unter „AWS Kostenverrechnungs-Tags“ aktivieren.

Die erste und letzte Zeile des Kostennutzungsberichts beziehen sich auf das, was der Verkäufer an den Messdienst sendet (wie im Erfahrung des Verkäufers Beispiel gezeigt).

Bericht über die Nutzung der Kosten (vereinfacht)
ProductCode Käufer UsageDimension UsageQuantity aws:marketplace:isv:AccountId aws:marketplace:isv:BusinessUnit
xyz 111122223333 Netzwerk: pro (GB) geprüft 70 2222 Operationen
xyz 111122223333 Netzwerk: pro (GB) geprüft 30 3333 Finanzen
xyz 111122223333 Netzwerk: pro (GB) geprüft 20 4444 IT
xyz 111122223333 Netzwerk: pro (GB) geprüft 20 5555 Marketing
xyz 111122223333 Netzwerk: pro (GB) geprüft 30 1111 Marketing

Ein Codebeispiel finden Sie unter MeterUsageCodebeispiel mit Kennzeichnung der Nutzungszuweisung (optional).

Codebeispiel

Das folgende Codebeispiel soll Ihnen helfen, Ihr Container-Produkt mit den AWS Marketplace APIs zu integrieren, die für die Veröffentlichung und Wartung Ihres Produkts erforderlich sind.

MeterUsageCodebeispiel mit Kennzeichnung der Nutzungszuweisung (optional)

Das folgende Codebeispiel ist relevant für Containerprodukte mit Verbrauchspreismodellen. Das Python-Beispiel sendet einen Messdatensatz mit entsprechenden Nutzungszuweisungs-Tags an AWS Marketplace , um Ihren Kunden pay-as-you-go Gebühren in Rechnung zu stellen.

# 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 )

Weitere Informationen zu MeterUsage finden Sie MeterUsagein der AWS Marketplace Metering Service API-Referenz.

Beispielantwort

{ "MeteringRecordId": "string" }