Fin 2022, un CTO d’une startup SaaS reçoit une facture AWS de 47 000 dollars après une mauvaise configuration d’un bucket S3 en accès public. En 2023, c’est un dev Google Cloud qui prend 82 000 dollars en 48h à cause d’une clé Maps volée. Les trois grands providers cloud — Google Cloud, AWS et Azure — vantent tous leurs outils de gestion des coûts. Mais qui protège vraiment contre les factures surprises ? La réponse courte : aucun d’eux par défaut. Voici le comparatif honnête.
Google Cloud Platform (GCP)
Ce que GCP offre nativement
- Budget Alerts : notifications email et Pub/Sub à des seuils configurables (50%, 80%, 100%…)
- Quotas API : limites de débit et de volume par API et par projet
- Cost Table et Cost Breakdown : visualisation détaillée des coûts
- Billing Export vers BigQuery : données de facturation exportées pour analyse
Ce que GCP ne fait PAS
- Pas de hard cap natif : les Budget Alerts informent mais ne coupent rien
- Pas de suspension automatique de projet en cas de dépassement
- Pas de limite de facturation par service individuel
Verdict GCP : Le meilleur des trois pour les quotas API granulaires (par clé, par IP, par méthode). Mais le pire pour la protection native de la facturation globale. Il faut construire son propre kill switch avec Cloud Function + Pub/Sub.
Amazon Web Services (AWS)
Ce qu’AWS offre nativement
- AWS Budgets : alertes email et SNS quand vous dépassez les seuils de coût ou d’utilisation
- AWS Cost Explorer : analyse et prévision des coûts
- Service Quotas : limites par service (ex: nombre d’instances EC2)
- AWS Cost Anomaly Detection : détection ML des anomalies de coût — c’est unique à AWS
- SCP (Service Control Policies) : politiques org-level pour empêcher certaines actions
Ce qu’AWS ne fait PAS
- Pas de hard cap automatique : AWS Budgets informe mais ne coupe pas les services
- Pas de suspension automatique du compte en cas de dépassement (sauf non-paiement)
AWS propose cependant une feature intéressante : les Budget Actions. Quand un budget est dépassé, vous pouvez configurer des actions automatiques comme appliquer une IAM policy restrictive, résilier des instances EC2, ou appliquer une SCP. C’est plus proche d’un hard cap que GCP, mais ça reste limité aux services configurés.
# Exemple de Budget Action AWS (via CLI)
aws budgets create-budget-action \
--account-id 123456789012 \
--budget-name "MonBudgetMensuel" \
--notification-type ACTUAL \
--action-type APPLY_IAM_POLICY \
--action-threshold ActionThresholdValue=100,ActionThresholdType=PERCENTAGE \
--definition '{"IamActionDefinition":{"PolicyArn":"arn:aws:iam::123456789012:policy/BlockAllServices"}}' \
--execution-role-arn arn:aws:iam::123456789012:role/BudgetActionsRole \
--approval-model AUTOMATIC
Verdict AWS : Le plus avancé sur la gestion des coûts, notamment avec Cost Anomaly Detection et les Budget Actions. Mais ça nécessite quand même une configuration non triviale pour approcher d’un vrai hard cap.
Microsoft Azure
Ce qu’Azure offre nativement
- Azure Cost Management + Billing : budgets avec alertes email
- Cost alerts : notifications à des seuils de dépenses
- Azure Advisor : recommandations de coûts
- Azure Policy : politiques pour restreindre les ressources autorisées
- Spending limit pour les comptes gratuits et MSDN/Pay-As-You-Go : Azure peut suspendre les services pour ce type de compte
Le cas particulier Azure : le spending limit
Azure propose un spending limit — mais uniquement pour certains types de comptes (free trial, Visual Studio, MSDN). Pour les comptes Pay-As-You-Go ou Enterprise, ce mécanisme n’existe pas. Pour les comptes éligibles, Azure peut suspendre les services quand la limite est atteinte, ce qui s’approche d’un vrai hard cap.
Pour les comptes enterprise, la solution est d’utiliser Azure Automation + Logic Apps pour créer un kill switch similaire à celui de GCP :
# Powershell : désactiver un resource group si budget dépassé
param([string]$ResourceGroupName)
# Désactiver toutes les VMs du resource group
$vms = Get-AzVM -ResourceGroupName $ResourceGroupName
foreach ($vm in $vms) {
Stop-AzVM -ResourceGroupName $ResourceGroupName -Name $vm.Name -Force
Write-Output "VM $($vm.Name) arrêtée"
}
Verdict Azure : Meilleur que GCP sur la protection native pour les petits comptes, moins avancé qu’AWS pour les comptes enterprise. L’intégration Azure Policy est puissante pour la gouvernance mais complexe à configurer.
Tableau comparatif
| Fonctionnalité | Google Cloud | AWS | Azure |
|---|---|---|---|
| Alertes de budget | ✅ Oui | ✅ Oui | ✅ Oui |
| Hard cap natif | ❌ Non | ⚠️ Partiel (Budget Actions) | ⚠️ Partiel (free/MSDN seulement) |
| Détection d’anomalies ML | ❌ Non | ✅ Cost Anomaly Detection | ⚠️ Via Azure Monitor |
| Quotas API granulaires | ✅ Excellent | ✅ Bon | ⚠️ Variable par service |
| Kill switch constructible | ✅ Cloud Function + Pub/Sub | ✅ Lambda + SNS + Budget Actions | ✅ Logic Apps + Automation |
| Suspension automatique | ❌ Non | ⚠️ Via Budget Actions | ✅ Comptes free/MSDN |
La vérité inconfortable : vous devez construire votre propre protection
Aucun provider cloud ne vous protège vraiment des factures surprises par défaut. AWS s’en approche le plus avec les Budget Actions et Cost Anomaly Detection, mais ça reste une protection incomplète. La raison est simple : un hard cap « couper les services au dépassement de budget » causerait des incidents de production massifs chez les clients enterprise qui ont des pics légitimes de trafic. Les providers font le choix de ne pas trancher.
Ce que vous devez mettre en place vous-même, quel que soit votre provider :
- Budget Alerts multicouches (50%, 80%, 100%, 200%)
- Restrictions de scope sur tous les credentials (moindre privilège)
- Quotas stricts sur les APIs à risque
- Kill switch automatique déclenché par les alertes de budget
- Monitoring d’anomalies en temps réel
🔐 Vous n’êtes pas sûr que vos clés API et votre configuration cloud soient sécurisées ?
Klack propose un audit sécurité complet : vérification des clés exposées, mise en place de limites de facturation, alertes automatiques et kill switch. Intervention en 24-48h.
