7 Tipps, die jeder AWS Nutzer beachten sollte.

Die AWS Nutzung kann schnell sehr komplex werden. Gerade zu Beginn sammeln sich häufig ungenutzte und ungetaggte Ressourcen an. Dies kann auf Dauer hohe Kosten verursachen.

Wenn du die folgenden sieben Tipps berücksichtigst, erhältst du eine wartbare und solide Grundlage für weiteres Wachstum.

Die AWS Nutzung kann schnell sehr komplex werden. Gerade zu Beginn sammeln sich häufig ungenutzte und ungetaggte Ressourcen an. Dies kann auf Dauer hohe Kosten verursachen.

Wenn du die folgenden sieben Tipps berücksichtigst, erhältst du eine wartbare und solide Grundlage für weiteres Wachstum.

 

1. Arbeite niemals mit dem Root-Account

Im Vergleich zu einem Benutzer mit Administratorrechten kann der Root-Account den gesamten Account schließen. Wenn dieser Account in die falschen Hände gerät, kann das fatale Folgen haben. Daher solltest du den Root-Account nur für sehr spezifische Aktionen, wie dem Anlegen des ersten Administrators verwenden. Eine Liste, welche Aktionen den Root-Account benötigen, findest du in der AWS Dokumentation. Für alle weiteren Aktionen verwendest du einen gesonderten IAM-Benutzer.

2. Setze Tags ein.

Ressourcen Tags helfen dir, Informationen über deine Ressourcen zu speichern.

  • Welche Abteilung kommt für die entstehenden Kosten auf?
  • Wer hat die Ressource erstellt?
  • Zu welcher Anwendung / welchem Prozess gehört diese Ressource?

All diese Informationen kannst du mit Tags an die jeweilige Ressource anheften. Welche Tags du einsetzen solltest, habe ich bereits in meinem Beitrag Optimales Tagging: AWS-Ressourcen im Griff beschrieben.

3. Nutze Infrastructure-as-Code – immer!

Es passiert schnell: Du möchtest einen neuen Service oder eine Konfiguration ausprobieren. Du öffnest die AWS Konsole und erstellst die Ressourcen in der grafischen Oberfläche. Du hast eine funktionierende Konfiguration und überträgst diese in CloudFormation und stellst beim Ausrollen der Templates fest: Nichts funktioniert!
Genau das ist der Nachteil der Arbeit mit der grafischen Oberfläche von AWS. Viel passiert im Hintergrund und nicht explizit. Rollen werden angelegt, Berechtigungen werden erteilt, benötigte Ressourcen werden erstellt. Und das alles mit einem Mausklick.

Aus diesem Grund empfehle ich direkt den Einsatz von Infrastructure-as-Code. Dies mag etwas aufwändiger sein, jedoch lernst du hierdurch wesentliche Mechanismen von AWS kennen. Wenn eine Berechtigung oder Ressource fehlt, musst du diese aktiv erstellen. Das Beste daran: Wenn es einmal funktioniert, hast du direkt ein reproduzierbares Template.

4. Adaptiere und individualisiere

Mache nichts “nur weil man es so macht”, sondern verstehe den Grund, weshalb etwas gemacht wird.
AWS Best Practices sind häufig für Großkonzerne mit großen IT-Abteilungen ausgelegt. Kleinere Unternehmen können hiervon schnell überfordert werden und auch sehr hohe Kosten produzieren. Manchmal ist es besser, eine pragmatische Lösung zu haben, als eine “overengineerte”. 

Daher nutze idealerweise Architekturtemplates als Inspirationsquelle und passe diese an deine Bedürfnisse an. Schließlich soll die IT zum Unternehmen passen und nicht umgekehrt.

5. Arbeite Event-basiert, wo es möglich ist

Das Teuerste in AWS sind die Kosten für Compute Ressourcen. Demnach ist eine Instanz, die dauerhaft läuft, teurer, als ein Container oder eine Lambdafunktion, die basierend auf einem Ereignis ausgelöst wird. Für viele Workloads können Event-basierte Architekturen verwendet werden. 
Hierdurch können massiv die Kosten gesenkt werden. Je nach Auslastung kannst du deine Kosten von teilweise mehreren Euro pro Stunde auf wenige Euro pro Monat reduzieren.

6. Arbeite nach dem Principle of Least Privilege

Wenn du Punkt 3 missachtest, kann es passieren, dass du von AWS generierte Rollen verwendest. Diese sind häufig sehr großzügig gestaltet und keineswegs nach dem Least Privilege Prinzip.

Um im Falle eines kompromittierten Servers keine böse Überraschung zu erleben, solltest du darauf achten, dass jeder Server wirklich nur die Berechtigungen auf spezifische Ressourcen hat, die zum aktuellen Zeitpunkt benötigt werden.

Wenn beispielsweise zur Startzeit des Servers mehr Berechtigungen benötigt werden, als während der regulären Laufzeit, solltest du diese Berechtigungen nach dem Serveraufbau wieder entziehen.

7. Optimiere und überprüfe regelmäßig

AWS entwickelt sich stetig weiter. Suche eine für dich geeignete Art, um dich auf dem Laufenden zu halten und deine Architektur immer wieder auf den Prüfstand zu stellen. Ob mit dem AWS Newsblog, bei einem regelmäßigen Well-Architected Review oder meinem Newsletter. Suche dir deine Newsquelle für AWS Änderungen und lasse diese in deine Arbeit einfließen.
Hierdurch sparst du Kosten und erhöhst die Sicherheit deiner Workloads.

Wann immer du so weit bist, dies sind die Arten, wie ich dich unterstützen kann:

  1. Du hast eine Produktidee und benötigst einen technischen Rat? Gerne helfe ich dir, dein Produkt optimal zu betreiben.
  2. Ich verhelfe meinen Kunden zu einer erfolgreichen Cloud-Migration und -Optimierung. Wenn du Unterstützung benötigst, lass uns reden!
  3. Du möchtest wissen, wie es um deine Cloud-Infrastruktur steht? Dann ist ein Architektur-Review für dich interessant!
Share the Post:

Verwandte Beiträge

Werksstudent als Cloud-Engineer (m/w/d)

Bist du Student*in der (Wirtschafts-)Informatik oder eines verwandten Fachs und an herausfordernden IT-Projekten interessiert? Dann könnte eine Werkstudentenposition im Cloud-Bereich bei uns der perfekte Schritt sein. Du hilfst, Cloud-Infrastrukturkomponenten zu entwickeln und kannst deine Fähigkeiten in Terraform und AWS vertiefen. Wir bieten moderne Arbeitsmittel, flexible Arbeitszeiten und bis zu 6 Wochen Urlaub. Unser AWS Solutions Architect wird dein Mentor sein.

Read More

Verbessere deine Cloud-Infrastruktur!