Pay-as-you-go-Preismodelle der Cloud-Anbieter bieten enorme Flexibilität. Software und Apps 24/7 laufen zu lassen, kann teuer sein. Bei großen Unternehmen bleiben Kostenblöcke oft unentdeckt hoch, da sich Kosten meist nicht separat abrechnen lassen. Als AWS-Partner haben wir einen Weg gefunden, Kosten zu sparen: Nicht benötigte Amazon Elastic Compute Cloud (EC2) Instanzen über Nacht abschalten. Wir erklären Schritt für Schritt, wie das geht.
Die AWS Solutions Library enthält einen Instance Scheduler: ein serverloses Tool für das automatische Starten und Stoppen von Amazon EC2- und Amazon Relational Database Service (RDS) Instanzen. Eine EC2-Instanz ist ein virtueller Server in der Amazon Elastic Compute Cloud zur Ausführung von Anwendungen auf der AWS-Infrastruktur. Diese ist Teil der Cloud Computing Plattform AWS von Amazon. RDS hingegen vereinfacht das Einrichten, Verwalten und Skalieren einer relationalen Datenbank in der Cloud.
Mit dem Instance Scheduler lassen sich mehrere Zeitpläne für unterschiedliche Anwendungsfälle festlegen. So können Benutzer beispielsweise Zeitpläne erstellen für:
In der IT-Umgebung unserer Kunden wird der Instance Scheduler zentral verwaltet, sodass keine zusätzlichen Betriebskosten anfallen. Die Lösung ist äußerst benutzerfreundlich, da der Nutzer lediglich das entsprechende Zeitplan-Tag zu den Instanzen hinzufügen muss.
AWS Instance Scheduler
Der AWS Instance Scheduler ist eine skalierbare Lösung vom Anbieter Amazon für die Cloud. Der Vorteil: Die Lösungsimplementierung ist für große AWS-Organisationen mit einer großen Anzahl von Konten ebenso gut geeignet, wie für Umgebungen mit nur einem Konto. Große AWS-Organisationen benötigen für die Nutzung der Cloud-Lösung folgende Anpassungen:
Nachdem Sie den Instance Scheduler konfiguriert haben, müssen Sie die EC2-Instanzen mit dem entsprechenden Zeitplan versehen. In AWS-Organisationen mit Hunderten von Konten ist dies nicht einfach. Denn oft sind Instanzen nicht einheitlich oder gar nicht mit Tags versehen. Um dieses Problem anzugehen, haben wir für einen unserer Kunden folgende Automatisierung umgesetzt:
Automatisches tagging von EC2 Instanzen
Da nun alle neuen Instanzen automatisch und vollständig gekennzeichnet sind, liegt die nächste Herausforderung bei den bestehenden EC2-Instanzen. Sie sind die eigentlichen Kostentreiber und daher gilt es sie in die nächtlichen Einsparungen einzubeziehen. Für einen unserer Unternehmenskunden haben wir dieses Problem gelöst. Wir ließen allen Projektkontoinhabern die Information zukommen, dass wir Instanzen in nicht produktiven Konten zu einem bestimmten Datum zentral kennzeichnen werden.
Am Fälligkeitstag haben wir ein zentrales Lambda ähnlich dem Auto-Tag-Lambda aufgerufen. Es übernahm eine Rolle in jedem Projektkonto und fügte mit dem bereits erwähnten Filtermechanismus Tags zu bestehenden Instanzen hinzu. Es wurde auch ein Zeitplan speziell für den Ausstieg aus dem Projekt festgelegt und den Projektkontoinhabern im Voraus mitgeteilt, falls sie ihre Instanzen rund um die Uhr ausführen mussten.
Der Instance Scheduler automatisiert das Starten und Stoppen von virtuellen Servern in der EC2. Mit einigen Anpassungen ist es möglich, das Tool in großen AWS-Organisationen einzusetzen, um Instanzen über Nacht abzuschalten und messbare Kosteneinsparungen zu erzielen. Bei der Nutzung mehrerer Autoscaling-Gruppen oder den zuvor erwähnten AWS-Services (EKS/ECS, Beanstalk, Cloud9), ist das Einsparpotenzial im Vergleich möglicherweise geringer. Bei dem Beispiel unseres Unternehmenskunden konnten wir die Kosten für EC2-Instanzen um 15 Prozent senken, obwohl mehrere Autoscaling-Gruppen im Einsatz waren.
Wenn Ihnen dieser Blogbeitrag gefallen hat, lesen Sie auch in unseren zukünftigen Beiträgen weitere Informationen über Möglichkeiten, Ihre Cloud-Kosten zu senken.