
Leistungsstarke Open-Source-CLI zur Überprüfung von Sicherheit, Kosten und Best Practices in AWS. 🩺 ☁️
# aws-doctor <p align="center"> <a href="https://awsdoctor.compacompila.com/"><img src="https://img.shields.io/badge/Documentation-Website-blue?style=for-the-badge&logo=hugo" alt="Website"></a> </p> <p align="center"> <a href="https://github.com/avelino/awesome-go"><img src="https://awesome.re/mentioned-badge.svg" alt="awesome-go"></a> </p> <p align="center"> <a href="https://github.com/elC0mpa/aws-doctor/blob/main/go.mod"><img src="https://img.shields.io/github/go-mod/go-version/elC0mpa/aws-doctor" alt="Go Version"></a> <a href="https://pkg.go.dev/github.com/elC0mpa/aws-doctor"><img src="https://pkg.go.dev/badge/github.com/elC0mpa/aws-doctor.svg" alt="Go Reference"></a> <a href="https://goreportcard.com/report/github.com/elC0mpa/aws-doctor"><img src="https://goreportcard.com/badge/github.com/elC0mpa/aws-doctor" alt="Go Report Card"></a> <a href="https://codecov.io/gh/elC0mpa/aws-doctor"><img src="https://codecov.io/gh/elC0mpa/aws-doctor/graph/badge.svg" alt="codecov"></a> <a href="https://github.com/elC0mpa/aws-doctor/releases"><img src="https://img.shields.io/github/downloads/elC0mpa/aws-doctor/total?color=blue&label=Downloads" alt="GitHub all releases"></a> <a href="https://github.com/elC0mpa/aws-doctor/actions/workflows/ci.yml"><img src="https://github.com/elC0mpa/aws-doctor/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://github.com/elC0mpa/aws-doctor/blob/main/LICENSE"><img src="https://img.shields.io/github/license/elC0mpa/aws-doctor" alt="License"></a> </p> Ein terminalbasiertes Tool, das als umfassender Gesundheitscheck für Ihre AWS-Konten fungiert. Entwickelt mit Golang, erkennt **aws-doctor** Kostenanomalien, identifiziert ungenutzte Ressourcen und bietet eine proaktive Analyse Ihrer Cloud-Infrastruktur. > [!TIP] > **Die vollständige Dokumentation, die Berechtigungsanleitung und Nutzungsbeispiele finden Sie auf [awsdoctor.compacompila.com](https://awsdoctor.compacompila.com/)** ## 👀 Kurzer Überblick ### ⚖️ Vergleichende Kostenanalyse  ### 📈 6-Monats-Trendanalyse  ### 🧟 Verschwendungsermittlung  *Unterstützt selektives Scannen: `aws-doctor waste ec2 s3 cloudwatch rds vpc lambda sagemaker elb ecr secrets-manager iam`* - **Interaktive Terminal-Benutzeroberfläche**: Navigieren Sie nahtlos durch die erkannten Verschwendungskategorien mit den Pfeiltasten oder Tabs, inklusive einer aggregierten Zusammenfassungsansicht. - **Optimale Rückfalllösung**: Läuft in CI/CD? `aws-doctor` erkennt automatisch, ob die Ausgabe weitergeleitet oder umgeleitet wird, und fällt elegant auf statische Tabellen zurück. ## 📄 Professionelle Berichterstellung `aws-doctor` kann jetzt detaillierte, professionelle PDF-Berichte erstellen, die für Stakeholder bereit sind. Die Berichte enthalten gebrandete Kopfzeilen, gestaltete Tabellen und umfassende Kosten-/Verschwendungsanalysen. > [!TIP] > **PDF-Berichtsbeispiele und Details finden Sie auf [awsdoctor.compacompila.com/docs/reporting/](https://awsdoctor.compacompila.com/docs/reporting/)** ### Kostenvergleichsbericht erstellen ```bash aws-doctor report cost ``` ### Verschwendungsanalysebericht erstellen ```bash # Vollständiger Verschwendungsbericht aws-doctor report waste # Selektive Prüfungen (z. B. nur ec2, s3 und lambda) aws-doctor report waste ec2 s3 lambda sagemaker ``` ### Trendbericht erstellen ```bash # Vollständiger Trendbericht (alle Dienste) aws-doctor report trend # Selektive Dienste (z. B. nur ec2 und rds) aws-doctor report trend ec2 rds ``` > [!TIP] > **Unterbefehlsargumente:** Genau wie bei den Terminal-Befehlen akzeptiert `report waste` bestimmte Prüfungen (z. B. `ec2`, `s3`, `rds`, `lambda`) und `report trend` akzeptiert bestimmte Dienstnamen. > [!TIP] > Standardmäßig werden Berichte in Ihrem **Dokumente**-Ordner gespeichert. Verwenden Sie das Flag `--path`, um ein benutzerdefiniertes Verzeichnis oder einen Dateinamen anzugeben: > `aws-doctor report cost --path ./billing-analysis.pdf` ## 🚀 Installation **Homebrew (macOS/Linux):** ```bash brew install elC0mpa/homebrew-tap/aws-doctor ``` **Einzeiler-Skript (macOS/Linux):** ```bash curl -sSfL https://raw.githubusercontent.com/elC0mpa/aws-doctor/main/install.sh | sh ``` **Windows (PowerShell):** ```powershell irm https://raw.githubusercontent.com/elC0mpa/aws-doctor/main/install.ps1 | iex ``` **Mit Go:** ```bash go install github.com/elC0mpa/aws-doctor@latest ``` ## ✨ Hauptfunktionen - **📄 Professionelle PDF-Berichte:** Erstellen Sie gebrandete, teilbare PDF-Dokumente für Kosten, Trends und Verschwendungsanalysen. - **📉 Faire Kostenvergleiche:** Vergleicht identische Zeitfenster zwischen Monaten, um echte Anomalien zu erkennen. - **🧟 Zombie-Erkennung:** Sucht nach ungenutzten EIPs, gestoppten Instanzen, ungenutzten laufenden EC2-Instanzen, verwaisten Snapshots, ungenutzten RDS-Instanzen, ungenutzten NAT-Gateways, ungenutzten Load Balancern, überdimensioniertem Lambda-Speicher, ungenutzten SageMaker-Echtzeit-Inferenz-Endpunkten, ECR-Repositories mit nicht getaggten Images, fehlenden Lebenszyklusrichtlinien oder gar keinen Images, ungenutzten Secrets-Manager-Geheimnissen und ungenutzten IAM-Benutzern oder Root-Konten ohne MFA. Unterstützt selektive Dienstfilterung (`ec2`, `s3`, `elb`, `cloudwatch`, `rds`, `vpc`, `lambda`, `sagemaker`, `ecr`, `secrets-manager`, `iam`). - **📊 6-Monats-Trends:** Hochauflösende ANSI-Visualisierung Ihrer Ausgabengeschwindigkeit. - **📤 Mehrere Ausgabeformate:** Exportieren Sie Ergebnisse im `table`-, `json`- oder `csv`-Format für eine einfache Integration mit anderen Tools oder Berichten. - **🔔 Update-Benachrichtigungen:** Überprüft automatisch im Hintergrund auf neue Versionen und benachrichtigt Sie nach der Befehlsausgabe. - **🚀 Effizientes Caching:** Verwendet einen lokalen Cache-Dienst, um redundante Netzwerkaufrufe zu minimieren. Wird derzeit für Versionsprüfungsbenachrichtigungen (2-Stunden-TTL) genutzt und soll auf Preisdaten und andere rechenintensive Abläufe ausgeweitet werden. - **🔐 MFA-bereit:** Native Unterstützung für Profile, die Multi-Faktor-Authentifizierung erfordern. - **🌍 Regionsbewusste Preisgestaltung:** Fragt beim Start die AWS-Preis-API ab, um Tarife für die konfigurierte Region zu verwenden; falls die API nicht verfügbar ist, wird auf us-east-1-Standardwerte zurückgegriffen. Erfordert `pricing:GetProducts` in der IAM-Richtlinie des Aufrufers; ohne diese fallen Schätzungen stillschweigend auf die Standardwerte zurück. ## 💡 Motivation Als Cloud-Architekt muss ich oft AWS-Kosten und Abrechnungsinformationen überprüfen. Während die AWS-Konsole Rohdaten liefert, fehlt der unmittelbare Kontext, um die Frage zu beantworten: *_"Geben wir effizient aus?"_* Ich habe ***\*aws-doctor\**** entwickelt, um diese Lücke zu schließen. Es zeigt nicht nur die Rechnung; es fungiert als Diagnosetool, das Ihnen hilft zu verstehen, ***\*wohin\**** das Geld fließt und ***\*was\**** bereinigt werden kann. Es automatisiert die Routineprüfungen, die ich zuvor manuell durchgeführt habe, und bietet eine kostenlose Open-Source-Alternative zu den kostenpflichtigen Empfehlungen von AWS Trusted Advisor. ## 👥 Community ### Mitwirkende Ein großes Dankeschön an alle, die zu **aws-doctor** beigetragen haben! Ihre Hilfe macht dieses Tool für alle besser. <a href="https://github.com/elC0mpa/aws-doctor/graphs/contributors"> <img src="https://contrib.rocks/image?repo=elC0mpa/aws-doctor" alt="Contributors" /> </a> ### Sternenverlauf <a href="https://www.star-history.com/?type=date&legend=top-left&repos=elC0mpa%2Faws-doctor"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=elC0mpa/aws-doctor&type=date&theme=dark&legend=top-left" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=elC0mpa/aws-doctor&type=date&legend=top-left" /> <img alt="Sternenverlaufsdiagramm" src="https://api.star-history.com/chart?repos=elC0mpa/aws-doctor&type=date&legend=top-left" /> </picture> </a> ## 🤝 Beitragen Wir lieben Beiträge! Ob es eine neue Erkennungsregel oder ein Fehlerbehebung ist, besuchen Sie unser [Community-Dashboard](https://awsdoctor.compacompila.com/#join-the-community), um loszulegen. > [!IMPORTANT] > **Richten Sie Ihre Pull-Requests immer an den `development`-Branch.** Der `main`-Branch ist für produktionsreife Versionen reserviert. Weitere Details finden Sie in unseren [Contributing Guidelines](https://github.com/elc0mpa/aws-doctor/blob/main/CONTRIBUTING.md).