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

  1. Document the requirement in a version-controlled policy, ADR, or standard.

  2. Assign ownership and establish a review cadence (e.g., quarterly).

  3. 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

Compliant
# Beispiel konform zu waf-cost-120.tf.aws.savings-plan
Non-Compliant
# 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

Compliant
# Beispiel konform zu waf-cost-120.config.reservation-register
Non-Compliant
# 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