> ## Documentation Index
> Fetch the complete documentation index at: https://www.qovery.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon ElastiCache for Redis (legacy single node)

> Adopts an existing single-node AWS ElastiCache for Redis cluster created by Qovery native managed Redis. Import only: it cannot create a new cluster. This shape has no auth token and no TLS.

Qovery creates it in the AWS account of the environment's cluster, as a [Blueprint](https://www.qovery.com/docs/configuration/blueprints.md) service in one of your environments.

| | |
| - | - |
| Catalog name | `aws-elasticache-redis-node` |
| Category | Databases & Caches |
| Provider | AWS |
| Engine | terraform |
| Major versions (latest release) | `5` (1.0.1), `6` (1.0.1), `7` (1.0.1) |
| Source | [AWS/redis-node/7](https://github.com/Qovery/service-catalog/tree/AWS/redis-node/7/1.0.1/AWS/redis-node/7) |

> [!TIP]
>
> **New to this?** You don't need to know Kubernetes or Terraform. Qovery sets up Amazon ElastiCache for Redis (legacy single node) in your cloud account and manages it for you: you fill in a form, or paste the prompt below into your coding agent. The values it publishes, listed under Outputs, reach your other services as environment variables. Qovery tells you when a newer version of the Blueprint is available. Check the requirements in the Reference section before you start, and try it first in a development environment.

## Create it

> [tab] Console
>
> 1. Open the environment, then **New service** › **Blueprint**.
> 2. Find **Amazon ElastiCache for Redis (legacy single node)** in the catalog and pick the major version.
> 3. Fill in the variables. Required ones are marked; the others use their defaults.
> 4. Create the service, and deploy it now or later.

> [tab] CLI and API
>
> List the catalog to get the latest tag, then create the service from it. `qovery api` signs the requests with your CLI session.
>
> ```bash theme={null}
> ORG_ID="REPLACE_WITH_ORGANIZATION_ID"
> ENV_ID="REPLACE_WITH_ENVIRONMENT_ID"
>
> qovery api "organization/$ORG_ID/blueprint/catalog" | jq '.. | objects | select(.name? == "aws-elasticache-redis-node")'
>
> cat > blueprint.json <<'EOF'
> {
>   "name": "aws-elasticache-redis-node",
>   "tag": "AWS/redis-node/7/1.0.1",
>   "icon": "app://qovery-console/redis",
>   "variables": [
>     {
>       "name": "redis_name",
>       "value": "REPLACE_WITH_REDIS_NAME"
>     },
>     {
>       "name": "instance_class",
>       "value": "REPLACE_WITH_INSTANCE_CLASS"
>     },
>     {
>       "name": "parameter_group_name",
>       "value": "REPLACE_WITH_PARAMETER_GROUP_NAME"
>     }
>   ],
>   "spec_overrides": {
>     "engine_version": "1.9.7"
>   }
> }
> EOF
> BLUEPRINT_ID=$(qovery api "environment/$ENV_ID/blueprint" --method POST --input - < blueprint.json | jq -r .id)
> rm blueprint.json   # it can hold secret values
> qovery api "blueprint/$BLUEPRINT_ID/deploy" --method POST
> qovery api "blueprint/$BLUEPRINT_ID"   # status of the latest deployment
> ```
>
> Replace each `REPLACE_WITH_` value. Add optional variables to `variables` the same way.

> [tab] Coding agent
>
> Paste this into Claude Code, Cursor, Codex or another coding agent with the [Qovery agent skills](https://www.qovery.com/docs/getting-started/quickstart/agent-skills.md) installed (`curl -fsSL https://skill.qovery.com/install.sh | bash`).
>
> ```text Prompt wrap theme={null}
> Add the Qovery Blueprint Amazon ElastiCache for Redis (legacy single node) (aws-elasticache-redis-node) to one of my Qovery environments and deploy it. Ask me for redis_name, instance_class and parameter_group_name.
> Ask me before deploying to a production environment.
> Docs: https://www.qovery.com/docs/configuration/blueprints/aws-elasticache-redis-node.md
> ```

You don't add any file to your repository. Qovery creates the Blueprint from the Console or the API.

## Variables and outputs

Generated from `qbm.yml` at `AWS/redis-node/7/1.0.1`, the manifest the Console form is built from.

> [accordion] All 12 variables
>
> | Name | Type | Required | Default | Secret | Description |
> | - | - | - | - | - | - |
> | `redis_name` | string | Yes | | | Display only, max 40 chars: the adopted cluster keeps its native tags. |
> | `engine_version` | string | | `7.0` | | Redis engine version of the adopted cluster |
> | `instance_class` | string | Yes | | | ElastiCache node type of the adopted cluster |
> | `port` | number | | `6379` | | Redis port |
> | `parameter_group_name` | string | Yes | | | Parameter group of the adopted cluster (native Qovery Redis uses default.redis7). |
> | `legacy_connection_username` | string | | | | Leave empty — Qovery's migration sets it to the login held in the legacy connection variables. Not used for auth. |
> | `legacy_connection_password` | string | | | Yes | Leave empty — Qovery's migration sets it to the password held in the legacy connection variables. Not used for auth: this shape has none. |
> | `apply_changes_now` | bool | | `false` | | Apply changes immediately instead of waiting for the next maintenance window |
> | `preferred_maintenance_window` | string | | `Tue:02:00-Tue:04:00` | | UTC, format ddd:hh24:mi-ddd:hh24:mi. Ignored after adoption, like the native template. |
> | `preferred_backup_window` | string | | `00:00-01:00` | | Daily, UTC, format hh24:mi-hh24:mi. Only used when backup\_retention\_period > 0. |
> | `backup_retention_period` | number | | `14` | | Days to retain automatic snapshots (0 disables) |
> | `skip_final_snapshot` | bool | | `false` | | Skip the final snapshot on deletion. False leaves a snapshot behind after the cluster is destroyed. |

Outputs become environment variables that other services in the environment can use. By default Qovery also creates an alias for each output, prefixed with the Blueprint's name; see [Aliases Qovery creates for outputs](https://www.qovery.com/docs/configuration/environment-variables.md#aliases-qovery-creates-for-outputs) for the naming rules and the cases where no alias is created.

> [accordion] All 12 outputs
>
> | Name | Secret | Description |
> | - | - | - |
> | `redis_identifier` | | ElastiCache cluster id (what the AWS console shows as the cluster name) |
> | `redis_host` | | Hostname applications connect to |
> | `redis_port` | | Redis port |
> | `redis_url` | | Connection URL, plaintext with no auth (this shape supports neither) |
> | `redis_arn` | | Cluster ARN |
> | `redis_engine_version_actual` | | Engine version actually running |
> | `db_identifier` | | Alias of redis\_identifier |
> | `db_address` | | Alias of redis\_host |
> | `db_port` | | Alias of redis\_port |
> | `db_name` | | Redis logical database applications use — always 0 |
> | `db_username` | | Legacy connection login, republished unchanged (not used for auth) |
> | `db_password` | Yes | Legacy connection password, republished unchanged (not used for auth) |

> [!WARNING]
>
> Secret variables and outputs are encrypted and masked in Qovery, but Terraform can also keep their values, and values derived from them, in its state. With the Qovery-managed state backend (the default), Qovery stores the state. If you use your own backend, protect it and keep state files out of version control.

## Reference

From the Blueprint's [README](https://github.com/Qovery/service-catalog/blob/AWS/redis-node/7/1.0.1/AWS/redis-node/7/README.md).

Adopts an existing single-node AWS ElastiCache for Redis 7 cluster (`aws_elasticache_cluster`), the shape native Qovery-managed Redis created when the login was `qoveryadmin`. It brings the live cluster under a blueprint via `terraform import`, with no re-provision and no data movement.

**Import only.** `import_identifier` is required, so this blueprint cannot create a cluster. A single-node ElastiCache cluster supports neither an auth token nor TLS, so a new Redis must use the `aws-elasticache-redis` blueprint instead. Applications keep connecting as before: `redis://<host>:6379/0`, published as the `redis_url` output.

### Variables

| Name | Type | Default | Description |
| - | - | - | - |
| `import_identifier` | string | | Live cluster id to adopt. Required. Not shown in the console: Qovery's migration sets it. |
| `redis_name` | string | | Required. Display name. Informational: tags are ignored after adoption, so the cluster keeps its native `Name` tag. |
| `engine_version` | string | `7.0` | Engine version of the adopted cluster: `7.0`, `7.1`. Ignored after adoption. |
| `instance_class` | string | | Required. Node type of the adopted cluster, one of the types listed in `qbm.yml`. |
| `port` | number | `6379` | Redis port of the adopted cluster. Ignored after adoption (ForceNew). |
| `parameter_group_name` | string | | Required. Parameter group of the adopted cluster (native: `default.redis7`) |
| `legacy_connection_username`, `legacy_connection_password` | string | | Values held in the legacy connection variables, republished as `db_username` / `db_password` so those variables keep refreshing. Not used for auth. Qovery's migration sets them. |
| `apply_changes_now` | bool | `false` | Apply changes immediately instead of during the maintenance window |
| `preferred_maintenance_window` | string | `Tue:02:00-Tue:04:00` | Maintenance window (UTC), format ddd:hh24:mi-ddd:hh24:mi. Ignored after adoption, like the native template. |
| `preferred_backup_window` | string | `00:00-01:00` | Daily snapshot window (UTC), used when `backup_retention_period > 0` |
| `backup_retention_period` | number | `14` | Days to retain automatic snapshots (0 disables) |
| `skip_final_snapshot` | bool | `false` | Skip the final snapshot on deletion. With `false`, deleting the service leaves a `<cluster id>-final-snap-<timestamp>` snapshot behind, billed until you delete it. |

The node count is fixed at 1, like the native template.

Node types: every ElastiCache node type Qovery offers for native managed Redis, except `cache.r6gd` (needs data tiering, which a single-node cluster lacks). The full list is in `qbm.yml`.

**Adoption note.** The backup settings (`backup_retention_period`, `preferred_backup_window`) are managed, as in the native template: if the live cluster's values differ from the ones passed, the first apply updates them in place. Pass the live values to keep them.

### Outputs

| Name | Sensitive | Description |
| - | - | - |
| `redis_identifier` | | ElastiCache cluster id |
| `redis_host` | | Hostname to connect to |
| `redis_port` | | Redis port |
| `redis_url` | | `redis://<host>:<port>/0` (no auth, no TLS) |
| `redis_arn` | | Cluster ARN |
| `redis_engine_version_actual` | | Engine version actually running |
| `db_username`, `db_password` | `db_password` | Legacy connection values, republished unchanged |
| `db_identifier`, `db_address`, `db_port`, `db_name` | | Aliases of the `redis_*` outputs above (`db_name` is always `0`), named like the RDS blueprints so Qovery can take over a native managed Redis |

### Lifecycle ignore\_changes

* `engine_version` — AWS reports its own version format back; an adopted engine is never mutated.
* `port` — ForceNew: a mismatch would replace the adopted cluster with a new one that has no auth.
* `maintenance_window`, `log_delivery_configuration`, `notification_topic_arn`, `auto_minor_version_upgrade` — the same list the native template ignores.
* `tags` — preserves native tags (`cluster_id` drives YACE metrics).

### Required AWS IAM permissions

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticache:DescribeCacheClusters",
        "elasticache:ModifyCacheCluster",
        "elasticache:DeleteCacheCluster",
        "elasticache:DescribeCacheParameterGroups",
        "elasticache:DescribeCacheSubnetGroups",
        "elasticache:CreateSnapshot",
        "elasticache:DescribeSnapshots",
        "elasticache:AddTagsToResource",
        "elasticache:RemoveTagsFromResource",
        "elasticache:ListTagsForResource"
      ],
      "Resource": "*"
    }
  ]
}
```


## Related topics

- [Blueprints](https://www.qovery.com/docs/configuration/blueprints.md)
- [Amazon ElastiCache for Redis](https://www.qovery.com/docs/configuration/blueprints/aws-elasticache-redis.md)
- [Amazon ElastiCache for Valkey](https://www.qovery.com/docs/configuration/blueprints/aws-elasticache-valkey.md)
- [AWS IAM Permissions Reference](https://www.qovery.com/docs/getting-started/security-and-compliance/aws-iam-permissions.md)
- [Create a Database](https://www.qovery.com/docs/getting-started/guides/getting-started/connect-database.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.