Cloud Cost Agent (AWS + GCP + Azure)
Einheitliche Agent-Fähigkeit für native Cloud-Kostenoptimierung in den drei großen Anbietern.
Voraussetzungen: AWS CLI v2, gcloud und/oder Azure CLI mit Lesezugriff auf Billing-/Recommender-/Advisor-Dienste. Einige Quellen erfordern eine einmalige Aktivierung: AWS Compute Optimizer und Cost Optimization Hub (Anmeldung), GCP Recommender (API aktiviert, ~24–48h Daten). jq wird in einigen GCP-Filtern verwendet.
Grundregel: Verwenden Sie immer die offizielle CLI und die Recommendation Engines des Anbieters. Keine Drittanbieter-Tools.
Sicherheit & Best Practices (Alle Anbieter)
- Nur lesend zuerst. Führen Sie niemals einen mutierenden Befehl aus (
aws ec2 terminate-instances/stop-instances,gcloud compute instances delete,az vm delete/deallocate,purchase/create/modify), ohne den genauen Befehl dem Benutzer zu zitieren und eine explizite Zustimmung einzuholen. - Verwenden Sie immer die Anbieter-Authentifizierung (
--profile,gcloud --project,az account set). - Verwenden Sie
--query/--format json/-o jsonfür saubere Ausgaben. - Paginierung handhaben. Diese APIs paginieren Ergebnisse. Aggregieren Sie jede Seite, bevor Sie Summen melden – folgen Sie
NextToken/nextPageToken, oder verwenden Sie bewusst--no-paginate/--max-items(AWS) und--page-size/--limit(gcloud). Ein nur gelesene Seite ergibt falsche Summen. - Alle Cloud-Werte in Anführungszeichen setzen/escapen. Ressourcennamen, Tags und IDs aus API-Ausgaben können Shell-Metazeichen enthalten. Interpolieren Sie diese niemals unzitiert in einen anderen Shell-Befehl.
- API-Kosten und Schleifen beachten.
aws ce(Cost Explorer) kostet ~$0,01 pro Anfrage. Führen Sie Cost Explorer-Aufrufe nicht in Schleifen aus; cachen Sie Ergebnisse in der Sitzung und begrenzen Sie sie auf eine Handvoll Aufrufe pro Audit. - Priorisieren: höchste geschätzte Einsparungen → geringster Aufwand.
- Bevorzugen Sie schnelle Erfolge (Löschen ungenutzter Ressourcen, Verkleinern auf kleinere Instanzen, Aktivieren von garantierten Nutzungsmodellen, wo klar).
Portabler Datumshelfer
BSD/macOS und GNU/Linux date unterscheiden sich. Berechnen Sie das Fenster einmal portabel und verwenden Sie dann $START/$END wieder:
START=$(date -u -d '30 days ago' +%Y-%m-%d 2>/dev/null || date -u -v-30d +%Y-%m-%d)
END=$(date -u +%Y-%m-%d)
(Oder lassen Sie den Agenten einfach literale JJJJ-MM-TT-Daten einfügen.)
Verwendung
Teilen Sie dem Agenten den/die Anbieter und das Ziel mit. Beispiele:
auditiere AWS der letzten 30 Tagefinde schnelle Erfolge auf GCP und AzureRightsizing-Empfehlungen für alle Clouds
1. Pre-Flight & Authentifizierung
AWS
aws sts get-caller-identity
aws ce get-cost-and-usage \
--time-period Start=$START,End=$END \
--granularity MONTHLY --metrics "UnblendedCost"
Einmalige Anmeldung (erforderlich für Abschnitte 2 & 4):
aws compute-optimizer get-enrollment-status
aws compute-optimizer update-enrollment-status --status Active # opt in
aws cost-optimization-hub list-enrollment-statuses --region us-east-1
aws cost-optimization-hub update-enrollment-status --status Active --region us-east-1
GCP
gcloud auth list
gcloud config set project YOUR_PROJECT
gcloud billing accounts list
Azure
az account show
az account set --subscription "SUB_ID"
2. Zentrale / Hochwirkungsvolle Empfehlungen
AWS — Cost Optimization Hub (bester Aggregator)
COH ist ein globaler Dienst, der nur in us-east-1 erreichbar ist und eine Anmeldung erfordert (siehe Pre-Flight).
aws cost-optimization-hub list-recommendations \
--region us-east-1 \
--filter '{"implementationEfforts":["VeryLow","Low"]}' \
--query 'items[?estimatedMonthlySavings > `10`] | sort_by(@, &estimatedMonthlySavings) | reverse(@)' \
--output json
Gültige implementationEfforts: VeryLow | Low | Medium | High | VeryHigh.
GCP — Recommender (Hauptquelle)
--location ist erforderlich. VM-/Leerlauf-Empfehlungsgeber sind zonal (z. B. us-central1-a); iterieren Sie über die von Ihnen genutzten Zonen. Der ausgabenbasierte Commitment-Empfehlungsgeber ist global und auf ein Rechnungskonto beschränkt.
# Rightsizing VMs (zonal — pro Zone wiederholen)
gcloud recommender recommendations list \
--recommender=google.compute.instance.MachineTypeRecommender \
--project=YOUR_PROJECT --location=us-central1-a --format=json
# Leerlauf-VMs (zonal — pro Zone wiederholen)
gcloud recommender recommendations list \
--recommender=google.compute.instance.IdleResourceRecommender \
--project=YOUR_PROJECT --location=us-central1-a \
--format="table(description, primaryImpact.costProjection.cost.units, stateInfo.state)"
# Garantierte Nutzungsrabatte (global, rechnungskontobeschränkt)
gcloud recommender recommendations list \
--recommender=google.cloudbilling.commitment.SpendBasedCommitmentRecommender \
--billing-account=BILLING_ACCOUNT_ID --location=global --format=json
Weitere Kosten-Empfehlungsgeber: google.compute.disk.IdleResourceRecommender (Leerlauf-Datenträger), google.compute.address.IdleResourceRecommender (Leerlauf-IPs), google.compute.image.IdleResourceRecommender (Leerlauf-Images), google.compute.commitment.UsageCommitmentRecommender (ressourcenbasiertes CUD).
Azure — Advisor Kostenkategorie
az advisor recommendation list \
--category Cost \
--query "[].{Resource: shortDescription.problem, Impact: impact, AnnualSavings: extendedProperties.annualSavingsAmount, Currency: extendedProperties.savingsCurrency}" \
-o table
# Nur hohe Wirkung
az advisor recommendation list --category Cost \
--query "[?impact=='High'].{Id:id, Resource:resourceMetadata.resourceId, Savings:extendedProperties.annualSavingsAmount}" -o json
extendedProperties-Felder variieren je nach Empfehlungstyp – behandeln Sie Nullwerte.
3. Kosten- & Nutzungsaufschlüsselung
AWS (denken Sie an die ~$0,01/Anfrage-Kosten – keine Schleifen):
aws ce get-cost-and-usage \
--time-period Start=$START,End=$END \
--granularity DAILY --metrics "UnblendedCost" \
--group-by Type=DIMENSION,Key=SERVICE
GCP – detaillierte Kosten/Nutzung stammen aus dem BigQuery-Abrechnungsexport (es gibt keinen gcloud-Befehl für granulare Kostenzeilen). Aktivieren Sie Abrechnung → BigQuery-Export, und fragen Sie dann gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID> ab.
Hinweis: Stand 2026-01-21 hat sich das Exportschema geändert – CUD-Rabatte wurden aus dem
credits-Array in ein neues Feldconsumption_modelverschoben, undprice.list_price/price.effective_price_defaultwurden hinzugefügt. Aktualisieren Sie entsprechend Ihre CUD-/Gutschriften-Logik.
Azure – bevorzugen Sie Cost Management-Exporte (oder die Cost Details API) für detaillierte Daten; az consumption befindet sich auf Microsofts Deprecation-Pfad (nur als schneller Fallback zur Ansicht behalten):
# Primär: Einen Export zum Speicher planen/ausführen (Einmalausführung benötigt nur die 5 erforderlichen Parameter)
az costmanagement export create \
--name AdhocExport --type Usage \
--scope "/subscriptions/SUB_ID" \
--storage-account-id "/subscriptions/.../storageAccounts/ACCT" \
--storage-container exports --timeframe MonthToDate
# Fallback-Schnellansicht (deprecationierte API):
az consumption usage list --start-date $START --end-date $END \
--query "[].{Resource:instanceName, Service:consumedService, Cost:pretaxCost}" -o table
Für Ad-hoc-Aggregation ohne Speicher rufen Sie die Cost Management Query REST API über az rest auf (es gibt keinen az costmanagement query-Unterbefehl).
4. Rightsizing & Compute-Empfehlungen
AWS — Compute Optimizer (erfordert Anmeldung; siehe Pre-Flight). Tiefes Rightsizing + Leerlauferkennung:
aws compute-optimizer get-ec2-instance-recommendations
aws compute-optimizer get-auto-scaling-group-recommendations
aws compute-optimizer get-ebs-volume-recommendations
aws compute-optimizer get-lambda-function-recommendations
aws compute-optimizer get-rds-database-recommendations
aws compute-optimizer get-idle-recommendations
Cost Explorer bietet auch EC2-Rightsizing an (--service ist erforderlich, nur "AmazonEC2" ist gültig):
aws ce get-rightsizing-recommendation --service "AmazonEC2"
GCP – Maschinentyp-Empfehlungsgeber (beachten Sie tonumber: GCP gibt cost.units als Zeichenkette zurück):
gcloud recommender recommendations list \
--recommender=google.compute.instance.MachineTypeRecommender \
--project=YOUR_PROJECT --location=us-central1-a --format=json \
| jq '.[] | select((.primaryImpact.costProjection.cost.units|tonumber) < 0)'
Azure – Advisor-Kostenempfehlungen beinhalten bereits VM-Rightsizing / unterausgelastete Ressourcen (Abschnitt 2).
5. Garantierte Nutzungsmodelle & Rabatte
AWS – Kaufempfehlung für Savings Plans. Alle vier Parameter sind erforderlich:
aws ce get-savings-plans-purchase-recommendation \
--savings-plans-type COMPUTE_SP \
--term-in-years ONE_YEAR \
--payment-option NO_UPFRONT \
--lookback-period-in-days THIRTY_DAYS
(savings-plans-type: COMPUTE_SP|EC2_INSTANCE_SP|SAGEMAKER_SP; term-in-years: ONE_YEAR|THREE_YEARS; payment-option: NO_UPFRONT|PARTIAL_UPFRONT|ALL_UPFRONT; lookback-period-in-days: SEVEN_DAYS|THIRTY_DAYS|SIXTY_DAYS.)
GCP – Garantierte Nutzungsrabatte über den ausgabenbasierten Commitment-Empfehlungsgeber (Abschnitt 2).
Azure – Reservierungs-/Savings-Plan-Empfehlungen werden über Advisor (pro Abonnement) angezeigt; für den Rechnungskontoumfang verwenden Sie die Consumption Reservation Recommendations REST API über az rest:
az advisor recommendation list --category Cost \
--query "[?contains(shortDescription.problem, 'reserved') || contains(shortDescription.problem, 'reservation')]"
6. Priorisierungsvorlage (für jeden Anbieter)
Bei der Zusammenfassung:
- Geschätzte monatliche / jährliche Gesamteinsparungen.
- Schnelle Erfolge (VeryLow/Low-Aufwand oder äquivalent).
- Top 5-8 Elemente: Ressource, Aktueller Zustand, Empfohlene Aktion, $-Einsparungen, Aufwand/Risiko.
- Konkreter nächster Befehl für das wichtigste Element.
Provider: GCP
Geschätzte monatliche Gesamteinsparungen: $2.340
Schnelle Erfolge:
- Leerlauf-VM löschen ... : 180 $/Monat (VeryLow)
- n1-standard-8 → n2-standard-4 verkleinern : 420 $/Monat
Nächster Befehl:
gcloud recommender recommendations list --recommender=google.compute.instance.IdleResourceRecommender --project=... --location=us-central1-a
Anbieterspezifische Kurzreferenz
AWS
- Cost Optimization Hub (
us-east-1, angemeldet) für die breite aggregierte Ansicht. - Compute Optimizer (angemeldet) für tiefes Rightsizing + Leerlauf.
- Cost Explorer (
aws ce) für Kostenaufschlüsselungen, Rightsizing, Savings Plans – beachten Sie die Kosten pro Aufruf.
GCP
Übergeben Sie immer --location. Wichtige Empfehlungsgeber:
- MachineTypeRecommender (Rightsizing, zonal)
- IdleResourceRecommender für VMs / Datenträger / IPs / Images (zonal/regional)
- SpendBasedCommitmentRecommender (CUDs, global, Rechnungskonto)
Azure
- Advisor ist die primäre Quelle für Kostenempfehlungen.
- Cost Management Exporte (oder Cost Details API) für Rohdaten;
az consumptionnur als deprecationierten Fallback.
Vollständiger Audit-Ablauf (Empfohlen)
- Authentifizieren; Anmeldungen bestätigen (Compute Optimizer, COH).
- Hochrangige Kostenübersicht für das Zeitfenster abrufen.
- Empfehlungen abrufen (Hub / Recommender / Advisor), alle Seiten aggregieren.
- Nach Einsparungen > Schwellenwert und geringem Aufwand filtern.
- Bei Bedarf mit Rohdaten gegenprüfen.
- Priorisierte Liste + 3 konkrete nächste Aktionen erstellen (nur lesend; Mutation zur Genehmigung markieren).
- (Optional) Für andere Anbieter wiederholen.
Referenzen
AWS
- Cost Explorer: https://docs.aws.amazon.com/cli/latest/reference/ce/
- Compute Optimizer: https://docs.aws.amazon.com/cli/latest/reference/compute-optimizer/
- Cost Optimization Hub: https://docs.aws.amazon.com/cost-management/latest/userguide/cost-optimization-hub.html
- Billing IAM-Aktionsmigration (aws-portal-Ruhestand): https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/migrate-granularaccess-iam-mapping-reference.html
GCP
- Liste der Empfehlungsgeber: https://cloud.google.com/recommender/docs/recommenders
recommendations list: https://cloud.google.com/sdk/gcloud/reference/recommender/recommendations/list- BigQuery-Abrechnungsexport: https://cloud.google.com/billing/docs/how-to/export-data-bigquery
Azure
- Advisor-Empfehlungen: https://learn.microsoft.com/cli/azure/advisor/recommendation
- Cost Management-Exporte: https://learn.microsoft.com/cli/azure/costmanagement/export
- Consumption API-Migration: https://learn.microsoft.com/azure/cost-management-billing/automate/migrate-consumption-usage-details-api
Führen Sie es mit einem bestimmten Anbieter oder über alle drei aus. Bleiben Sie nativ. Bleiben Sie effektiv.