{"id":26959320,"url":"https://github.com/tmknom/terraform-aws-elasticache-redis","last_synced_at":"2025-04-03T04:37:30.324Z","repository":{"id":39793021,"uuid":"161774324","full_name":"tmknom/terraform-aws-elasticache-redis","owner":"tmknom","description":"Terraform module which creates Redis ElastiCache resources on AWS.","archived":false,"fork":false,"pushed_at":"2022-12-09T22:58:04.000Z","size":47,"stargazers_count":13,"open_issues_count":4,"forks_count":26,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-08-15T19:38:06.869Z","etag":null,"topics":["aws","elasticache","redis","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tmknom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-14T11:15:41.000Z","updated_at":"2023-07-25T13:08:40.000Z","dependencies_parsed_at":"2022-09-04T19:01:05.462Z","dependency_job_id":null,"html_url":"https://github.com/tmknom/terraform-aws-elasticache-redis","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmknom%2Fterraform-aws-elasticache-redis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmknom%2Fterraform-aws-elasticache-redis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmknom%2Fterraform-aws-elasticache-redis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmknom%2Fterraform-aws-elasticache-redis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmknom","download_url":"https://codeload.github.com/tmknom/terraform-aws-elasticache-redis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246939173,"owners_count":20857916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","elasticache","redis","terraform","terraform-module"],"created_at":"2025-04-03T04:37:29.753Z","updated_at":"2025-04-03T04:37:30.318Z","avatar_url":"https://github.com/tmknom.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-elasticache-redis\n\n[![Terraform Actions Status](https://github.com/tmknom/terraform-aws-elasticache-redis/workflows/Terraform/badge.svg)](https://github.com/tmknom/terraform-aws-elasticache-redis/actions?query=workflow%3ATerraform)\n[![Markdown Actions Status](https://github.com/tmknom/terraform-aws-elasticache-redis/workflows/Markdown/badge.svg)](https://github.com/tmknom/terraform-aws-elasticache-redis/actions?query=workflow%3AMarkdown)\n[![YAML Actions Status](https://github.com/tmknom/terraform-aws-elasticache-redis/workflows/YAML/badge.svg)](https://github.com/tmknom/terraform-aws-elasticache-redis/actions?query=workflow%3AYAML)\n[![JSON Actions Status](https://github.com/tmknom/terraform-aws-elasticache-redis/workflows/JSON/badge.svg)](https://github.com/tmknom/terraform-aws-elasticache-redis/actions?query=workflow%3AJSON)\n[![GitHub tag](https://img.shields.io/github/tag/tmknom/terraform-aws-elasticache-redis.svg)](https://registry.terraform.io/modules/tmknom/elasticache-redis/aws)\n[![License](https://img.shields.io/github/license/tmknom/terraform-aws-elasticache-redis.svg)](https://opensource.org/licenses/Apache-2.0)\n\nTerraform module which creates Redis ElastiCache resources on AWS.\n\n## Description\n\nProvision [ElastiCache_Replication_Group](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.html) and\n[Parameter Group](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.html).\n\nThis module provides recommended settings:\n\n- Enable Multi-AZ\n- Enable automatic failover\n- Enable at-rest encryption\n- Enable in-transit encryption\n- Enable automated backups\n\n## Usage\n\n### Minimal\n\n```hcl\nmodule \"elasticache_redis\" {\n  source                = \"git::https://github.com/tmknom/terraform-aws-elasticache-redis.git?ref=tags/2.0.0\"\n  name                  = \"example\"\n  number_cache_clusters = 2\n  node_type             = \"cache.m3.medium\"\n\n  subnet_ids         = var.subnet_ids\n  vpc_id             = var.vpc_id\n  source_cidr_blocks = var.source_cidr_blocks\n}\n```\n\n### Complete\n\n```hcl\nmodule \"elasticache_redis\" {\n  source                = \"git::https://github.com/tmknom/terraform-aws-elasticache-redis.git?ref=tags/2.0.0\"\n  name                  = \"example\"\n  number_cache_clusters = 2\n  node_type             = \"cache.m3.medium\"\n\n  engine_version             = \"5.0.0\"\n  port                       = 56379\n  maintenance_window         = \"mon:10:40-mon:11:40\"\n  snapshot_window            = \"09:10-10:10\"\n  snapshot_retention_limit   = 1\n  automatic_failover_enabled = false\n  at_rest_encryption_enabled = false\n  transit_encryption_enabled = false\n  apply_immediately          = true\n  family                     = \"redis5.0\"\n  description                = \"This is example\"\n\n  subnet_ids         = var.subnet_ids\n  vpc_id             = var.vpc_id\n  source_cidr_blocks = var.source_cidr_blocks\n\n  tags = {\n    Environment = \"prod\"\n  }\n}\n```\n\n## Examples\n\n- [Minimal](https://github.com/tmknom/terraform-aws-elasticache-redis/tree/master/examples/minimal)\n- [Complete](https://github.com/tmknom/terraform-aws-elasticache-redis/tree/master/examples/complete)\n\n\u003c!-- BEGINNING OF GENERATED BY TERRAFORM-DOCS --\u003e\n\n## Requirements\n\n| Name      | Version |\n| --------- | ------- |\n| terraform | \u003e= 0.12 |\n\n## Providers\n\n| Name | Version |\n| ---- | ------- |\n| aws  | n/a     |\n\n## Inputs\n\n| Name                       | Description                                                                                                               | Type           | Default                  | Required |\n| -------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------ | :------: |\n| name                       | The replication group identifier. This parameter is stored as a lowercase string.                                         | `string`       | n/a                      |   yes    |\n| node_type                  | The compute and memory capacity of the nodes in the node group.                                                           | `string`       | n/a                      |   yes    |\n| number_cache_clusters      | The number of cache clusters (primary and replicas) this replication group will have.                                     | `string`       | n/a                      |   yes    |\n| source_cidr_blocks         | List of source CIDR blocks.                                                                                               | `list(string)` | n/a                      |   yes    |\n| subnet_ids                 | List of VPC Subnet IDs for the cache subnet group.                                                                        | `list(string)` | n/a                      |   yes    |\n| vpc_id                     | VPC Id to associate with Redis ElastiCache.                                                                               | `string`       | n/a                      |   yes    |\n| apply_immediately          | Specifies whether any modifications are applied immediately, or during the next maintenance window.                       | `bool`         | `false`                  |    no    |\n| at_rest_encryption_enabled | Whether to enable encryption at rest.                                                                                     | `bool`         | `true`                   |    no    |\n| automatic_failover_enabled | Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. | `bool`         | `true`                   |    no    |\n| description                | The description of the all resources.                                                                                     | `string`       | `\"Managed by Terraform\"` |    no    |\n| engine_version             | The version number of the cache engine to be used for the cache clusters in this replication group.                       | `string`       | `\"5.0.6\"`                |    no    |\n| family                     | The family of the ElastiCache parameter group.                                                                            | `string`       | `\"redis5.0\"`             |    no    |\n| maintenance_window         | Specifies the weekly time range for when maintenance on the cache cluster is performed.                                   | `string`       | `\"\"`                     |    no    |\n| port                       | The port number on which each of the cache nodes will accept connections.                                                 | `number`       | `6379`                   |    no    |\n| snapshot_retention_limit   | The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them.              | `number`       | `30`                     |    no    |\n| snapshot_window            | The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.          | `string`       | `\"\"`                     |    no    |\n| tags                       | A mapping of tags to assign to all resources.                                                                             | `map(string)`  | `{}`                     |    no    |\n| transit_encryption_enabled | Whether to enable encryption in transit.                                                                                  | `bool`         | `true`                   |    no    |\n\n## Outputs\n\n| Name                                                   | Description                                                                |\n| ------------------------------------------------------ | -------------------------------------------------------------------------- |\n| elasticache_parameter_group_id                         | The ElastiCache parameter group name.                                      |\n| elasticache_replication_group_id                       | The ID of the ElastiCache Replication Group.                               |\n| elasticache_replication_group_member_clusters          | The identifiers of all the nodes that are part of this replication group.  |\n| elasticache_replication_group_primary_endpoint_address | The address of the endpoint for the primary node in the replication group. |\n| security_group_arn                                     | The ARN of the Redis ElastiCache security group.                           |\n| security_group_description                             | The description of the Redis ElastiCache security group.                   |\n| security_group_egress                                  | The egress rules of the Redis ElastiCache security group.                  |\n| security_group_id                                      | The ID of the Redis ElastiCache security group.                            |\n| security_group_ingress                                 | The ingress rules of the Redis ElastiCache security group.                 |\n| security_group_name                                    | The name of the Redis ElastiCache security group.                          |\n| security_group_owner_id                                | The owner ID of the Redis ElastiCache security group.                      |\n| security_group_vpc_id                                  | The VPC ID of the Redis ElastiCache security group.                        |\n\n\u003c!-- END OF GENERATED BY TERRAFORM-DOCS --\u003e\n\n## Development\n\n### Development Requirements\n\n- [Docker](https://www.docker.com/)\n\n### Configure environment variables\n\n```shell\nexport AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE\nexport AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\nexport AWS_DEFAULT_REGION=ap-northeast-1\n```\n\n### Installation\n\n```shell\ngit clone git@github.com:tmknom/terraform-aws-elasticache-redis.git\ncd terraform-aws-elasticache-redis\nmake install\n```\n\n### Makefile targets\n\n```text\napply-complete                 Run terraform apply examples/complete\napply-minimal                  Run terraform apply examples/minimal\nbump-version                   Bump version (Required argument 'VERSION')\ncheck-format                   Check format code\nclean                          Clean .terraform\ndestroy-complete               Run terraform destroy examples/complete\ndestroy-minimal                Run terraform destroy examples/minimal\ndiff                           Word diff\ndocs                           Generate docs\nformat                         Format code\nhelp                           Show help\ninstall                        Install requirements\nlint                           Lint code\nplan-complete                  Run terraform plan examples/complete\nplan-minimal                   Run terraform plan examples/minimal\nrelease                        Release GitHub and Terraform Module Registry\nupgrade                        Upgrade makefile\n```\n\n### Releasing new versions\n\nBump VERSION file, and run `make release`.\n\n### Terraform Module Registry\n\n- \u003chttps://registry.terraform.io/modules/tmknom/elasticache-redis/aws\u003e\n\n## License\n\nApache 2 Licensed. See LICENSE for full details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmknom%2Fterraform-aws-elasticache-redis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmknom%2Fterraform-aws-elasticache-redis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmknom%2Fterraform-aws-elasticache-redis/lists"}