Maßgeschneiderte Dosierung für AMI-Produkte mit 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 Dosierung für AMI-Produkte mit AWS Marketplace Metering Service

Der AWS Marketplace Metering Service ist eine Preis- und Zählerfunktion, mit der Verkäufer ihre Software direkt nach Nutzungskategorie abrechnen können. Es gibt fünf Nutzungskategorien: Benutzer, Daten, Bandbreite, Hosts oder Einheit. Sie können den Metering Service mit Amazon Machine Image (AMI) -basierten, containerbasierten und Software-as-a-Service (SaaS) -basierten Produkten verwenden. Weitere Informationen finden Sie in der AWS Marketplace Metering Service-API-Referenz.

Alle AMI-basierten Softwareprogramme, die den Metering Service nutzen, müssen die folgenden Anforderungen erfüllen:

  • Ihre Software muss AWS Marketplace über ein Amazon Machine Image (AMI) gestartet werden.

  • Wenn Sie ein vorhandenes Produkt installiert haben AWS Marketplace, müssen Sie ein neues AMI einreichen und ein neues Produkt erstellen, um diese Funktion zu aktivieren.

  • Die gesamte Software muss mit einer AWS Identity and Access Management (IAM-) Rolle bereitgestellt werden. Der Endkunde muss der Amazon Elastic Compute Cloud (Amazon EC2) -Instance, die der Benutzer mit der Software bereitstellt, eine IAM-Rolle hinzufügen. Die Verwendung einer IAM-Rolle ist optional, wenn Sie Software über bereitstellen. AWS Marketplace Es ist erforderlich, wenn Sie die Software AWS Marketplace Metering Service bereitstellen.

  • Ihre Software muss in der Lage sein, auf irgendeine Weise die Nutzung zu bestimmen.

Produkte, die den Metering Service nutzen, müssen Kunden nach einer einzigen Nutzungskategorie abrechnen. Sie können jedoch bis zu 24 Dimensionen einer einzigen Kategorie definieren. Abhängig von der Kategorie, können für die Software nach bereitgestellten Ressourcen, gleichzeitigen Ressourcen oder akkumulierter Ressourcennutzung Gebühren berechnet werden. Alle Kosten fallen beim Kunden weiterhin stündlich an. Die gesamte Nutzung wird monatlich nach demselben Verfahren berechnet und abgerechnet wie bei vorhandener AWS Marketplace Software.

Der AWS Marketplace Metering Service ermöglicht mehrere neue Szenarien. Wenn Ihre Software Hosts überwacht, können Sie z. B. für jeden überwachten Host Gebühren berechnen. Sie können je nach Hostgröße unterschiedliche Preise haben und die Anzahl pro Stunde überwachter gleichzeitiger Hosts berechnen. Gleichermaßen können Sie de Anzahl von Benutzern berechnen, sofern Ihre Software die Anmeldung vieler Benutzer innerhalb einer Organisation erlaubt. Dem Kunden wird stündlich die Gesamtzahl der bereitgestellten Benutzer in Rechnung gestellt.

Aufrufen des AWS Marketplace Metering Service

Ihre Software muss den Metering Service stündlich aufrufen und den Nutzungswert für diese Stunde aufzeichnen.

Wenn Ihre Software gestartet wird, sollte sie das Datum aufzeichnen, minute-of-the-hour bei dem sie gestartet wurde. Dies wird als Startminute bezeichnet. Jede Stunde der Startminute muss Ihre Software den Verbrauchswert für diese Stunde ermitteln und den Messdienst anrufen. Informationen darüber, wie Sie diesen Wert ermitteln können, finden Sie unter Software für die Nutzung des Messdienstes anpassen.

Um jede Stunde in der Startminute aufzuwachen, muss Ihre Software einen der folgenden Ansätze verwenden:

  • Ein Thread in Ihrer Software.

  • Ein Daemon-Prozess, der mit der Instance oder Software startet.

  • Ein Cron-Job, der beim Start der Anwendung konfiguriert wird.

    Anmerkung

    Ihre Software muss den AWS Marketplace Metering Service über die in der Instance des Kunden konfigurierte IAM-Rolle aufrufen und die Nutzungsdimension und -menge angeben.

Ihre Software kann das AWS SDK verwenden, um den AWS Marketplace Metering Service aufzurufen, ähnlich der folgenden Beispielimplementierung:

  1. Verwenden Sie das Instance-Profile, um einen Service-Client zu erstellen. Dies erfordert die für die EC2-Instance konfigurierte Rolle. Die Rollen-Anmeldeinformationen werden automatisch vom SDK aktualisiert.

  2. Lesen Sie jede Stunde Ihre Softwarekonfiguration und den Status aus, um die Nutzungswerte für diese Stunde zu ermitteln. Dies könnte das Sammeln einer beinhalten value-per-dimension.

  3. Rufen Sie auf dem SDK-Client die Methode meterUsage mit den folgenden Parametern auf (zusätzlicher Aufruf für jede verwendete Dimension):

    • timestamp— Zeitstempel der aufgezeichneten Stunde (in UTC).

    • productCode— Der Software zugewiesener Produktcode.

    • dimension— Dimension (oder Abmessungen), die der Software zugewiesen wurden.

    • quantity— Verbrauchswert für die Stunde.

    • allocations— (Optional) Sie können Zuweisungen für die Nutzung der Immobilien angeben, die Sie verfolgen. Diese Zuweisungen müssen zusammen den Gesamtverbrauch im Datensatz ergeben. Dem Käufer werden diese in seinen Abrechnungstools (z. B. in der AWS Billing and Cost Management Konsole) als Tags für die potenzielle Kostenzuweisung angezeigt. Der Käufer muss die Tags in seinem Konto aktivieren, um seine Kosten anhand dieser Tags verfolgen zu können.

Darüber hinaus muss Ihre Software einen regionalen AWS Marketplace Metering Service-Endpunkt aufrufen. Für Ihr Produkt muss ein korrekter regionaler Endpunkt eingerichtet sein, sodass Datensätze us-east-1 an einen us-east-1 Endpunkt und Datensätze us-west-2 an einen us-west-2 Endpunkt gesendet werden. Anrufe innerhalb einer Region bieten Käufern ein stabileres Einkaufserlebnis und verhindern Situationen, in denen sich die Verfügbarkeit einer Region, die nicht mit der Region zusammenhängt, auf Software auswirken könnte, die in einer anderen Region ausgeführt wird.

Wenn Sie Messdatensätze an den Service senden, müssen Sie eine Verbindung zum AWS Marketplace Metering Service in Ihrer Region herstellen. Verwenden Sie die getCurrentRegion() Hilfsmethode, um die Region zu ermitteln, in der die EC2-Instance ausgeführt wird, und übergeben Sie diese Regionsinformationen dann an den MeteringServiceClient Konstruktor. Wenn Sie AWS-Region im SDK-Konstruktor keinen angeben, wird die us-east-1 Standardregion verwendet. Wenn Ihre Anwendung versucht, den Dienst regionsübergreifend aufzurufen, werden die Aufrufe abgewiesen. Weitere Informationen finden Sie unter Ermitteln der aktuellen Region einer Anwendung und getCurrentRegion().

Fehlerbehandlung

Ihr Produkt muss Messdaten an den Service (ein öffentlicher Internet-Endpunkt) senden, damit die Nutzung erfasst und abgerechnet werden kann. Da es für einen Kunden möglich ist, die Netzwerkeinstellungen so zu ändern, dass Ihre Messdaten nicht zugestellt werden können, sollte Ihr Produkt dies durch Auswahl eines Fehlermodus berücksichtigen.

Anmerkung

Bei einigen Messausfällen kann es sich um vorübergehende Probleme bei der Verbindung mit dem AWS Marketplace Metering Service handeln. AWS Marketplace empfiehlt dringend, Wiederholungsversuche für bis zu 30 Minuten mit exponentiellem Back-up durchzuführen, um kurzfristige Ausfälle oder Netzwerkprobleme zu vermeiden.

Typischerweise kann eine Software einen "offenen" (eine Warnmeldung, aber die volle Funktionalität bleibt erhalten) oder "geschlossenen" (alle Funktionen in der Anwendung deaktiviert, bis eine Verbindung wiederhergestellt ist) Fehler verwenden. Sie können wählen, ob Sie für Ihre Anwendung einen offenen, geschlossenen oder speziellen Ansatz nutzen möchten. Wir empfehlen dringend, dass Sie bei weniger als zwei Stunden Messausfall keinen geschlossenen Ansatz nutzen.

Ein Beispiel für einen teilweise offenen Ansatz wäre eine Software, der weiterhin den Zugriff auf die Software erlaubt, aber keine Änderung von Softwareeinstellungen durch den Käufer zulässt. Oder ein Käufer könnte immer noch auf die Software zugreifen, wäre aber nicht in der Lage, zusätzliche Benutzer zu erstellen. Ihre Software ist für die Definition und Durchsetzung des Fehlermodus verantwortlich. Der Fehlermodus Ihrer Software muss in der Übermittlung Ihres AMI enthalten sein und kann später nicht mehr geändert werden.

Einschränkungen

Beachten Sie die folgenden Einschränkungen bei der Entwicklung und Angabe Ihrer Metering Service-fähigen Software:

  • IAM-Rolle und Internet-Gateway-Anforderungen für Ihre Kunden — Ihre Kunden müssen über ein Internet-Gateway verfügen und Ihre Software mit einer IAM-Rolle mit bestimmten Berechtigungen starten. Weitere Informationen finden Sie unter AWS Marketplace Mess- und Berechtigungs-API-Berechtigungen. Ihre Software kann keine Verbindung zum Messdienst herstellen, wenn diese beiden Bedingungen nicht erfüllt sind.

  • Unfähigkeit, dem bestehenden Metering Service-Produkt eine neue Nutzungskategorie hinzuzufügen oder zu ändern — Wenn Kunden Ihr Softwareprodukt abonnieren, stimmen sie den Allgemeinen Geschäftsbedingungen zu. Für die Änderung der Nutzungskategorien in Produkten mit dem Metering Service sind ein neues Produkt und ein neues Abonnement erforderlich.

  • Unfähigkeit, die Abmessungen eines bestehenden Metering Service-Produkts zu ändern — Wenn Kunden Ihr Softwareprodukt abonnieren, stimmen sie den Allgemeinen Geschäftsbedingungen zu. Zum Ändern der Dimensionen in Produkten mit dem Metering Service werden ein neues Produkt und ein neues Abonnement benötigt. Sie können bestehenden Produkten neue Dimensionen hinzufügen, bis zu einem Limit von 24.

  • Fehlende kostenlose Test- und Jahresabonnements — Die Produkte von Metering Service unterstützen bei der Markteinführung keine kostenlosen Testversionen und Jahresabonnements.

  • Überlegungen zur Bereitstellung auf mehreren Instanzen oder auf Clustern — Manche Software wird als Teil einer Bereitstellung mit mehreren Instanzen bereitgestellt. Wenn Sie Ihre Software entwerfen, sollten Sie in Betracht ziehen, wie und wo deren Nutzung gemessen wird und wo die Messdaten ausgegeben werden.

Codebeispiel

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

MeterUsagemit Kennzeichnung der Nutzungszuweisung (optional)

Das folgende Codebeispiel ist relevant für AMI-Produkte 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 MeterUsage dazu finden Sie MeterUsagein der AWS Marketplace Metering Service API-Referenz.

Beispielantwort

{ "MeteringRecordId": "string" }