AWS Germany – Amazon Web Services in Deutschland
Überprüfen Sie Ihre AWS Free Tier-Nutzung programmatisch mit einer neuen API
Von Danilo Poccia, Chief Evangelist, übersetzt von Alex König, Sr. Solutions Architect, AWS
Ab heute können Sie Ihre Nutzung des AWS Free Tier mit der neuen AWS Free Tier API überprüfen. Sie können die API direkt mit der AWS-Befehlszeilenschnittstelle (AWS CLI) verwenden oder sie mit den AWS SDKs in eine Anwendung integrieren.
Das AWS Free Tier-Programm bietet Ihnen die Möglichkeit, AWS-Services bis zu den für jeden Service festgelegten Grenzen kostenlos zu erkunden und auszuprobieren. Das AWS Free Tier-Programm umfasst drei verschiedene Arten von Angeboten:
- Dauerhaft kostenlose Angebote ermöglichen es Kunden, einen Service bis zu bestimmten Grenzen kostenlos zu nutzen, solange sie AWS-Kunden sind.
- Bei den 12-Monats-Angeboten können Kunden einen Dienst ein Jahr lang ab dem Datum der Aktivierung des Kontos bis zu den angegebenen Grenzen kostenlos nutzen.
- Kurzzeitige Testversionen sind je nach Service für einen bestimmten Zeitraum oder bis zu einem einmaligen Limit kostenlos.
Sobald Sie beginnen, AWS-Ressourcen zu nutzen und mit AWS-Services zu interagieren, die ein kostenloses Kontingent anbieten, müssen Sie Ihren Fortschritt in Richtung des Limits für das kostenlose Kontingent verfolgen, damit Sie wissen, wann Sie mit dem Wechsel zum kostenpflichtigen Kontingent rechnen müssen.
Es gibt einige Möglichkeiten, wie Sie die Nutzung Ihres AWS Free Tier verfolgen können:
- Die Nutzungswarnungen in den Abrechnungseinstellungen der AWS-Konsole für Abrechnung und Kostenverwaltung sind standardmäßig aktiviert (es sei denn, das Konto wurde über AWS Organizations erstellt) und senden Ihnen E-Mails, wenn Sie 85 Prozent des Free Tier-Limits für den jeweiligen Service überschreiten.
- Im Abschnitt Budgets der Fakturierungs- und Kostenmanagementkonsole können Sie ein Budget ohne Ausgaben oder mit monatlichen Kosten erstellen. Bei der Verwendung von Vorlagen sind nur ein paar Klicks und die Angabe der E-Mail-Adresse, die benachrichtigt werden soll, erforderlich.
- Die Seite Free Tier in der Fakturierungs- und Kostenmanagementkonsole informiert Sie über den Service, die Art des Angebots, die aktuelle Nutzung und die prognostizierte Nutzung für jedes Angebot im aktuellen Abrechnungszeitraum.
- Die neue GetFreeTierUsage-API[EN] liefert dieselben Informationen wie die Seite „Free Tier“ in einem strukturierten Format, das Sie programmatisch verwenden können.
Schauen wir uns an, wie diese neue API in der Praxis funktioniert.
Verwendung der AWS Free Tier API mit der AWS CLI
Ich habe Zugang zu einem neuen Konto, das in den letzten Monaten erstellt wurde. Hier verwende ich die AWS-Befehlszeilenschnittstelle (AWS CLI), um die GetFreeTierUsage-API aufzurufen.
aws freetier get-free-tier-usage
Die Antwort ist ein JSON-Dokument, das eine Beschreibung der aktuellen Nutzung für jedes Angebot enthält, das für dieses Konto im aktuellen Abrechnungszeitraum gilt. Der Einfachheit halber zeige ich hier nur ein paar Angebote.
{
"freeTierUsages": [
{
"service": "Amazon Simple Queue Service",
"operation": "",
"usageType": "Requests",
"region": "global",
"actualUsageAmount": 294387.0,
"forecastedUsageAmount": 679354.6153846154,
"limit": 1000000.0,
"unit": "Requests",
"description": "1000000.0 Requests are always free per month as part of AWS Free Usage Tier (Global-Requests)",
"freeTierType": "Always Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "",
"usageType": "EBS:VolumeUsage",
"region": "global",
"actualUsageAmount": 9.0,
"forecastedUsageAmount": 33.0,
"limit": 30.0,
"unit": "GB-Mo",
"description": "30.0 GB-Mo for free for 12 months as part of AWS Free Usage Tier (Global-EBS:VolumeUsage)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "RunInstances:0002",
"usageType": "BoxUsage:freetier.micro",
"region": "global",
"actualUsageAmount": 476.0,
"forecastedUsageAmount": 851.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "RunInstances",
"usageType": "BoxUsage:freetier.micro",
"region": "global",
"actualUsageAmount": 225.0,
"forecastedUsageAmount": 485.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Redshift",
"operation": "RunComputeNode:0001",
"usageType": "Node:dc2.large",
"region": "global",
"actualUsageAmount": 367.0,
"forecastedUsageAmount": 735.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free per month during a short-term trial as part of AWS Free Usage Tier (Global-Node:dc2.large)",
"freeTierType": "Free Trial"
},
...
]
}
In der freeTierUsages
-Liste finde ich einige der am häufigsten genutzten Angebote:
- Zwei Compute-Angebote für Amazon Elastic Compute Cloud (Amazon EC2).
- Das Angebot mit der
Operation
RunInstances:0002
ist für Windows. - Das Angebot mit der
Operation
RunInstances
ist für Linux. - Der Wert der
Operation
ist derselbe wie die Plattformdetails und die Nutzungsoperation, die auf den Seiten für Instanzen oder AMIs in der Amazon EC2-Konsole angezeigt werden. Weitere Informationen finden Sie in den Feldern für AMI-Abrechnungsinformationen im Amazon EC2 User Guide.
- Das Angebot mit der
- Ein Speicherangebot für Amazon Elastic Block Store (Amazon EBS) Dieses und die beiden Amazon EC2 Compute-Angebote haben einen
freeTierType
von12 Months Free
. - Ein
Always Free
-Angebot für Amazon Simple Queue Service (Amazon SQS). - Ein Angebot für eine (kurzfristige)
kostenlose Testphase
für Amazon Redshift.
Werfen wir einen Blick auf einige Eigenschaften dieser Angebote:
description
gibt eine lesbare Beschreibung, worum es bei dem Angebot geht.freeTierType
gibt den Typ des Angebots an:Always Free
(immer kostenlos),12 Months Free
(12 Monate kostenlos) oderFree Trial
(zeitlich begrenzte, kostenlose Testversion).unit
beschreibt die Einheit, die zur Messung der Nutzung des Angebots verwendet wird. Zum BeispielHrs
(Stunden) für EC2-Instanzen,GB-Mo
(GB-Monat) für EBS-Volumes,Requests
(Anfragen) für Amazon SQS und so weiter.
Drei interessante Eigenschaften sind das Limit des Angebots (limit
), die tatsächliche Nutzungsmenge des Angebots (actualUsageAmount
) und die prognostizierte Nutzungsmenge (forecastedUsageAmount
) am Ende des Abrechnungszeitraums (des aktuellen Monats). Sie beruhen alle auf der vom Angebot verwendeten Einheit. Die Windows- und Linux-Compute-Angebote haben zum Beispiel jeweils ein Limit von 750 Stunden pro Monat. Für das Speicherangebot liegt die Grenze bei 30 GB pro Monat. Für Amazon SQS liegt das Limit des Angebots bei einer Million Anfragen pro Monat.
Einzelheiten zu den Limits und den kostenlos angebotenen Services finden Sie auf der Seite AWS Free Tier und auf der Preisseite des jeweiligen Services. Die von der AWS Free Tier-API bereitgestellten tatsächlichen und prognostizierten Nutzungsmengen werden bis zu dreimal pro Tag ausgewertet, ähnlich wie bei den AWS-Kosten- und Nutzungsberichten.
Wenn die prognostizierte Nutzung über dem Limit für das Angebot liegt, muss ich damit rechnen, dass ich vor Ende des Abrechnungszeitraums zum Umlageverfahren übergehe, wenn ich den Dienst weiterhin auf die gleiche Weise nutze. Die tatsächliche Nutzung wird von der GetFreeTierUsage-API nicht mehr verfolgt, sobald das Limit erreicht ist. Das bedeutet, dass die tatsächliche Nutzung nicht größer sein kann als das Limit. Wenn das der Fall ist, wird das entsprechende Angebot nicht von der API zurückgegeben.
Ich suche beispielsweise mit der Option --query
der AWS-CLI nach den Angeboten, bei denen die Prognose größer als das Limit ist:
aws freetier get-free-tier-usage --query 'freeTierUsages[?forecastedUsageAmount > limit]'
{
"freeTierUsages": [
{
"service": "Amazon Elastic Compute Cloud",
"operation": "",
"usageType": "EBS:VolumeUsage",
"region": "global",
"actualUsageAmount": 9.0,
"forecastedUsageAmount": 33.0,
"limit": 30.0,
"unit": "GB-Mo",
"description": "30.0 GB-Mo for free for 12 months as part of AWS Free Usage Tier (Global-EBS:VolumeUsage)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "RunInstances:0002",
"usageType": "BoxUsage:freetier.micro",
"region": "global",
"actualUsageAmount": 476.0,
"forecastedUsageAmount": 851.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)",
"freeTierType": "12 Months Free"
}
]
}
Diesem Ergebnis zufolge kann ich, wenn ich innerhalb der Free Tier-Grenzen bleiben möchte, überprüfen, wie ich EBS-Volumes und Amazon EC2-Compute mit Windows nutze.
Zum Beispiel nutze ich derzeit 476 Stunden der 750 Stunden, die in einem Monat für Windows EC2-Instanzen zur Verfügung stehen. Bei diesem Tempo werde ich voraussichtlich die Grenze überschreiten und etwa 851 Stunden erreichen. Wenn mich die Kosten stören, kann ich meine Windows-Instanzen, in der Nacht oder wenn sie nicht gebraucht werden, abschalten.
Wichtig zu Wissen
Zuvor war die Free Tier-API[EN] nicht öffentlich verfügbar und wurde intern für die Free Tier-Seite in der AWS Billing-Konsole verwendet, wo Sie dieselben Daten finden können. Wir hoffen, dass die Veröffentlichung der GetFreeTierUsage-API[EN] Ihnen dabei helfen kann, Spaß mit AWS zu haben. Die API unterstützt sie dabei die AWS Free Tier-Angebote besser zu nutzen und zu wissen, was kostenlos ist und was zu tun ist, wenn Sie ein Limit erreichen oder überschreiten.
Anhand dieser Informationen können Sie benutzerdefinierte Berichte erstellen, die Ihren Geschäftsanforderungen entsprechen. Wenn Sie beispielsweise Rechenkosten vermeiden möchten, können Sie Ihre EC2-Instanzen programmatisch stoppen, in den Ruhezustand versetzen oder die Größe einer EC2 Auto Scaling-Gruppe auf Null setzen. Sie können eines der AWS-SDKs verwenden, um eine Web-App zu erstellen oder diese Daten in eine Überwachungslösung zu integrieren.
Generell können Sie zusätzliche E-Mails oder Benachrichtigungen (z. B. über Amazon SES oder Amazon SNS) senden, wenn die Nutzung eines Angebots nahe an der Grenze ist. Auf diese Weise können Sie den maximalen Nutzen aus einem Angebot ziehen, ohne dass Ihnen zusätzliche Kosten entstehen. Sie können dies auch mit AWS-Budgets tun, wenn Sie ein Nutzungsbudget auf das Free Tier-Limit festlegen.
Wenn ein Angebot für dieses Konto nicht mehr gilt (z. B. weil es am Ende des Vormonats abgelaufen ist), wird der entsprechende Eintrag nicht in die Liste ihrer Free Tier Services aufgenommen. Wenn Sie die Ergebnisse früherer API-Aufrufe speichern, können Sie die Liste der Angebote mit denen vergleichen, die während des vorherigen Abrechnungszyklus gemeldet wurden. So sehen sie, welche Angebote kürzlich abgelaufen sind.
Um mehr darüber zu erfahren, wie Sie Ihre AWS Free Tier-Nutzung nachverfolgen können, haben wir diese drei 10-minütigen Kurse auf AWS Skill Builder erstellt, einem Online-Lernzentrum, in dem Sie von AWS-Experten lernen und online Cloud-Fähigkeiten aufbauen können:
- AWS Free Tier: Introduction to Offerings[EN]
- AWS Free Tier: Introduction to Monitoring Services[EN]
- AWS Free Tier: Introduction to Managing Services[EN]