EC2-/ Compute-Kosten durch Rightsizing optimieren EC2-Rightsize Solution, Cost Explorer Recommendation und AWS Compute Optimizer

In meinen Kursen kommen wir im Abschnitt Virtuelle Maschinen/EC2 zwangsläufig immer irgendwann auf das Thema „passende“ Instanz-Größe zu sprechen. Wie also kann der Nutzer herausfinden, bzw. sicher sein, dass er den richtigen Instanz-Typ für seine Anwendung ausgewählt hat. Eigentlich gleicht die Auswahl des richtigen Instanz-Typs einem Spagat zwischen Intuition, Kunst und Wissenschaft.

Im Grunde muss der Nutzer die Leistungsmerkmale seiner Anwendung unter „normalen Umständen“ (quasi die Baseline) sowie die zu erwartenden täglichen Schwankungen kennen und dann den Instanz-Typ auswählen, der diesen Merkmalen entspricht. Danach muss man quasi alle wichtige Metriken permanent überwachen, um die getroffene Auswahl zu validieren.

So iteriert man quasi über Zeit und passt ggf. den Instanz-Typ bei Bedarf so an, dass das Ergebnis ein akzeptables Kosten-Leistungs-Verhältnis darstellt, denn das unnötige Überprovisieren  von Ressourcen führt zwangsläufig dazu, dass die Infrastruktur zu teuer wird. Auf der anderen Seite verursacht eine zu  geringe Bereitstellung von Ressourcen eine verminderte Anwendungsleistung, was sich möglicherweise auf das Kundenerlebnis auswirkt.

EC2 Right Size Solution

Vor 2019 bot AWS keine direkte Unterstützung beim Rightsizing von EC2-Instanzen. Allerdings findet sich unter den https://aws.amazon.com/de/solutions/?solutions-all.sort-by=item.additionalFields.sortDate&solutions-all.sort-order=desc AWS Solutions schon seit einiger Zeit eine Vorlage für https://aws.amazon.com/solutions/cost-optimization-ec2-right-sizing/ EC2 Right Sizing.

Die EC2-Lösung für die richtige Dimensionierung von EC2-Instanzen analysiert die Nutzungsdaten für zwei Wochen, um detaillierte Empfehlungen für die richtige Dimensionierung von Amazon EC2-Instanzen bereitzustellen. Folge Abbildung zeigt die Architektur der Lösung.

Eine von AWS Solutions Architekten erstellte Rightsizing-Lösung.

Das von AWS bereitgestellte Cloud Formation Template erstelle einen Amazon Redshift-Cluster, ein Amazon S3-Bucket und eine Amazon EC2-Instanz in einem Amazon VPC-Netzwerk (Amazon Virtual Private Cloud). Die Instanz hostet eine Reihe von Python-Skripten, mit denen Nutzungsdaten von Amazon CloudWatch zur Analyse der richtigen Größe zu Amazon Redshift hochgeladen werden.

Für eine effektive Bewertung aller Instanz-Größen in der ausgewählten VPC muss man diese Anwendung einmal bereitstellen und dann 2 Wochen laufen lassen. Das Ergebnis finden sich anschließend in Form eines aussagekräftigen Reports in S3 wieder.

Unterliegen die eigenen Workloads keinen allzugroßen Schwankungen, kann man die Analyse später nur sporadisch laufen lassen, um sich ein grobes Bild zu verschaffen, denn immerhin fallen für Amazon RedSHift, eine weitere EC2-Instanz sowie und S3 ebenfalls Kosten an. Überschlagsmäßig kalkuliert fallen für den Betrieb der Right-Size-Solution ca. 0.65 USD pro Stunde, berechnet für US East an.

Das Template kann direkt von AWS https://s3.amazonaws.com/solutions-reference/cost-optimization-ec2-right-sizing/latest/cost-optimization-ec2-right-sizing.template heruntergeladen werden. Das Ergebnis wird im Ziel-Bucket als csv-File bereitgestellt, das für jede Instanz den „aktuellen“, sowie den „empfohlenen“ (NewInstanceType) sowie die unmittelbar erzielbare Ersparnis anzeigt.

Ein exemplarisches Ergebnis als CSV (Quelle: https://docs.aws.amazon.com/)

Cost Explorer Rightsizing Recommendations

Darüber hinaus hat AWS Anfang 2019 die https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html Cost Explorer Rightsizing Recommendations eingeführt.

Mit Hilfe der Cost Explorer Rightsizing Recommendations können Nutzer sehr einfach nicht ausgelastete EC2-Instanzen identifizieren. Diese lassen sich dann innerhalb der gleichen Instanz-Familie problemlos verkleinern, um Geld zu sparen. Zum Aktvieren der Empfehlungen muss man lediglich den Cost Explorer aufrufen und beim „Empfehlungen zur Ressourcenoptimierung“ auf „Aktivieren klicken.

Cost Explorer Empfehlungen helfen seit 2019 ebenfalls beim Rightsizing.

Dann klickt man auf „Erhalten Sie Empfehlungen zu Amazon EC2-Ressourcen.

Die Kostenempfehlungen für EC2 müssen aber erst aktiviert werden.

AWS Compute Optimizer

Anfang Dezember nun hat AWS einen neuen Dienst https://aws.amazon.com/de/compute-optimizer/ AWS Compute Optimizer  angekündigt, mit dessen Hilfe AWS-Nutzer ebenfalls Compute-Ressourcen für Ihre Workloads optimieren können. Der AWS Compute Optimizer verwendet Techniken für maschinelles Lernen, um den Verlauf des Ressourcenverbrauchs im angegebenen Konto zu analysieren und gut formulierte und umsetzbare Empfehlungen abzugeben, die auf die eigene Ressourcennutzung zugeschnitten sind.

Konkret analysiert Compute Optimizer die Konfiguration und die Ressourcenauslastung aller Workloads im eigenen Konto, um aussagekräftige Merkmale zu ermitteln, etwa ob ein bestimmter Workload CPU-gebunden ist, wiederkehrende Muster aufweist oder häufig auf den lokalen Speicher zugreift. Der Service verarbeitet diese Merkmale und identifiziert die erforderlichen Hardwareressourcen für die jeweilige Workload.  Dann berechnet der Compute Optimizer, welche Leistung die Workloads auf verschiedenen Hardwareplattformen (etwa Amazon EC2-Instance-Typen) erzielen würden und stellt Empfehlungen bereit.

Der Compute Optimizer kann ohne Aufpreis genutzt werden und ist außerdem mit AWS Organizations integriert. Er kann damit Empfehlungen für mehrere Konten im jeweiligen Organizations-Masterkonto anzeigen.

Um den AWS Compute Optimizer zu nutzen, navigiert man  in der AWS Management Console im Abschnitt „Management & Governance“ zum „AWS Compute Optimizer“.

Compute Optimizer aktivieren.
Compute Optimizer aktivieren.

Hier klick man auf „erste Schritte“, wählt dann entweder „Alle Konten innerhalb dieser Organisation“ oder „Nur dieses Konto“ und aktiviert den Service mit einem Klick auf „Opt-in“:

Alle Konten in einer Organisation oder nur das eigene Konto analysieren?

Das war´s. Der Dienst beginnt sofort mit der Analyse der Ressourcennutzung und des Verlaufs mithilfe von Amazon CloudWatch-Metriken und liefert einige Stunden später die ersten Empfehlungen. Diese werden dann im AWS Compute Optimizer-Dashboard angezeigt. Allerdings ist der Dienst noch nicht für alle Regionen verfügbar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.