Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork21
Terraform module to create AWS MemoryDB resources 🇺🇦
License
terraform-aws-modules/terraform-aws-memory-db
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Terraform module which creates AWS MemoryDB resources.
Seeexamples directory for working examples to reference:
module"memory_db" {source="terraform-aws-modules/memory-db/aws"# Clustername="example"description="Example MemoryDB cluster"engine="valkey"engine_version="7.3"auto_minor_version_upgrade=truenode_type="db.t4g.small"num_shards=2num_replicas_per_shard=2tls_enabled=truesecurity_group_ids=["sg-12345678"]maintenance_window="sun:23:00-mon:01:30"sns_topic_arn="arn:aws:sns:us-east-1:012345678910:example-topic"snapshot_retention_limit=7snapshot_window="05:00-09:00"# Usersusers={ admin= { user_name="admin-user" access_string="on ~* &* +@all" passwords= ["YouShouldPickAStrongSecurePassword987!"] tags= { User="admin" } } readonly= { user_name="readonly-user" access_string="on ~* &* -@all +@read" passwords= ["YouShouldPickAStrongSecurePassword123!"] tags= { User="readonly" } } }# ACLacl_name="example-acl"acl_tags={ Acl="custom" }# Parameter groupparameter_group_name="example-param-group"parameter_group_description="Example MemoryDB parameter group"parameter_group_family="memorydb_redis6"parameter_group_parameters=[ { name="activedefrag" value="yes" } ]parameter_group_tags={ ParameterGroup="custom" }# Subnet groupsubnet_group_name="example-subnet-group"subnet_group_description="Example MemoryDB subnet group"subnet_ids=["subnet-1fe3d837","subnet-129d66ab","subnet-1211eef5"]subnet_group_tags={ SubnetGroup="custom" }tags={ Terraform="true" Environment="dev" }}
The following values are provided to toggle on/off creation of the associated resources as desired:
module"memory_db" {source="terraform-aws-modules/memory-db/aws"# Disable creation of cluster and all resourcescreate=false# Disable creation of userscreate_users=false# Disable creation of ACL - an ACL will need to be providedcreate_acl=falseacl_name="existing_acl"# Disable creation of parameter group - a parameter group will need to be providedcreate_parameter_group=falseparameter_group_name="existing_parameter_group"# Disable creation of subnet group - a subnet group will need to be providedcreate_subnet_group=falsesubnet_group_name="existing_subnet_group"# ... omitted}
Examples codified under theexamples are intended to give users references for how to use the module(s) as well as testing/validating changes to the source code of the module. If contributing to the project, please be sure to make any appropriate updates to the relevant examples to allow maintainers to test your changes and to keep the examples up to date for users. Thank you!
| Name | Version |
|---|---|
| terraform | >= 1.5.7 |
| aws | >= 6.0 |
| Name | Version |
|---|---|
| aws | >= 6.0 |
No modules.
| Name | Type |
|---|---|
| aws_memorydb_acl.this | resource |
| aws_memorydb_cluster.this | resource |
| aws_memorydb_parameter_group.this | resource |
| aws_memorydb_subnet_group.this | resource |
| aws_memorydb_user.this | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| acl_name | Name of ACL to be created ifcreate_acl istrue, otherwise its the name of an existing ACL to use ifcreate_acl isfalse | string | null | no |
| acl_tags | Additional tags for the ACL created | map(string) | {} | no |
| acl_use_name_prefix | Determines whetheracl_name is used as a prefix | bool | false | no |
| acl_user_names | List of externally created user names to associate with the ACL | list(string) | [] | no |
| auto_minor_version_upgrade | When set totrue, the cluster will automatically receive minor engine version upgrades after launch. Defaults totrue | bool | null | no |
| create | Determines whether resources will be created - affects all resources | bool | true | no |
| create_acl | Determines whether to create ACL specified | bool | true | no |
| create_parameter_group | Determines whether to create parameter group specified | bool | true | no |
| create_subnet_group | Determines whether to create subnet group specified | bool | true | no |
| create_users | Determines whether to create users specified | bool | true | no |
| data_tiering | Must be set totrue when using a data tiering node type | bool | null | no |
| description | Description for the cluster. Defaults toManaged by Terraform | string | null | no |
| engine | The engine that will run on your nodes. Supported values areredis andvalkey | string | null | no |
| engine_version | Version number of the engine to be used for the cluster. Downgrades are not supported | string | null | no |
| final_snapshot_name | Name of the final cluster snapshot to be created when this resource is deleted. If omitted, no final snapshot will be made | string | null | no |
| kms_key_arn | ARN of the KMS key used to encrypt the cluster at rest | string | null | no |
| maintenance_window | Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the formatddd:hh24:mi-ddd:hh24:mi | string | null | no |
| multi_region_cluster_name | The multi region cluster identifier if part of a multi region cluster | string | null | no |
| name | Cluster name - also default name used on all resources if more specific resource names are not provided | string | "" | no |
| node_type | The compute and memory capacity of the nodes in the cluster. See AWS documentation onsupported node types as well asvertical scaling | string | null | no |
| num_replicas_per_shard | The number of replicas to apply to each shard, up to a maximum of 5. Defaults to1 (i.e. 2 nodes per shard) | number | null | no |
| num_shards | The number of shards in the cluster. Defaults to1 | number | null | no |
| parameter_group_description | Description for the parameter group. Defaults toManaged by Terraform | string | null | no |
| parameter_group_family | The engine version that the parameter group can be used with | string | null | no |
| parameter_group_name | Name of parameter group to be created ifcreate_parameter_group istrue, otherwise its the name of an existing parameter group to use ifcreate_parameter_group isfalse | string | null | no |
| parameter_group_parameters | A list of parameter maps to apply | list(map(string)) | [] | no |
| parameter_group_tags | Additional tags for the parameter group created | map(string) | {} | no |
| parameter_group_use_name_prefix | Determines whetherparameter_group_name is used as a prefix | bool | false | no |
| port | The port number on which each of the nodes accepts connections. Defaults to6379 | number | null | no |
| region | Region where this resource will be managed. Defaults to the Region set in the provider configuration | string | null | no |
| security_group_ids | Set of VPC Security Group ID-s to associate with this cluster | list(string) | null | no |
| 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(string) | null | no |
| snapshot_name | The name of a snapshot from which to restore data into the new cluster | string | null | no |
| snapshot_retention_limit | The number of days for which MemoryDB retains automatic snapshots before deleting them. When set to0, automatic backups are disabled. Defaults to0 | number | null | no |
| 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 |
| sns_topic_arn | ARN of the SNS topic to which cluster notifications are sent | string | null | no |
| subnet_group_description | Description for the subnet group. Defaults toManaged by Terraform | string | null | no |
| subnet_group_name | Name of subnet group to be created ifcreate_subnet_group istrue, otherwise its the name of an existing subnet group to use ifcreate_subnet_group isfalse | string | null | no |
| subnet_group_tags | Additional tags for the subnet group created | map(string) | {} | no |
| subnet_group_use_name_prefix | Determines whethersubnet_group_name is used as a prefix | bool | false | no |
| subnet_ids | Set of VPC Subnet ID-s for the subnet group. At least one subnet must be provided | list(string) | [] | no |
| tags | A map of tags to use on all resources | map(string) | {} | no |
| tls_enabled | A flag to enable in-transit encryption on the cluster. When set tofalse, theacl_name must beopen-access. Defaults totrue | bool | null | no |
| use_name_prefix | Determines whethername is used as a prefix for the cluster | bool | false | no |
| users | A map of user definitions (maps) to be created | map(object({ | {} | no |
| Name | Description |
|---|---|
| acl_arn | The ARN of the ACL |
| acl_id | Name of the ACL |
| acl_minimum_engine_version | The minimum engine version supported by the ACL |
| cluster_arn | The ARN of the cluster |
| cluster_endpoint_address | DNS hostname of the cluster configuration endpoint |
| cluster_endpoint_port | Port number that the cluster configuration endpoint is listening on |
| cluster_engine_patch_version | Patch version number of the Redis engine used by the cluster |
| cluster_id | Cluster name |
| cluster_shards | Set of shards in this cluster |
| parameter_group_arn | The ARN of the parameter group |
| parameter_group_id | Name of the parameter group |
| subnet_group_arn | ARN of the subnet group |
| subnet_group_id | Name of the subnet group |
| subnet_group_vpc_id | The VPC in which the subnet group exists |
| users | Map of attributes for the users created |
Apache-2.0 Licensed. SeeLICENSE.
About
Terraform module to create AWS MemoryDB resources 🇺🇦
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.