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
7. Optimiere und überprüfe regelmäßig
Hierdurch sparst du Kosten und erhöhst die Sicherheit deiner Workloads.