Wie kann ich nicht verwendete Ressourcen in AWS verfolgen?


8

Ich benutze AWS jetzt schon eine Weile. Ich habe immer Schwierigkeiten, AWS-Ressourcen zu verfolgen und wie sie miteinander verbunden sind. Natürlich verwende ich Terraform, aber es gibt immer noch Ad-hoc-Vorgänge, die meine Sichtbarkeit beeinträchtigen.

Da mir mehrfach Ressourcen / Dienste in Rechnung gestellt wurden, die vorhanden sind, aber von mir nicht genutzt werden.

Nicht verwendete Services umfassen Ressourcen, die nicht auf andere Services verweisen, sondern in der AWS-Umgebung vorhanden sind.

Tools Vorschläge sind ebenfalls willkommen.


2
Es ist nicht klar, was Sie unter nicht verwendeten Ressourcen verstehen. Meinen Sie Ressourcen, die gestoppt werden (dh nicht genutzt werden)? Ressourcen, die ausgeführt werden, aber nicht die von Ihnen benötigten Vorgänge ausführen? Ein aktives EBS-Volume, das keiner EC2-Instanz zugeordnet ist, oder ein ELB, das nicht auf Instanzen verweist?
PrestonM

Ich würde vorschlagen, Cloudyn hier zu verwenden, da es für das gemacht ist, was Sie suchen.
Alok Singh

@ PrestonM Ich beziehe mich auf beide. In erster Linie für ELBs, die nicht auf eine Instanz verweisen, sondern auch auf gestoppte Ressourcen.
Veer Abheek Singh Manhas

Antworten:


5

Es gibt verschiedene Möglichkeiten, um nicht verwendete Ressourcen zu löschen, z. B. Elemente zu kennzeichnen, die Teil einer vertrauenswürdigen oder bekannten Gruppe sind, wie einige hier vorgeschlagen haben, und dann manuell nach Ressourcen zu suchen, die nicht ordnungsgemäß gekennzeichnet sind.

Sie können dies dann auf ein Python-Skript erweitern, das Sie von Zeit zu Zeit ausführen, um diese Ressourcen zu identifizieren und zu löschen.

Es gibt jedoch andere (möglicherweise weniger intensive) Optionen.

1) AWS bietet uns bereits die Möglichkeit, unsere Ressourcen zu überwachen, nicht verwendete zu identifizieren und sie mit CloudWatch- Alarmen zu beenden . Sie können zunächst einige Alarme konfigurieren, die auf einer Reihe von Überprüfungen basieren, die Sie möglicherweise bereits manuell durchführen. Sobald Sie sicher sind, dass die Alarmierung korrekt ist, können Sie der Kette einen Beendigungsschritt hinzufügen.

2) Alternativ haben unsere Freunde bei Netflix dieses Chill-Tool namens JanitorMonkey entwickelt , um nicht verwendete Instanzen, EBS-Volumes, EBS-Snapshots und Autoscaling-Gruppen zu überwachen und zu löschen. Es ist Teil des ursprünglichen Open-Source-Pakets „Simian Army“ von Netflix und in Java geschrieben. Obwohl es jetzt ein paar Jahre alt ist, ist dieses Ding sehr konfigurierbar und einen Blick wert.

Mit beiden Optionen können Sie Warnungen und Geschäftsregeln konfigurieren, die Ihren Anforderungen entsprechen. Darüber hinaus ist die Verwendung von CloudWatch möglicherweise eine gute Gelegenheit, mehr über AWS-Protokolle und die Identifizierung von Anomalien zu erfahren.


Hausmeister Affe scheint im Ruhestand zu sein.
Silberdolch

3

Ich habe ein solches Tool erstellt, das AWS Inventory heißt und schließlich alle verfügbaren Ressourcen in Ihrem Konto abdeckt. Während es noch in Arbeit ist, sollte es sehr einfach sein, die möglicherweise fehlenden Elemente hinzuzufügen, indem Sie einfach den API-Namen zu einer Liste hinzufügen.

Das Tool ist nur eine einzelne HTML - Datei , dass Anwendungen , aws-sdk.jsall die verschiedenen abzufragen list...und describe...APIs von CORS-fähigen Dienste.

Das Projekt ist MIT-Lizenz und Open Source unter https://github.com/devops-israel/aws-inventory .


3

Wenn Sie dies nur mit von AWS bereitgestellten Tools tun möchten, versuchen Sie Folgendes:

  1. Finden Sie ein Tagging-Schema heraus, das für Sie funktioniert
  2. Kennzeichnen Sie alle von Ihnen bereitgestellten Ressourcen und stellen Sie sicher, dass nichts ohne Tags bleibt
  3. Verwenden Sie für Dinge, die Sie außerhalb der Terraform bereitstellen und die von Ihrem Tagging-Schema nicht immer korrekt markiert werden, den AWS Config-Dienst, um das Tagging-Schema zu erzwingen

Nachdem Sie alle Ressourcen markiert haben, verwenden Sie AWS Budgets, um Änderungen Ihrer Ausgaben zu überwachen und zu verfolgen und Benachrichtigungen zu erhalten, wenn der von Ihnen definierte Budgetschwellenwert überschritten wird.

Erstellen Sie außerdem einige Berichte im AWS Costs Explorer und überprüfen Sie sie regelmäßig, um tägliche Änderungen der Ausgaben in der Region / der Serviceausgaben / etc. Zu ermitteln .

Die Verwendung eines strengen und aussagekräftigen Kennzeichnungsschemas hilft dabei, ein gesundes Konto zu führen, bei dem weniger Geld verschwendet wird.


Das Problem beim Markieren ist. Sie müssen es für alles tun, was Sie brauchen. Offensichtlich habe ich meine kritischen Tags vorhanden. Hin und wieder kommt etwas Neues hinzu und ich muss das Tagging-Schema ändern, wenn sich die KPIs ändern. Es ist keine wirklich skalierbare Lösung.
Veer Abheek Singh Manhas

2
Wenn Sie alle Ihre Tagging automatisieren, schauen Sie sich Graffiti-Monkey / ähnliche Tools an, die beim Bereitstellen von Tags helfen / ein Tagging-Schema sicherstellen
Tolib

2

Dies wäre eine Möglichkeit, nur die AWS-Konsole zu verwenden.

Ich habe TotalCloud für viele andere Dinge verwendet, aber dies ist auf der Plattform sehr einfach möglich. Es scheint vorerst kostenlos zu sein. Ich benutze es jetzt seit 3 ​​Monaten mit zwei großen AWS-Konten.

Es zeigt alles in einer einzigen Ansicht mit einer visuellen topologischen Ansicht, die es ziemlich einfach macht, die Beziehungen zwischen Ressourcen / Diensten zu verstehen. Die Gruppierung kann Ihnen definitiv dabei helfen, die benötigten Ressourcen zu finden.


versuchte es, ziemlich schrecklich.
Evgeny

@Evgeny Mind hinzufügen warum? Scheint wie eine leuchtende Empfehlung oben, und die Antwort wurde mit einem Kopfgeld versehen. Es wäre also hilfreich zu sehen, warum es für Sie nicht funktioniert hat, anderen zu helfen, eine fundierte Entscheidung zu treffen.
Tim Malone

Das "Warum" ist, dass es sich um Software von sehr geringer Qualität handelt. Schrecklich kaputt. Viel schlimmer als die AWS-Konsole. Der Versuch, anhand der Verwendung dieser Software zu "sehen", was Sie tatsächlich in AWS haben, ist eine vergebliche Übung. Entschuldigung, einige Software ist einfach nicht gut.
Evgeny
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.