Guided Walkthroughs

Configuration Packages

By Implementation

Service Control PoliciesConfig RulesAuto Remediation RulesConformance PacksAmazon GuardDutyAmazon InspectorAWS Security HubAWS Network FirewallRoute53 Resolver SecurityAmazon MacieS3 Bucket PoliciesCloudWatch Alarms and Event RulesAWS WAFAWS Secrets ManagerAWS Systems ManagerSecurity Groups & NACLsAWS KMSAWS SSOIAM PoliciesVPC Endpoint PoliciesCloudFormation Guard RulesLoad BalancersRDS Event SubscriptionsAWS Resource Access Manager (RAM)

By Service Protected

Reference Guides

Other

CloudFormation Guard Rules

Cloudformation Guard Rules for ElastiCache (Redis)

CloudFormation guard rules template for ElastiCache resources

The following rules are included: 

  • ElastiCache (Redis) Encryption In-Transit Enabled
  • ElastiCache (Redis) Encryption At-Rest Enabled
  • ElastiCache (Redis) Multi-AZ Enabled
  • ElastiCache (Redis) Automatic Backups Enabled
  • ElastiCache (Redis) Snapshot Retention Period 7 days or More
CloudFormation Validation Tool: Syntax and Security validation for your templates online

let elastiCache_replicationGroup = Resources.*[
	Type == "AWS::ElastiCache::ReplicationGroup"
]

rule elasticache_redis_encryption_in_transit when %elastiCache_replicationGroup !empty {
	%elastiCache_replicationGroup {
		Properties {
			when Engine == "redis" {
				TransitEncryptionEnabled exists <<Encryption in transit is not configured (i.e. disabled).>>
				when TransitEncryptionEnabled exists {
					TransitEncryptionEnabled == true <<Encryption in transit is disabled.>>
				}
			}
		}
	}
}

rule elasticache_redis_encryption_at_rest when %elastiCache_replicationGroup !empty {
	%elastiCache_replicationGroup {
		Properties {
			when Engine == "redis" {
				AtRestEncryptionEnabled exists <<Encryption at rest is not configured (i.e. disabled).>>
				when AtRestEncryptionEnabled exists {
					AtRestEncryptionEnabled == true <<Encryption at rest is disabled.>>
				}
			}
		}
	}
}


rule elasticache_redis_multi_az when %elastiCache_replicationGroup !empty {
	%elastiCache_replicationGroup {
		Properties {
			when Engine == "redis" {
				MultiAZEnabled exists <<MultiAZ is not configured (i.e. disabled).>>
				when MultiAZEnabled exists {
					MultiAZEnabled == true <<MultiAZ is disabled.>>
				}
			}
		}
	}
}

rule elasticache_redis_auto_backups when %elastiCache_replicationGroup !empty {
	%elastiCache_replicationGroup {
		Properties {
			when Engine == "redis" {
				SnapshotRetentionLimit exists <<Automatic backup is not configured (i.e. disabled).>>
				when SnapshotRetentionLimit exists {
					SnapshotRetentionLimit > 0 <<Automatic backup is disabled.>>
				}
			}
		}
	}
}

rule elasticache_redis_retention_period when %elastiCache_replicationGroup !empty {
	%elastiCache_replicationGroup {
		Properties {
			when Engine == "redis" {
				SnapshotRetentionLimit exists <<Snapshot retention period is not configured (i.e. disabled).>>
				when SnapshotRetentionLimit exists {
					SnapshotRetentionLimit >= 7 <<Snapshot retention period is less that 7 days.>>
				}
			}
		}
	}
}


Actions



Customize Template

* Required field

Upgrade to Premium for More Features
Sign up

Guided Walkthroughs
Step-by-step configuration wizards for your environment
Dedicated Security Account
AWS Backup Strategy
VPC Connectivity Setup
Automated Patching
All Guides
Configuration Packages
Pre-built packages for common configuration
Common SCPs
CloudFormation Guard Rules
Auto Remediation Rules
IAM Monitoring & Compliance
All Packages
Automated Assessments
  • 350+ security checks
  • Well-architected reviews
  • Detailed compliance reports
  • Remediation templates
  • Email summaries
  • Learn more