Blog

Kostenmanagement in der AWS-Cloud – ein Praxisbeispiel

Anhand eines Praxisbeispiels erklären wir Ihnen, wie Kosten in der AWS-Cloud eingespart werden können.
21. Juli 2021
Skaylink

In unserem Beitrag “AWS-Kosten senken – 6 Tipps und Tricks” haben wir bereits einen Überblick über die verschiedenen Methoden gegeben, um AWS-Kosten zu reduzieren. In diesem Blog möchten wir euch anhand eines Use Cases mögliche Sparpotenziale aufzeigen. Ähnliche Berechnungen führen wir auch regelmäßig für unsere Kund*innen durch.

Ausgangslage

Bei unserem Beispielkunden fallen monatliche AWS-Kosten in Höhe von 5.000 € an. Folgende Komponenten der AWS Cloud-Umgebung haben wir als Kostentreiber identifiziert:

  • EC2-Instanzen  – monatliche Kosten von 1.000 €
  • RDS Aurora Datenbank – monatliche Kosten von 1.500 €
  • Amazon CloudFront – monatliche Kosten von 1.500 €

Aus der individuellen Situation des Kunden ergeben sich noch weitere Rahmenbedingungen:

  • Der Kunde vermarktet seine Produkte vorrangig in der DACH-Region und möchte auf Basis hoher Datenschutz-Anforderungen eine Speicherung von Daten in Deutschland garantieren. Daher wird die AWS Region Frankfurt genutzt.
  • Die Nutzung von alternativen Prozessoren (AMD, ARM) soll nicht geprüft werden.
  • Das Unternehmen schließt Vorauszahlungen an AWS aus. 
  • Die Vertragslaufzeiten bei Reserved Instances und Savings Plans sollen auf 12 Monate begrenzt werden, um ein ausgewogenes Verhältnis zwischen Flexibilität und möglichen Rabatt zu erreichen.

Kostentreiber: EC2 Instanzen

EC2-Kosten können sowohl mit Hilfe von Savings Plans als auch EC2 Instanzen gesenkt werden. In der Praxis empfehlen wir den Einsatz von Savings Plans, da man diese noch flexibler ausgestalten kann. Savings Plans sind aktuell für EC2 Instanzen, AWS Fargate und AWS Lambda verfügbar. Bei anderen AWS Services sind Reserved Instances das Mittel der Wahl. 

Meist empfehlen wir Compute Savings Plans, da sie die höchste Flexibilität bieten. Bis zu 35 % Einsparung gegenüber dem On-Demand-Preis sind möglich. Die genaue Ersparnis ist auch von Region und Instanztyp abhängig – eine grobe Übersicht gibt es hier: Savings Plans – Preise

Beispielrechnung 1: Kosten sparen

Wir richten einen Compute Savings Plan mit einer Laufzeit von einem Jahr ohne Vorauszahlung auf 100 % der EC2-Kosten ein. Dies ermöglicht in diesem Fall eine Ersparnis von 28 %.

1.000 € x 28 %  = 280 €. Die monatliche Ersparnis liegt also bei 280 €, die jährliche Ersparnis entsprechend bei 3.360 €.

monatliche EC2-Kosten ohne Savings Planmonatliche EC2-Kosten mit Savings Planmonatliche Ersparnis mit Savings Plan
1.000 €720 €280 € (28 %)
jährliche EC2-Kosten ohne Savings Planjährliche EC2-Kosten mit Savings Planjährliche Ersparnis mit Savings Plan
12.000 €8.640 €

3.360 € (28 %)

Beispielrechnung 2: Kosten sparen & Flexibilität erhalten

In diesem Szenario wollen wir sowohl Kosten sparen als auch Flexibilität erhalten. Die Ausgangssituation ist die gleiche wie in Beispiel 1. Um flexibel zu bleiben, wird der Savings Plan jedoch nicht auf die gesamten EC2-Kosten, sondern nur auf 60 % der Kosten eingerichtet. Die 60 % sind hier als Beispiel für die sogenannten Grundkosten gewählt. Dies sind die Kosten, die für die Grundlast auf der AWS-Infrastruktur mit hoher Sicherheit jeden Monat anfallen. Dieses Vorgehen hat den Vorteil, dass man über die restlichen 40 % flexibel verfügen kann. Dieser 40 %-Anteil kann bei geringer Auslastung somit bis auf 0 € reduziert werden. 

Somit ergibt sich folgende Rechnung: 

Der Savings Plans bezieht sich also nur auf die monatlichen Kosten von 600 €: 1.000 € x 60 % = 600 € 

Die monatliche Ersparnis beim Abschluss des Savings Plans beträgt dann: 600 € x 28 % = 168 €

Für die gesamte Dauer von 12 Monaten sind das 2.016 €

monatliche EC2-Kosten ohne Savings Planmonatliche EC2-Kosten mit Savings Planmonatliche Ersparnis mit Savings Plan
1.000 €832 € (=1000 €-168 €)168 € (16,8 %)
jährliche EC2-Kosten ohne Savings Planjährliche EC2-Kosten mit Savings Planjährliche Ersparnis mit Savings Plan
12.000 €9.984 €2.016 € (16,8 %)

Gehen wir davon aus, dass die gewonnene Flexibilität auch genutzt wird und bei geringer Auslastung die überschüssigen Instanzen abgebaut werden, ergeben sich in diesem Szenario auch noch weitere Ersparnisse.

Beispielrechnung 3: Spot EC2-Instanzen

Als Alternative zu den Savings Plans können EC2 Kosten mit dem Einsatz von Spot Instanzen gesenkt werden. Ungenutzte Kapazitäten von Amazon EC2 Instanzen vermarktet AWS besonders preisgünstig als sogenannte “Spot-Instanzen”. Im Vergleich zum regulären On-Demand-Preis sind laut AWS Ersparnisse von bis zu 90 % möglich. Allerdings können diese Instanzen mit einer Vorlaufzeit von zwei Minuten beendet werden. Da Spot-Instanzen bereits stark rabattiert sind, ist es nicht möglich, Savings Plans auf sie anzuwenden.

Skaylink hat ein Verfahren entwickelt, um AWS Spot Instanzen für längere Zeiträume unterbrechungsfrei zu nutzen. In der Praxis erzielen wir damit Mindestersparnisse von 65 %. Da sich der Preis der Spot-Instanzen regelmäßig verändert, ist die genaue Ersparnis erst mit der Abrechnung der AWS-Kosten im Detail ersichtlich. Erfahrungsgemäß schwankt der Spot-Preis aber nur um wenige Prozent.

In unserem Use Case verteilen wir die EC2 Instanzen wie folgt: 50 % bleiben als On-Demand-Instanzen bestehen. Für die anderen 50 % buchen wir Spot-Instanzen ein. 

500 × 65 % =325 €. Die monatliche Ersparnis liegt dann also bei 325 €.

monatliche EC2-Kosten ohne Spot-Instanzenmonatliche EC2-Kosten mit Spot-Instanzenmonatliche Ersparnis mit Spot-Instanzen
1.000 €675 € (=1000 €-325 €)325 € (32,5 %)
jährliche EC2-Kosten ohne Spot-Instanzenjährliche EC2-Kosten mit Spot-Instanzenjährliche Ersparnis mit Spot-Instanzen
12.000 €8.100 €3.900 € (32,5 %)

Im Fall unseres Beispielkunden wäre eine Lösung mit Spot-Instanzen eine attraktive Lösung, da mehr Ersparnisse ohne Mindestvertragslaufzeit möglich sind. Allerdings muss man beachten, dass Spot-Instanzen nicht für alle Einsatzszenarien geeignet sind.

Kostentreiber: RDS Datenbanken

Für alle instanzbasierten AWS-Services, wie z.B. EC2, RDS, ElastiCache, Elasticsearch, sind Reserved Instances nutzbar. Betrachten wir den Fall für RDS-Datenbank-Instanzen, die oft hohe Kosten verursachen.

Reserved Instances sind nicht mit konkreten Instanzen verknüpft, sondern repräsentieren nur einen Rabatt, den AWS anwendet, sobald Instanzen der Reserved Instance-Größe existieren. Bis zu 72 % Kostenersparnis sind hier möglich. Die genauen Ersparnisse sind natürlich abhängig von Region und Größe der Datenbank-Instanz. Weitere Informationen finden Sie in der AWS Preisliste

Reserved Instances kommen bei uns vor allem bei Kund*innen mit großen RDS Datenbank-Instanzen zum Einsatz. Auch hier zeigen wir das Einsparpotenzial in einer Beispielrechnung. 

Beispielrechnung 1 

Die monatlichen Kosten der RDS Aurora Datenbank-Instanzen betragen 1.500 €. Buchen wir für den kompletten Betrag Reserved Instances bei einem Discount von 29 % ein, ergibt sich eine monatliche Ersparnis von 435 €.

monatliche Kosten ohne Reserved Instances monatliche Kosten mit Reserved Instances monatliche Ersparnis mit Reserved Instances
1.500 € 1.065 € 435 € (29 %)
jährliche Kosten ohne Reserved Instances jährliche Kosten mit Reserved Instances jährliche Ersparnis mit Reserved Instances
18.000 € 12.780 € 5.220 € (29 %)

Wichtig: Bei einer Verkleinerung der genutzten Datenbank würde die Reserved Instance auch auf die kleinere Datenbank-Instanz angewendet, die volle Reserved Instance-Gebühr muss aber weiter bezahlt werden. Bei einer Vergrößerung wird die Reserved Instance anteilig angerechnet.

Beispielrechnung 2

In unserem Use Case gehen wir davon aus, dass nur 50 % der Datenbankkosten in jeden Fall anfallen werden (Grundlast).

750 * 29 % = 217,50 €. Es ergibt sich somit eine monatliche Ersparnis von 217,50 €

monatliche Kosten ohne Reserved Instances monatliche Kosten mit Reserved Instances monatliche Ersparnis mit Reserved Instances
1.500 € 1282,5 € 217,50 € (14,5 %)
jährliche Kosten ohne Reserved Instances jährliche Kosten mit Reserved Instances jährliche Ersparnis mit Reserved Instances
18.000 € 15.390 € 2.610 € (14,5 %)

Die Ersparnis fällt dann in diesem Fall geringer aus, allerdings kann man nun auch flexibler agieren und ein Teil der Datenbank flexibel nutzen. Weitere Einsparungen ergeben sich dann, wenn weniger Kapazitäten benötigt werden. 

Kostentreiber: Amazon CloudFront

Wer in seiner Cloud-Umgebung das CDN Amazon CloudFront nutzt, kann auch in diesem Bereich Kosten reduzieren. AWS selbst kommuniziert, dass Kund*innen mit einem Mindestraffic von 10 TB pro Monat, ein “Private Pricing” anfragen können. Zu beachten ist dabei, dass man sich für eine Mindestabnahme von CDN-Traffic für einen Zeitraum (z.B. 12 Monate) verpflichtet und darauf dann einen Discount erhält. Der Discount ist dabei abhängig von der Höhe des Traffics und die Länge des Commitments.

Auch über einen Managed Service Provider wie Skaylink können Unternehmen dieses Private Pricing erhalten. Im Unterschied zu AWS sind bei Skaylink keine langen Vertragslaufzeiten verpflichtend. Der Discount ist aber natürlich ebenfalls abhängig von der Höhe des Traffics und wird angepasst, sobald sich das Trafficvolumen maßgeblich verändert

Neben dem Traffic beeinflussen auch die Anfragen an das CDN (Requests) die Kosten von Amazon CloudFront. Kund*innen von Skaylink erhalten in Abhängigkeit vom Traffic kostenfreie Requests. In der Praxis bedeutet dies für die Mehrheit der Kund*innen, dass effektiv keine Kosten für Requests anfallen (Request Waver). Voraussetzung dafür ist, dass die AWS-Kosten auch über Skaylink abgerechnet werden.  

Insgesamt lassen sich somit nach unseren Erfahrungen bis zu 50 % der Gesamtkosten für die CDN-Nutzung einsparen.

Die Kosten für CloudFront betragen in unserem Beispiel 1.500 €. Davon entfallen 1.000 € auf den Traffic und 500 € werden für die Requests berechnet. 

Beispielrechnung 1: Private Pricing

Über das Private Pricing bei Skaylink können wir einen Discount von 15 % auf die Traffic-Kosten von 1.000 € anbieten. Dies ergibt eine monatliche Ersparnis von 150 €. Durch den Request Waver entfallen die 500 € Kosten für die Requests. 

monatliche CDN Kostenmonatliche Kosten mit Private Pricingmonatliche Ersparnis mit Private Pricing
1.500 €850 €650 € (43,33 %)
jährliche CDN Kostenjährliche Kosten mit Private Pricingjährliche Ersparnis mit Private Pricing
18.000 €10.200 €7.800 € (43,33 %)

Wer also hohe CloudFront Ausgaben verzeichnet, kann mit dem Private Pricing die Kosten massiv senken.

Fazit

Eine genaue Kostenanalyse zahlt sich also aus. Je nachdem für welche Variante sich der Kunde entscheidet, sind insgesamt Einsparungen von ca. 35 % bei den AWS-Kosten möglich. Dies gilt auch für Unternehmen, die kein CDN nutzen und die Ersparnisse nur im Bereich der EC2-Instanzen und RDS Datenbanken erzielen können. 

Für eine Analyse ist es wichtig zu wissen, welche Kapazitäten für die Grundlast notwendig sind und welche Kapazitäten flexibel benötigt werden könnten (z.B. im Hinblick auf saisonale Lastspitzen oder Aktionstage wie Black Friday). Ein Überblick über die Rechnungen der letzten Monate kann hier weiterhelfen. Gerne unterstützen wir Sie im Rahmens unseres Managed AWS Hostings beim AWS Kostenmanagement – vereinbaren Sie einfach einen Termin mit uns.