fotomek - Fotolia
Mit diesen Tools und Techniken AWS-Kosten senken
Mit verschiedenen Mitteln und Tools lassen sich die Kosten für AWS senken – von einfachen Tag-Schemata bis zur Übernahme von Infrastructure as Code.
Unternehmen können verschiedene Maßnahmen zur Kostensenkung von Amazon Web Services (AWS) ergreifen – von einfachen Kosten-Tags bis hin zur vollständigen Übernahme von Infrastructure as Code. Dafür sollten sie allerdings vorausplanen und die passenden Tools und Services bereitstellen.
Die Kosten für eine AWS-Cloud-Bereitstellung hängen von den Anwendungen ab. Müssen sich die Anwendungen flexibel an die Nachfrage anpassen? Welche Verfügbarkeitsstufen sollten gewährleistet sein? Wer kann neue Umgebungen bereitstellen? Cloud-Anwender machen häufig Fehler, wenn sie mit dem Management von AWS-Ressourcen beginnen – und kleine Fehler können schnell zu hohe Kosten führen.
Man sollte daher folgende Strategien für die AWS-Kostensenkung berücksichtigen. Mit diesen lässt sich die Rechnung für Amazon-Services verschlanken und laufende Ausgaben besser planen. Das AWS-Kostenmanagement erfordert nur relativ einfache Schritte: Von der gelegentlichen Verwendung von Spot Instances über die programmatische Kennzeichnung bis hin zu standardisierten Managementprozessen und Warnungen.
Viele Best Practices zur Kostenoptimierung werden mit Tools kombiniert, die AWS-Benutzern nativ zur Verfügung stehen. Ein Beispiel ist CloudFormation.
Verfeinern Sie Ihre Kapazitätsplanung
IT-Abteilungen stehen bei der Kapazitätsplanung vor der permanenten Herausforderung, sowohl Größe als auch Hosting-Umgebung festzulegen. Eine flexible Kapazitätsplanung mit kostengünstigeren Instanzen und besserer Ressourcenplanung kann der Schlüssel zur AWS-Kostenkontrolle sein.
Overprovisioning, also die Bereitstellung von mehr Ressourcen als man aktuell benötigt, scheint bei AWS unvermeidlich. Schließlich ist es schwierig, langfristige Projekte vorauszuplanen und das Wachstum im Detail zu berechnen. Um den Stundensatz für AWS-Dienste zu reduzieren, müssen Organisationen eine Instanz im Voraus reservieren. Jedes Projekt, bei dem das Team den Ressourcenbedarf falsch einschätzt, kann zu Verpflichtungen führen, die die Rechnung unnötig in die Höhe treiben.
AWS-Kunden können mit Spot Instances die EC2-Kosten verwalten. Spot Instances ermöglichen es Unternehmen, die von AWS angebotenen ungenutzten Kapazitäten mit teilweise erheblichen Rabatten zu beziehen. Auf diese Weise können Kunden ihr Cloud-Budget erweitern und eine höhere Kapazität als nur mit Reserved Instances zu erzielen.
Eine Spot Instance kann allerdings unterbrochen werden, wenn der Marktpreis Ihren vorherigen Angebotspreis überschreitet. Das kann auch passieren, wenn nicht genügend ungenutzte Kapazität vorhanden ist, um die Nachfrage zu befriedigen. Sie sollten deshalb Spot Instances nicht für geschäftskritische Anwendungen verwenden, die eine konsistente Hochverfügbarkeit erfordern.
Die Hosting-Optionen wirken sich auch auf Ihre AWS-Ausgaben aus. Wenn Sie für eine Anwendung die falschen Instanztypen auswählen, führt dies zu ungenutzter Kapazität, die Sie bezahlen müssen. Wenn ein Workload einen konstanten Ressourcenverbrauch aufweist und das Unternehmen rund um die Uhr Server betreibt, sind die Cloud-Ausgaben in den meisten Fällen unnötig. Die kostengünstigere Wahl ist in diesem Szenario, die Anwendung lokal zu betreiben.
Oft aber sind die Kapazitätsanforderungen nicht konstant – insbesondere bei Workloads, die darauf abzielen, die Cloud-Ressourcen zu vergrößern und zu verkleinern. Die einfachste Methode zur Senkung der AWS-Kosten besteht in diesem Fall darin, Instanzen auszuschalten, wenn sie nicht verwendet werden. Sie können diesen Prozess sogar mit AWS Instance Scheduler automatisieren.
Beispielsweise können Sie die Kosten kontrollieren, indem Sie Instanzen verkleinern oder deaktivieren – etwa am Freitag um 18:00 Uhr für eine Anwendung, auf die nur während der Geschäftszeiten zugegriffen wird. Oder Sie initiieren beziehungsweise pausieren Amazon-Elastic-Compute-Cloud- und Relational-Database-Service-Instanzen (EC2 und RDS) nach Bedarf für ein nur zeitweise laufendes Projekt. Und Sie sollten überlegen, Container zu deaktivieren und Testumgebungen zu einem bestimmten Zeitpunkt herunterzufahren, um die oft übersehenen Entwicklungskosten zu minimieren.
Es ist auch von Vorteil, sich bei der Planung Ihrer Initiativen für Kapazitäts- und Kostensenkungen so viel wie möglich über relevante Kostenstrukturen und -services zu informieren. So erlaubt es zum Beispiel Elastic Block Store (EBS) AWS-Benutzern, Speichervolumina nach Bedarf mit EC2-Instanzen zu mischen und abzugleichen.
AWS löscht jedoch nicht automatisch EBS-Volumes, wenn Sie eine EC2-Instanz eliminieren. Das Erkennen und Löschen dieser nicht verbundenen Volumes ist eine sinnvolle Methode, um die AWS-Ausgaben zu senken. Sie können auch den AWS Pricing Calculator verwenden, um nach den Kostensenkungsverfahren die Kosten der neuen Rechnung zu schätzen.
Ein proaktiver Ansatz für das Cloud-Kostenmanagement erfordert auch Verantwortung und organisatorische Richtlinien. Von der IT unabhängige Geschäftseinheiten können leicht neue Cloud-Instanzen erstellen, die zu zahlreichen, ungeprüften Bereitstellungen führen – ein Problem, das es wahrscheinlich nicht gab, als die IT-Abteilung alle Anwendungen intern bediente.
Richten Sie deshalb Governance-Mechanismen für die Verantwortlichkeit von Cloud Deployments ein und verfolgen Sie deren Nutzung. Prüfen Sie alle Abweichungen von der Norm, um Probleme zu lösen und überraschende Rechnungen zu vermeiden.
Infrastructure as Code implementieren
Ein manueller, webbasierter Ansatz für Änderungen beim AWS-Management und der Infrastruktur weist erhebliche Nachteile auf, die indirekt die Kosten für Cloud-Investitionen in die Höhe treiben.
Manuelle Cloud-Operationen sind weder reproduzierbar, noch kann ein Team die getroffenen Entscheidungen bewerten. Wenn Sie vergangene Aktionen nicht rekonstruieren können, ist die Wahrscheinlichkeit hoch, dass sich kostspielige Fehler wiederholen. Das manuelle Cloud-Management nimmt auch viel Zeit der IT-Mitarbeiter in Anspruch.
Verwenden Sie AWS CloudFormation Templates, um EC2-Instances, Security Groups, Subnetze und Load Balancer automatisch zu erstellen. Das native Infrastructure as Code Tool richtet laufende Instanzen ein und kann Kapazitätsplanern und Verantwortlichen beim Ressourcenmanagement helfen. CloudFormation kann auch Maßnahmen zur Kostensenkung automatisieren. Es kann zum Beispiel Anwendungen anhalten und Applikationen auf einer anderen Instanz entsprechend den geänderten Anforderungen neu starten.
Meta-Tags für die Kostenzuordnung verwenden
Um die AWS-Kosten zusätzlich zu kontrollieren, sollten Sie Tagging als Teil des Cloud-Managements und der Überwachung implementieren.
Tags bestehen aus Metadaten-Labels für bereitgestellte Ressourcen. Diese eindeutigen Zuordnungen legen die Kostenverantwortung fest und unterstützen Cloud-Administratoren bei der Verfolgung aktiver Ressourcen. Dadurch wissen Sie, wer die Ressourcen erstellt hat und wie sie verwendet werden – oder nicht verwendet werden.
Nachdem Sie den verschiedenen Ressourcen Kostenzuordnungs-Tags zugewiesen haben, geben Sie die Informationen in den AWS Cost Explorer ein, um die Ausgaben basierend auf jeder markierten Gruppe anzuzeigen. Sie können auch Warnungen auslösen lassen, die vor Kapazitätsengpässen warnen. Oder die Änderungen berechnen, die die Kosten um einen bestimmten Prozentsatz oder einen bestimmten Betrag erhöhen.
Eine vernünftige Strategie zur Kostenoptimierung ist für die AWS-Nutzung von entscheidender Bedeutung. Die AWS-Rechnungen an Ihr Unternehmens enthalten keine projektspezifischen Daten zur Ressourcennutzung. Die Kontrolle, Kostenschätzungen pro Projekt und das Ressourcenmanagement obliegen daher dem IT-Team.
Administratoren und IT-Teams sollten Cloud-Bereitstellungen regelmäßig neu bewerten, wenn sich die Geschäftsanforderungen ändern. Um die AWS-Kosten unter Kontrolle zu halten, überwachen Sie am besten die Ressourcen dynamisch, während sie verbraucht werden. Warten Sie nicht bis zum Ende des Abrechnungszyklus.