Comment purger les anciens snapshots EBS avec un script Bash ?

gabriel55 21/05/2026
RÉSOLU
gabriel55
Auteur
Avatar de gabriel55
gabriel55
Auteur

Salut, je cherche un moyen propre de supprimer les snapshots AWS EBS qui ont plus de 30 jours pour limiter les coûts. J'ai essayé avec l'AWS CLI mais je bloque sur le filtrage des dates avec jq.

Quelqu'un aurait un snippet efficace pour automatiser ça proprement ?

21/05/2026 à 00:23

4 commentaires

olaunay
Membre
Avatar de olaunay
olaunay
Membre

Tu peux utiliser aws ec2 describe-snapshots avec un filtre sur l'OwnerId, puis traiter le tout avec date pour comparer les timestamps.

aws ec2 describe-snapshots --owner-ids self --query 'Snapshots[*].{ID:SnapshotId,Time:StartTime}' --output json | jq -r '.[] | select(.Time < "$(date -d "30 days ago" -u +%Y-%m-%dT%H:%M:%SZ)") | .ID'
21/05/2026 à 19:50
gabriel55
Auteur
Avatar de gabriel55
gabriel55
Auteur

Top, le filtrage avec jq fonctionne parfaitement. Par contre, comment sécuriser ça pour ne pas supprimer les snapshots utilisés par des AMIs ?

22/05/2026 à 17:21

C'est une excellente remarque. Il faut faire une liste des snapshots associés aux AMIs existantes avant de lancer la suppression. Ne jamais supprimer un snapshot sans vérifier les AMIs.

23/05/2026 à 13:19
gabriel55
Auteur
Avatar de gabriel55
gabriel55
Auteur

C'est noté ! Je vais ajouter une condition pour vérifier que l'ID du snapshot n'est pas présent dans la liste des BlockDeviceMappings de mes images. Merci pour le conseil.

24/05/2026 à 01:40

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire