A collection of configuration templates for Amazon ElastiCache resources as well as security controls for monitoring and protecting Amazon ElastiCache configuration such as Config Rules, CloudWatch Alarms, EventBridge Rules, IAM policies, and more.

ElastiCache
Amazon ElastiCache Cluster in a Default VPC with Security Group

This template creates an Amazon ElastiCache cluster in a default VPC with a security group. The cluster uses the memcached engine and has one cache node of type cache.t2.micro.

CloudFormationTerraform
Amazon ElastiCache Memcached Cluster with Nodes in Multiple Availability Zones

This template creates an ElastiCache Memcached cluster with three nodes across AZs.

CloudFormationTerraform
Amazon ElastiCache Parameter Group

This template creates an ElastiCache parameter group. The parameter group is used to configure the behavior of an ElastiCache cluster.

CloudFormationTerraform
Amazon ElastiCache Replication Group with Two Nodes

This template creates an Amazon ElastiCache replication group with two nodes. The replication group uses Redis as the engine and is configured with automatic failover enabled. It also specifies a preferred maintenance window and snapshot retention limit.

CloudFormationTerraform
Amazon ElastiCache Replication Group with Two Node Groups

This template creates an ElastiCache replication group with two node groups. Each node group has three replicas and the replication group is configured for automatic failover. The replication group uses Redis as the caching engine and has a cache node type of cache.r3.large. It also specifies a preferred maintenance window and snapshot retention limit.

CloudFormationTerraform
Amazon ElastiCache Subnet Group

This CloudFormation template creates an ElastiCache subnet group in a VPC with two subnets. The subnet group is used to specify the subnets where ElastiCache clusters can be created.

CloudFormationTerraform
Redis Log Delivery Configuration

Configures Redis log delivery to both CloudWatch Logs and Kinesis Firehose.

Terraform
ElastiCache Cluster Configuration in AWS Outpost

Creates an ElastiCache cluster in an AWS Outpost environment with specific subnet and outpost settings.

Terraform
Single Shard Primary with Single Read Replica and Lifecycle Configuration

Configures a single shard primary with a single read replica and includes lifecycle configuration to manage changes in the number of cache clusters.

Terraform
Memcached Serverless Cache Configuration

Creates a serverless Memcached cache with specified resource limits, security settings, and associated with specific subnets.

Terraform
Redis Serverless Cache Configuration

Sets up a serverless Redis cache with defined storage and compute limits, daily snapshot settings, and security configurations.

Terraform
Global Replication Group with One Secondary Replication Group

Creates a global replication group with one primary and one secondary replication group across different regions.

Terraform
Managing Redis Engine Versions in Global Replication Groups

Manages Redis engine versions across primary and secondary replication groups within a global replication group, using lifecycle policies to handle version synchronization.

Terraform
Single Shard Primary with Single Read Replica

Creates a single shard primary with a single read replica using Redis Cluster Mode Disabled.

Terraform
Two Shards with Primary and Single Read Replica Each

Creates two shards, each with a primary and a single read replica using Redis Cluster Mode Enabled.

Terraform
Secondary Replication Group for Global Replication

Creates a secondary replication group for a global replication group, including the primary replication group in a different region.

Terraform
Redis AUTH and In-Transit Encryption Enabled

Enables Redis AUTH and in-transit encryption for a replication group.

Terraform
ElastiCache User with Complex Access String

Creates an AWS ElastiCache user for Redis with a complex access string defining specific permissions.

Terraform
ElastiCache User and User Group Creation

Creates an ElastiCache user and a user group for Redis engine with specific access permissions.

Terraform
Associate ElastiCache User with User Group

This template associates an existing ElastiCache user with an existing user group and handles changes in user IDs with lifecycle rules.

Terraform
Config Rule
ElastiCache Redis Cluster Automatic Backup Enabled Check

A Config rule that checks if the Amazon ElastiCache Redis clusters have automatic backup turned on. The rule is NON_COMPLIANT if the SnapshotRetentionLimit for Redis cluster is less than the SnapshotRetentionPeriod parameter.

CloudFormationTerraformAWS CLI
Check if ElastiCache for Redis clusters have auto minor version upgrades enabled

Checks if Amazon ElastiCache for Redis clusters have auto minor version upgrades enabled. The rule is NON_COMPLIANT for an ElastiCache cluster if it is using the Redis engine and 'AutoMinorVersionUpgrade' is not set to 'true'.

CloudFormationTerraform
Check if ElastiCache replication groups have RBAC authentication enabled

Checks if Amazon ElastiCache replication groups have RBAC authentication enabled. The rule is NON_COMPLIANT if the Redis version is 6 or above and ‘UserGroupIds’ is missing, empty, or does not match an entry provided by the 'allowedUserGroupIDs' parameter.

CloudFormationTerraform
Check if ElastiCache Redis replication groups have automatic failover enabled

Checks if Amazon ElastiCache Redis replication groups have automatic failover enabled. The rule is NON_COMPLIANT for an ElastiCache replication group if ‘AutomaticFailover’ is not set to ‘enabled’.

CloudFormationTerraform
Check if ElastiCache replication groups are encrypted at rest

Checks if Amazon ElastiCache replication groups have encryption-at-rest enabled. The rule is NON_COMPLIANT for an ElastiCache replication group if 'AtRestEncryptionEnabled' is disabled or if the KMS key ARN does not match the approvedKMSKeyArns parameter.

CloudFormationTerraform
Check if ElastiCache replication groups have encryption-in-transit enabled

Checks if Amazon ElastiCache replication groups have encryption-in-transit enabled. The rule is NON_COMPLIANT for an ElastiCache replication group if ‘TransitEncryptionEnabled’ is set to ‘false’.

CloudFormationTerraform
Check if ElastiCache replication groups have Redis AUTH enabled

Checks if Amazon ElastiCache replication groups have Redis AUTH enabled. The rule is NON_COMPLIANT for an ElastiCache replication group if the Redis version of its nodes is below 6 (Version 6+ use Redis ACLs) and ‘AuthToken’ is missing or is empty/null.

CloudFormationTerraform
Check ElastiCache clusters subnet group configuration

Checks if Amazon ElastiCache clusters are configured with a custom subnet group. The rule is NON_COMPLIANT for an ElastiCache cluster if it is using a default subnet group.

CloudFormationTerraform
Check ElastiCache clusters for recommended engine version

Checks if ElastiCache clusters are running a version greater or equal to the recommended engine version. The rule is NON_COMPLIANT if the 'EngineVersion' for an ElastiCache cluster is less than the specified recommended version for its given engine.

CloudFormationTerraform