Provisions a managed Redis instance using each cloud's native service -- ElastiCache on AWS, Memorystore on GCP, Azure Managed Redis on Azure. The blueprint selects the right Terraform module based on your environment's cloud provider.
Size controls memory allocation: small gives ~1 GB, medium ~2 GB, large ~4 GB (exact specs vary by provider). High availability adds a replica with automatic failover (multi-AZ on AWS, STANDARD_HA tier on GCP, a two-node replicated deployment on Azure).
Outputs include host, port, connectionUrl, and authToken. Other installations in the same environment can reference these to connect.
To use your own encryption key, the key must already exist in the environment's region and the cache service must be able to use it: on AWS the KMS key policy must allow the provisioning role kms:DescribeKey and kms:CreateGrant; on GCP the Memorystore service agent needs roles/cloudkms.cryptoKeyEncrypterDecrypter on the key; on Azure a user-assigned identity with the Key Vault Crypto Service Encryption User role is required. The key is fixed at creation time and changing it later replaces the cache.
This blueprint accepts 5 configurable inputs to customize the installation for your environment.
cacheNamestringA name for your cache.
sizestringCache size. Small: ~1 GB, suitable for development. Medium: ~2 GB, good starting point for most workloads. Large: ~4 GB, for higher throughput.
highAvailabilitybooleanEnable high availability with automatic failover.
encryptionKeyIdstringCustomer-managed encryption key for data at rest (KMS key ARN on AWS, Cloud KMS key on GCP, versioned Key Vault key ID on Azure). Leave blank to use the cloud provider's managed keys.
encryptionKeyIdentityIdstringUser-assigned managed identity the cache uses to access the Key Vault key. Required with an encryption key on Azure.
This blueprint exposes 4 outputs that other services can reference.
hoststringHostname for connecting to the cache from other services in the cluster.
portnumberPort number for Redis connections (6379 on AWS and GCP, TLS port 10000 for Azure Managed Redis).
connectionUrlstringFull Redis connection URL with credentials included.
authTokenstringAuth token for Redis authentication.