WAF-COST-110 – Spot-/Preemptible-Instances müssen für geeignete Workloads explizit erlaubt und dokumentiert sein
Beschreibung
Workloads that tolerate interruption MUST use Spot/Preemptible instances by default unless business justification documents on-demand use. IaC definitions MUST tag interruptible workloads with spot-eligibility and maximum Spot price or eviction policy. Auto Scaling Groups and Managed Instance Groups SHOULD define mixed instance policies combining Spot and On-Demand capacity. Documentation MUST cover workload interruption handling and fallback behavior.
Begründung
| Risiko | Beschreibung |
|---|---|
Risk |
Always using on-demand compute for interruptible workloads increases cost without reliability benefit. |
Risk |
Undocumented Spot usage leads to inconsistent financial planning and surprise evictions. |
Anforderungen
-
Workloads that tolerate interruption MUST use Spot/Preemptible instances by default unless business justification documents on-demand use.
-
IaC definitions MUST tag interruptible workloads with spot-eligibility and maximum Spot price or eviction policy.
-
Auto Scaling Groups and Managed Instance Groups SHOULD define mixed instance policies combining Spot and On-Demand capacity.
-
Documentation MUST cover workload interruption handling and fallback behavior.
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-110.tf.aws.spot-tagged
Engine: terraform | Provider: aws | Automated: Ja
AWS-unterbrechungstolerante Workloads müssen ein spot-eligibility-Tag tragen
AWS-unterbrechungstolerante Workloads müssen ein spot-eligibility-Tag tragen
Scope: resource — aws_autoscaling_group, aws_spot_instance_request, aws_ec2_fleet
Assertions:
* tags key_exists spot-eligibility — Interruptible workload must be tagged with spot-eligibility.
Remediation: AWS-unterbrechungstolerante Workloads müssen ein spot-eligibility-Tag tragen
# Beispiel konform zu waf-cost-110.tf.aws.spot-tagged
# Beispiel nicht konform zu waf-cost-110.tf.aws.spot-tagged
waf-cost-110.tf.azurerm.spot-eviction-policy
Engine: terraform | Provider: azurerm | Automated: Ja
Azure Spot-VMs müssen eine Eviction-Policy definieren
Azure Spot-VMs müssen eine Eviction-Policy definieren
Scope: resource — azurerm_linux_virtual_machine, azurerm_windows_virtual_machine
Assertions:
* priority in ['Spot', 'spot'] — Spot VM must have priority Spot with eviction policy.
Remediation: Azure Spot-VMs müssen eine Eviction-Policy definieren
# Beispiel konform zu waf-cost-110.tf.azurerm.spot-eviction-policy
# Beispiel nicht konform zu waf-cost-110.tf.azurerm.spot-eviction-policy
waf-cost-110.config.spot-policy-documented
Engine: config | Provider: any | Automated: Nein
Spot-Instance-Policy muss dokumentiert sein
Spot-Instance-Policy muss dokumentiert sein
Scope: file — docs/finops/spot-policy.md
Assertions:
* exists attribute_exists — Spot/preemptible policy must document eligible workload classes.
Remediation: Spot-Instance-Policy muss dokumentiert sein
# Beispiel konform zu waf-cost-110.config.spot-policy-documented
# Beispiel nicht konform zu waf-cost-110.config.spot-policy-documented
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-120 == Regulatorisches Mapping
-
FinOps Foundation: Optimize Phase – Workload Optimization, Variable Workload Spot/Preemptible Strategy
-
ISO 14001: 6.1.2 – Environmental aspects of operational decisions
-
GHG Protocol: Scope 3 – Category 11: purchased services cost-efficiency