Giter VIP home page Giter VIP logo

tf_aws_elasticache_redis's Introduction

Breaking changes

In version 3.0.0, the module was reworked to operate with the 5.x.x version of the AWS provider.

A Terraform module to create a Redis ElastiCache cluster

A terraform module providing a Redis ElastiCache cluster in AWS.

This module

  • Creates Redis ElastiCache clusters
  • Creates, manages, and exports a security group

Terraform versions

Terraform 0.12. Pin module version to ~> v2.0. Submit pull-requests to master branch.

Terraform 0.11. Pin module version to ~> v1.0. Submit pull-requests to terraform011 branch.

Usage

module "redis" {
  source  = "github.com/terraform-community-modules/tf_aws_elasticache_redis.git?ref=v2.2.0"

  env            = "dev"
  name           = "thtest"
  redis_clusters = "2"
  redis_failover = "true"
  subnets        = ["subnet-12345678", "subnet-11111111", "subnet-22222222"]
  vpc_id         = "vpc-12345678"

  redis_parameters = [{
    name  = "min-slaves-max-lag"
    value = "5"
  },{
    name  = "min-slaves-to-write"
    value = "1"
  },{
    name  = "databases"
    value = "32"
  }]
}

Requirements

Name Version
terraform >= 0.13
aws >= 5.0.0

Providers

Name Version
aws >= 5.0.0
random n/a

Modules

No modules.

Resources

Name Type
aws_cloudwatch_metric_alarm.redis-elasticache-high-db-memory-critical resource
aws_cloudwatch_metric_alarm.redis-elasticache-high-db-memory-warning resource
aws_elasticache_parameter_group.redis_parameter_group resource
aws_elasticache_replication_group.redis resource
aws_elasticache_subnet_group.redis_subnet_group resource
aws_security_group.redis_security_group resource
aws_security_group_rule.redis_ingress resource
aws_security_group_rule.redis_networks_ingress resource
random_id.salt resource
aws_vpc.vpc data source

Inputs

Name Description Type Default Required
alerts_enabled Determines if alert-related resources should be created. When set to true, sns_topic_arn must be provided. When false, associated alerting resources are skipped. bool false no
allowed_cidr A list of Security Group ID's to allow access to. list(string)
[
"127.0.0.1/32"
]
no
allowed_security_groups A list of Security Group ID's to allow access to. list(string) [] no
apply_immediately Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false. bool false no
at_rest_encryption_enabled Whether to enable encryption at rest bool false no
auth_token The password used to access a password protected server. Can be specified only if transit_encryption_enabled = true. If specified must contain from 16 to 128 alphanumeric characters or symbols string null no
auto_minor_version_upgrade Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window bool true no
availability_zones A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important list(string) [] no
critical_database_usage_threshold The threshold for critical level database usage alarm number 96 no
env env to deploy into, should typically dev/staging/prod string n/a yes
kms_key_id The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true string "" no
multi_az_enabled n/a bool false no
name Name for the Redis replication group i.e. UserObject string n/a yes
notification_topic_arn An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic string "" no
redis_clusters Number of Redis cache clusters (nodes) to create string n/a yes
redis_failover n/a bool false no
redis_maintenance_window Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period string "fri:08:00-fri:09:00" no
redis_node_type Instance type to use for creating the Redis cache clusters string "cache.m3.medium" no
redis_parameters additional parameters modifyed in parameter group list(map(any)) [] no
redis_port n/a number 6379 no
redis_snapshot_retention_limit The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes number 0 no
redis_snapshot_window The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period string "06:30-07:30" no
redis_version Redis version to use, defaults to 3.2.10 string "3.2.10" no
security_group_names A list of cache security group names to associate with this replication group list(string) [] no
snapshot_arns A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb list(string) [] no
snapshot_name The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource string "" no
sns_topic_arn The SNS topic ARN to notify. string null no
subnets List of VPC Subnet IDs for the cache subnet group list(string) n/a yes
tags Tags for redis nodes map(string) {} no
transit_encryption_enabled Whether to enable encryption in transit. Requires 3.2.6 or >=4.0 redis_version bool false no
vpc_id VPC ID string n/a yes
warning_database_usage_threshold The threshold for warning level database usage alarm number 90 no

Outputs

Name Description
endpoint n/a
id n/a
parameter_group n/a
port n/a
redis_security_group_id n/a
redis_subnet_group_name n/a

Managed Resources

  • aws_cloudwatch_metric_alarm.redis-elasticache-high-db-memory-critical from aws
  • aws_cloudwatch_metric_alarm.redis-elasticache-high-db-memory-warning from aws
  • aws_elasticache_parameter_group.redis_parameter_group from aws
  • aws_elasticache_replication_group.redis from aws
  • aws_elasticache_subnet_group.redis_subnet_group from aws
  • aws_security_group.redis_security_group from aws
  • aws_security_group_rule.redis_ingress from aws
  • aws_security_group_rule.redis_networks_ingress from aws
  • random_id.salt from random

Data Resources

  • data.aws_vpc.vpc from aws

Authors

Created by Tim Hartmann. Maintained by Anton Babenko and these awesome contributors.

License

MIT License

tf_aws_elasticache_redis's People

Contributors

alexxxxxxd avatar antonbabenko avatar benregn avatar daimon243 avatar kuzaxak avatar lucaprete avatar mohsinhijazee avatar omeroner avatar pathouse avatar qdo-devops avatar rhenning avatar rinrailin avatar sharvash avatar stretch96 avatar tfhartmann avatar tomyan avatar vinay-ux avatar y-batsianouski avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.