WAF-COST-120 – Reserved Capacity / Savings Plans müssen für dauerhafte Last reviewed und dokumentiert sein
Beschreibung
Workloads with predictable baseline utilization MUST be evaluated for Reserved Instances, Reserved VM Instances, Committed Use Discounts, or Savings Plans. The reservation decision and coverage ratio MUST be documented in IaC or a FinOps register. Unused reservations MUST be reviewed quarterly and reallocated or sold where supported. Expiration dates MUST be tracked to avoid lapse into on-demand pricing.
Begründung
| Risiko | Beschreibung |
|---|---|
Risk |
Persistent on-demand usage for predictable workloads wastes up to 60-70% of compute budget. |
Risk |
Unmonitored reservation expiration silently reverts workloads to expensive on-demand rates. |
Anforderungen
-
Workloads with predictable baseline utilization MUST be evaluated for Reserved Instances, Reserved VM Instances, Committed Use Discounts, or Savings Plans.
-
The reservation decision and coverage ratio MUST be documented in IaC or a FinOps register.
-
Unused reservations MUST be reviewed quarterly and reallocated or sold where supported.
-
Expiration dates MUST be tracked to avoid lapse into on-demand pricing.
Implementierungsleitfaden
-
Document the requirement in a version-controlled policy, ADR, or standard.
-
Assign ownership and establish a review cadence (e.g., quarterly).
-
Implement the required configuration as code in Terraform or equivalent IaC.
Reifegrade
| Level | Name | Kriterien |
|---|---|---|
L1 |
Ad hoc – control not consistently applied |
* Die Anforderung ist nicht einheitlich umgesetzt; Nachweis existiert nur punktuell oder fehlt. |
L2 |
Standardised – policy defined and communicated |
* Eine dokumentierte Policy oder ein Standard beschreibt die Anforderung. |
L3 |
Integrated – automated validation in CI/CD |
* Terraform-Checks oder IaC-Gates prüfen die Anforderung automatisch in CI/CD. |
L4 |
Auditable – metrics and exceptions tracked |
* Abdeckung, Ausnahmen und Qualitätsmetriken werden quartalsweise berichtet. |
L5 |
Optimised – continuous improvement based on data |
* Die Effektivität wird kontinuierlich gemessen und automatisch optimiert. |
Checks
waf-cost-120.tf.aws.savings-plan
Engine: terraform | Provider: aws | Automated: Ja
AWS Savings Plans oder Reserved Capacity müssen für gleichbleibende Compute-Last existieren
AWS Savings Plans oder Reserved Capacity müssen für gleichbleibende Compute-Last existieren
Scope: resource — aws_savingsplans_plan, aws_ec2_host, aws_ec2_capacity_reservation
Assertions:
* name attribute_exists — Reservation or savings plan must be defined for steady-state workloads.
Remediation: AWS Savings Plans oder Reserved Capacity müssen für gleichbleibende Compute-Last existieren
# Beispiel konform zu waf-cost-120.tf.aws.savings-plan
# Beispiel nicht konform zu waf-cost-120.tf.aws.savings-plan
waf-cost-120.config.reservation-register
Engine: config | Provider: any | Automated: Nein
Reservierungsentscheidungen müssen im FinOps-Register dokumentiert sein
Reservierungsentscheidungen müssen im FinOps-Register dokumentiert sein
Scope: file — docs/finops/reservation-register.md
Assertions:
* exists attribute_exists — Reservation register must document coverage ratio, expiration, and owner.
Remediation: Reservierungsentscheidungen müssen im FinOps-Register dokumentiert sein
# Beispiel konform zu waf-cost-120.config.reservation-register
# Beispiel nicht konform zu waf-cost-120.config.reservation-register
Evidenz
-
Terraform-Konfiguration, die die Anforderung umsetzt.
-
Policy, ADR oder Standard, der die Anforderung dokumentiert.
-
Optionale Cloud-Konsolen- oder API-Ausgaben, die den Laufzeit-Zustand bestätigen.
Verwandte Controls
-
WAF-REL-130 == Regulatorisches Mapping
-
FinOps Foundation: Optimize Phase – Rate Optimization, Commitment-Based Discounts
-
ITIL 4: Financial Management – Budgeting and cost optimization