Terraform module for AWS Elasticache
➡️ Terraform module for Azure Cache for Redis
➡️ Terraform module for Google Memorystore
- Module tested for Terraform 1.0.1.
- AWS provider version 4.35
main
branch: Provider versions not pinned to keep up with Terraform releasestags
releases: Tags are pinned with versions (usein your releases)
terrafrom init
terraform plan -var='teamid=tryme' -var='prjid=project1'
terraform apply -var='teamid=tryme' -var='prjid=project1'
terraform destroy -var='teamid=tryme' -var='prjid=project1'
Note: With this option please take care of remote state storage
Recommended method (stores remote state in remote backend(S3, Azure storage, or Google bucket) using prjid
and teamid
to create directory structure):
- Create python 3.8+ virtual environment
python3 -m venv <venv name>
- Install package:
pip install tfremote --upgrade
- Set below environment variables:
export TF_AWS_BUCKET=<remote state bucket name>
export TF_AWS_BUCKET_REGION=us-west-2
export TF_AWS_PROFILE=<profile from ~/.ws/credentials>
or
- Set below environment variables:
export TF_AWS_BUCKET=<remote state bucket name>
export TF_AWS_BUCKET_REGION=us-west-2
export AWS_ACCESS_KEY_ID=<aws_access_key_id>
export AWS_SECRET_ACCESS_KEY=<aws_secret_access_key>
-
Updated
examples
directory with required values. -
Run and verify the output before deploying:
tf -c=aws plan -var='teamid=foo' -var='prjid=bar'
- Run below to deploy:
tf -c=aws apply -var='teamid=foo' -var='prjid=bar'
- Run below to destroy:
tf -c=aws destroy -var='teamid=foo' -var='prjid=bar'
Note: Read more on tfremote
Please refer to examples directory link for references.
Note:
- For more information on redis: link
Name | Version |
---|---|
terraform | >= 1.0.1 |
aws | ~> 4.35 |
Name | Version |
---|---|
aws | ~> 4.35 |
Name | Source | Version |
---|---|---|
global | git::git@github.com:tomarv2/terraform-global.git//aws | v0.0.1 |
Name | Type |
---|---|
aws_elasticache_cluster.this | resource |
aws_elasticache_parameter_group.this | resource |
aws_caller_identity.current | data source |
aws_region.current | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
config | Redis configuration | map(any) |
{} |
no |
extra_tags | Additional tags to associate | map(string) |
{} |
no |
Name | Description |
---|---|
cluster_address | Elasticache Cluster address |
cluster_id | Elasticache Id |
parameter_group | Elasticache Parameter Group |