{"id":30454791,"url":"https://github.com/gocloudla/terraform-aws-wrapper-memorydb","last_synced_at":"2026-04-28T21:34:14.267Z","repository":{"id":308783145,"uuid":"1034089101","full_name":"gocloudLa/terraform-aws-wrapper-memorydb","owner":"gocloudLa","description":"Terraform module for AWS MemoryDB wrapper with IAC best practices","archived":false,"fork":false,"pushed_at":"2025-08-07T20:34:14.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-07T22:15:34.368Z","etag":null,"topics":["aws","caching","database","memorydb","redis","terraform"],"latest_commit_sha":null,"homepage":"","language":null,"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/gocloudLa.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-07T20:30:47.000Z","updated_at":"2025-08-07T20:34:17.000Z","dependencies_parsed_at":"2025-08-07T22:15:42.838Z","dependency_job_id":"a6a83aee-2d4a-472f-af23-ff8303a3590d","html_url":"https://github.com/gocloudLa/terraform-aws-wrapper-memorydb","commit_stats":null,"previous_names":["gocloudla/terraform-aws-wrapper-memorydb"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gocloudLa/terraform-aws-wrapper-memorydb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocloudLa%2Fterraform-aws-wrapper-memorydb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocloudLa%2Fterraform-aws-wrapper-memorydb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocloudLa%2Fterraform-aws-wrapper-memorydb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocloudLa%2Fterraform-aws-wrapper-memorydb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gocloudLa","download_url":"https://codeload.github.com/gocloudLa/terraform-aws-wrapper-memorydb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocloudLa%2Fterraform-aws-wrapper-memorydb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271755407,"owners_count":24815398,"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","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","caching","database","memorydb","redis","terraform"],"created_at":"2025-08-23T16:01:56.742Z","updated_at":"2026-04-28T21:34:14.262Z","avatar_url":"https://github.com/gocloudLa.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Standard Platform - Terraform Module 🚀🚀\n\u003cp align=\"right\"\u003e\u003ca href=\"https://partners.amazonaws.com/partners/0018a00001hHve4AAC/GoCloud\"\u003e\u003cimg src=\"https://img.shields.io/badge/AWS%20Partner-Advanced-orange?style=for-the-badge\u0026logo=amazonaws\u0026logoColor=white\" alt=\"AWS Partner\"/\u003e\u003c/a\u003e\u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-green?style=for-the-badge\u0026logo=apache\u0026logoColor=white\" alt=\"LICENSE\"/\u003e\u003c/a\u003e\u003c/p\u003e\n\nWelcome to the Standard Platform — a suite of reusable and production-ready Terraform modules purpose-built for AWS environments.\nEach module encapsulates best practices, security configurations, and sensible defaults to simplify and standardize infrastructure provisioning across projects.\n\n## 📦 Module: Terraform MemoryDB Module\n\u003cp align=\"right\"\u003e\u003ca href=\"https://github.com/gocloudLa/terraform-aws-wrapper-memorydb/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/gocloudLa/terraform-aws-wrapper-memorydb.svg?style=for-the-badge\" alt=\"Latest Release\"/\u003e\u003c/a\u003e\u003ca href=\"\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/gocloudLa/terraform-aws-wrapper-memorydb.svg?style=for-the-badge\" alt=\"Last Commit\"/\u003e\u003c/a\u003e\u003ca href=\"https://registry.terraform.io/modules/gocloudLa/wrapper-memorydb/aws\"\u003e\u003cimg src=\"https://img.shields.io/badge/Terraform-Registry-7B42BC?style=for-the-badge\u0026logo=terraform\u0026logoColor=white\" alt=\"Terraform Registry\"/\u003e\u003c/a\u003e\u003c/p\u003e\nThe Terraform Wrapper for MemoryDB simplifies the creation of Amazon's MemoryDB (Redis compatible) service, creates clusters, distributes DNS, and associates SecurityGroup with the service.\n\n### ✨ Features\n\n- 🚨 [Alarms Configuration](#alarms-configuration) - Enables and customizes CloudWatch alarms for the memorydb.\n\n\n\n### 🔗 External Modules\n| Name | Version |\n|------|------:|\n| \u003ca href=\"https://github.com/terraform-aws-modules/terraform-aws-memory-db\" target=\"_blank\"\u003eterraform-aws-modules/memory-db/aws\u003c/a\u003e | 3.0.0 |\n| \u003ca href=\"https://github.com/terraform-aws-modules/terraform-aws-security-group\" target=\"_blank\"\u003eterraform-aws-modules/security-group/aws\u003c/a\u003e | 5.3.1 |\n\n\n\n## 🚀 Quick Start\n```hcl\nmemorydb_parameters = {\n  \"ExSimple\" = {\n    subnets = data.aws_subnets.database.ids\n\n    engine_version             = \"7.1\"\n    parameter_group_family      = \"memorydb_redis7\"\n    \n    users = {\n      admin = {\n        # CONNECTION MODE: redis-cli -h ${HOST} -p 6379 --tls --user dmc-prd-example-exusers-administrator --pass password_administrator_1234567890\n        user_name     = \"dmc-prd-example-exusers-administrator\"\n        passwords     = [\"password_administrator_1234567890\"]\n        access_string = \"on ~* \u0026* +@all\"\n      }\n      readonly = {\n        # CONNECTION MODE: redis-cli -h ${HOST} -p 6379 --tls --user dmc-prd-example-exusers-readonly --pass password_readonly_1234567890\n        user_name     = \"dmc-prd-example-exusers-readonly\"\n        passwords     = [\"password_readonly_1234567890\"]\n        access_string = \"on ~* \u0026* -@all +@read\"\n      }\n    }\n\n    dns_records = {\n      \"\" = {\n        zone_name    = local.zone_private\n        private_zone = true\n      }\n    }\n  }\n}\nelasticache_defaults = var.elasticache_defaults\n```\n\n\n## 🔧 Additional Features Usage\n\n### Alarms Configuration\nThis configuration block allows enabling, customizing, or disabling CloudWatch alarms. By default, alarms are not created \n\nYou can:\n  - Enable alarms globally for the resource (`enable_alarms = true`).\n  - Override default alarm parameters using `alarms_overrides`.\n  - Disable specific default alarms using `alarms_disabled`.\n  - Add completely custom alarms using `alarms_custom`.\n\n\n\u003cdetails\u003e\u003csummary\u003eEnable default alarms\u003c/summary\u003e\n\n```hcl\nenable_alarms = true\n```\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eOverride default alarm parameters\u003c/summary\u003e\n\n```hcl\nalarms_overrides = {\n  \"warning-CPUUtilization\" = {\n    \"actions_enabled\"     = true\n    \"evaluation_periods\"  = 2\n    \"datapoints_to_alarm\" = 2\n    \"threshold\"           = 30\n    \"period\"              = 180\n    \"treat_missing_data\"  = \"ignore\"\n  }\n}\n```\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eDisable specific alarms\u003c/summary\u003e\n\n```hcl\nalarms_disabled = [\"critical-CPUUtilization\", \"critical-EBSByteBalance\", \"critical-EBSIOBalance\"]\n```\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eAdd custom alarms\u003c/summary\u003e\n\n```hcl\nalarms_custom = {\n  \"warning-FreeableMemory\" = {\n    # This alarm helps to monitor low freeable memory which can mean that there is a spike in database connections or that your instance may be under high memory pressure.\n    description         = \"FreeableMemory below 350 MB\"\n    threshold           = 367001600\n    unit                = \"Bytes\"\n    metric_name         = \"FreeableMemory\"\n    statistic           = \"Average\"\n    namespace           = \"AWS/MemoryDB\"\n    period              = 60\n    evaluation_periods  = 15\n    datapoints_to_alarm = 15\n    comparison_operator = \"LessThanThreshold\"\n    alarms_tags = {\n      \"alarm-level\" = \"WARN\"\n    }\n  }\n  \"critical-FreeableMemory\" = {\n    description = \"FreeableMemory below 250 MB\"\n    # This alarm helps to monitor low freeable memory which can mean that there is a spike in database connections or that your instance may be under high memory pressure.\n    threshold           = 262144000\n    unit                = \"Bytes\"\n    metric_name         = \"FreeableMemory\"\n    statistic           = \"Average\"\n    namespace           = \"AWS/MemoryDB\"\n    period              = 60\n    evaluation_periods  = 15\n    datapoints_to_alarm = 15\n    comparison_operator = \"LessThanThreshold\"\n    alarms_tags = {\n      \"alarm-level\" = \"CRIT\"\n    }\n  }\n}\n```\n\n\n\u003c/details\u003e\n\n\n\n\n## 📑 Inputs\n| Name                        | Description                                                                                                                                                                       | Type     | Default | Required |\n| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | -------- |\n| engine                      | The engine that will run on your nodes. Supported values are `redis` and `valkey`                                                                                                 | `string` | `null`  | no       |\n| engine_version              | Version number of the engine to be used for the cluster. Downgrades are not supported                                                                                             | `string` | `null`  | no       |\n| auto_minor_version_upgrade  | When set to `true`, the cluster will automatically receive minor engine version upgrades after launch. Defaults to `true`                                                         | `bool`   | `null`  | no       |\n| node_type                   | The compute and memory capacity of the nodes in the cluster. See AWS documentation on supported node types as well as vertical scaling                                            | `string` | `null`  | no       |\n| num_shards                  | The number of shards in the cluster. Defaults to `1`                                                                                                                              | `number` | `null`  | no       |\n| num_replicas_per_shard      | The number of replicas to apply to each shard, up to a maximum of 5. Defaults to `1` (i.e. 2 nodes per shard)                                                                     | `number` | `null`  | no       |\n| data_tiering                | Must be set to `true` when using a data tiering node type                                                                                                                         | `bool`   | `null`  | no       |\n| tls_enabled                 | A flag to enable in-transit encryption on the cluster. When set to `false`, the `acl_name` must be `open-access`. Defaults to `true`                                              | `bool`   | `null`  | no       |\n| security_group_ids          | Set of VPC Security Group ID-s to associate with this cluster                                                                                                                     | `list`   | `null`  | no       |\n| snapshot_arns               | List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster                                                 | `list`   | `null`  | no       |\n| maintenance_window          | Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format `ddd:hh24:mi-ddd:hh24:mi`                          | `string` | `null`  | no       |\n| snapshot_retention_limit    | The number of days for which MemoryDB retains automatic snapshots before deleting them. When set to `0`, automatic backups are disabled. Defaults to `0`                          | `number` | `null`  | no       |\n| snapshot_window             | The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: `05:00-09:00`                                                          | `string` | `null`  | no       |\n| users                       | A map of user definitions (maps) to be created                                                                                                                                    | `map`    | `{}`    | no       |\n| acl_name                    | Name of ACL to be created if `create_acl` is `true`, otherwise it's the name of an existing ACL to use if `create_acl` is `false`                                                 | `string` | `null`  | no       |\n| parameter_group_name        | Name of parameter group to be created if `create_parameter_group` is `true`, otherwise it's the name of an existing parameter group to use if `create_parameter_group` is `false` | `string` | `null`  | no       |\n| parameter_group_description | Description for the parameter group. Defaults to `Managed by Terraform`                                                                                                           | `string` | `null`  | no       |\n| parameter_group_family      | The engine version that the parameter group can be used with                                                                                                                      | `string` | `null`  | no       |\n| parameter_group_parameters  | A list of parameter maps to apply                                                                                                                                                 | `null`   | `[]`    | no       |\n| region                      | Region where this resource will be managed. Defaults to the Region set in the provider configuration.                                                                             | `string` | `null`  | no       |\n| subnet_group_name           | Name of subnet group to be created if `create_subnet_group` is `true`, otherwise it's the name of an existing subnet group to use if `create_subnet_group` is `false`             | `string` | `null`  | no       |\n| subnet_group_description    | Description for the subnet group. Defaults to `Managed by Terraform`                                                                                                              | `string` | `null`  | no       |\n| subnet_ids                  | Set of VPC Subnet ID-s for the subnet group. At least one subnet must be provided                                                                                                 | `list`   | `[]`    | no       |\n| tags                        | A map of tags to assign to resources.                                                                                                                                             | `map`    | `{}`    | no       |\n\n\n\n\n\n\n\n\n---\n\n## 🤝 Contributing\nWe welcome contributions! Please see our contributing guidelines for more details.\n\n## 🆘 Support\n- 📧 **Email**: info@gocloud.la\n\n## 🧑‍💻 About\nWe are focused on Cloud Engineering, DevOps, and Infrastructure as Code.\nWe specialize in helping companies design, implement, and operate secure and scalable cloud-native platforms.\n- 🌎 [www.gocloud.la](https://www.gocloud.la)\n- ☁️ AWS Advanced Partner (Terraform, DevOps, GenAI)\n- 📫 Contact: info@gocloud.la\n\n## 📄 License\nThis project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgocloudla%2Fterraform-aws-wrapper-memorydb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgocloudla%2Fterraform-aws-wrapper-memorydb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgocloudla%2Fterraform-aws-wrapper-memorydb/lists"}