←Marketplace

Cache

Description

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.

Configuration Inputs

This blueprint accepts 5 configurable inputs to customize the installation for your environment.

cacheNamestring

A name for your cache.

sizestring

Cache size. Small: ~1 GB, suitable for development. Medium: ~2 GB, good starting point for most workloads. Large: ~4 GB, for higher throughput.

highAvailabilityboolean

Enable high availability with automatic failover.

encryptionKeyIdstring

Customer-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.

encryptionKeyIdentityIdstring

User-assigned managed identity the cache uses to access the Key Vault key. Required with an encryption key on Azure.

Outputs

This blueprint exposes 4 outputs that other services can reference.

hoststring

Hostname for connecting to the cache from other services in the cluster.

portnumber

Port number for Redis connections (6379 on AWS and GCP, TLS port 10000 for Azure Managed Redis).

connectionUrlstring

Full Redis connection URL with credentials included.

authTokenstring

Auth token for Redis authentication.