Schritt 1: Übungskonto absichern, bevor die erste Ressource entsteht
Die Reihenfolge ist wichtig: erst Budgetalarm und Regionsbegrenzung, dann bauen. Umgekehrt lernst du die Kostenseite von AWS über die Kreditkartenabrechnung kennen.
# Zeitraum: der letzte volle Monat
VON=$(date -d "$(date +%Y-%m-01) -1 month" +%F)
BIS=$(date +%Y-%m-01)
aws sts get-caller-identity # in welchem Konto bin ich gerade?
aws configure set region eu-central-1
# Budget mit Alarm, damit eine vergessene Ressource auffällt
cat > budget.json <<'EOF'
{ "BudgetName": "uebung", "BudgetLimit": {"Amount": "20", "Unit": "USD"},
"TimeUnit": "MONTHLY", "BudgetType": "COST" }
EOF
aws budgets create-budget \
--account-id "$(aws sts get-caller-identity --query Account --output text)" \
--budget file://budget.json \
--notifications-with-subscribers file://alarm.json
# Was läuft aktuell und was kostet es?
aws ce get-cost-and-usage --time-period Start=$VON,End=$BIS \
--granularity MONTHLY --metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICEDie Datei alarm.json enthält Schwelle und Empfängeradresse. Setze zwei Stufen, etwa bei 50 und bei 100 Prozent des Budgets. Der erste Alarm ist der nützliche, der zweite ist die Quittung.