AWS Security Hub · ElastiCache
ElastiCache.1: A Redis cluster has no automatic backups
Written and reviewed by Emnode · Last reviewed
What does AWS Security Hub ElastiCache.1 check?
ElastiCache.1 fails when an ElastiCache (Redis OSS or Valkey) cluster or replication group has a `SnapshotRetentionLimit` below the required threshold (the `snapshotRetentionPeriod` parameter, default 1 day, allowed 1-35), most commonly a limit of 0, meaning automatic backups are off. Memcached has no backups and is out of scope.
Why does ElastiCache.1 matter?
Caches described as "ephemeral" routinely become the only live record of state: idempotency keys, session data, in-flight tokens. With no backups, a node replacement during a routine engine upgrade can bring the cluster back empty, and there is nothing to restore from. Whatever the cache was quietly the source of truth for is simply gone.
How do I fix ElastiCache.1?
- List clusters and replication groups and check `SnapshotRetentionLimit` to find any below the threshold (commonly 0).
- Modify each cluster or replication group to set a retention window (for example 7 days), which can be done in place.
- Set a backup window that does not collide with the maintenance window; note very small node types cannot snapshot.
- Add a Config rule so new clusters always launch with a non-zero retention limit.
Remediation script · bash
# Set a 7-day backup floor on production databases below it (skip read replicas).
for db in $(aws rds describe-db-instances \
--query 'DBInstances[?ReadReplicaSourceDBInstanceIdentifier==`null` && BackupRetentionPeriod<`7`].DBInstanceIdentifier' --output text); do
aws rds modify-db-instance --db-instance-identifier "$db" \
--backup-retention-period 7 --no-apply-immediately
done
# Turn on DynamoDB point-in-time recovery (instant, no downtime).
aws dynamodb update-continuous-backups --table-name prod-orders \
--point-in-time-recovery-specification PointInTimeRecoveryEnabled=true
# Stop any snapshot in the account from being shared publicly, ever.
aws ec2 enable-snapshot-block-public-access --state block-all-sharing Full walkthrough (console steps, edge cases and verification) in the lesson Configure backups and retention.
Is ElastiCache.1 a false positive?
Memcached clusters cannot take backups and are not in scope; the finding applies to ElastiCache (Redis OSS and Valkey) clusters and replication groups. "It's just a cache" is not a safe exemption: confirm nothing relies on the data surviving a node replacement.
More ElastiCache controls
- ElastiCache.2 ElastiCache is not auto-applying minor patches
- ElastiCache.3 Replication groups should have auto-failover
- ElastiCache.4 Replication groups encrypted at rest
- ElastiCache.5 Replication groups encrypted in transit
- ElastiCache.6 Redis replication groups should have AUTH
- ElastiCache.7 A cluster uses the default subnet group