diff --git a/pages/managed-databases-for-redis/api-cli/upgrade-redis-version.mdx b/pages/managed-databases-for-redis/api-cli/upgrade-redis-version.mdx new file mode 100644 index 0000000000..dc311d0ea1 --- /dev/null +++ b/pages/managed-databases-for-redis/api-cli/upgrade-redis-version.mdx @@ -0,0 +1,85 @@ +--- +title: How to upgrade the version of your Redis™ Database Instance +description: Steps to upgrade the version of your Redis™ Database Instance on Scaleway. +tags: managed-database redis database version upgrade +dates: + validation: 2025-10-15 +--- +import Requirements from '@macros/iam/requirements.mdx' + +Scaleway supports the latest version of Redis™ (7.2.11). Follow the steps below to upgrade your Database Instance's to the latest Redis™ version. + + +- We recommend you use the latest available version of Redis™ (7.2.11) with your Database Instances to avoid the vulnerabilities identified in the [Redis™' Security Advisory: CVE-2025-49844](https://redis.io/blog/security-advisory-cve-2025-49844/) and be able to safely use eval/evalsha commands. + + + + +- A Scaleway account logged into the [console](https://console.scaleway.com) +- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization +- A valid [API key](/iam/how-to/create-api-keys/) +- [Configured your environment variables](https://github.com/scaleway/scaleway-cli/blob/master/docs/commands/config.md) (optional) +- Ensured that your upgrade path is [supported by Redis™](https://redis.io/docs/latest/operate/rs/references/upgrade-paths/). If it is not supported, you will need to first upgrade to a supported intermediate version. + + +You can list your Database Instances to determine which ones need to be updated. + +1. Run the following command. Replace the values with your corresponding information if you have not set environment variables. + + ```bash + curl -X GET + -H "Content-Type: application/json" \ + -H "X-Auth-Token: $SCW_SECRET_KEY" https://api.scaleway.com/redis/v1/zones/$SCW_ZONE/clusters + ``` + + You should get a response like the following, where each `cluster` corresponds to a Redis™ Database Instance. + ```json + { + "clusters": [ + { + "id": "string", + "name": "string", + "project_id": "string", + "status": "string", + "version": "string", + "endpoints": [ ], + "tags": [], + "node_type": "string", + "created_at": "string", + "updated_at": "string", + "tls_enabled": "boolean", + "cluster_settings": [], + "acl_rules": [], + "cluster_size": "integer", + "zone": "string", + "user_name": "string", + "upgradable_versions": [] + } + ], + "total_count": "integer" + } + ``` +2. Make note of the ID(s) of the Instance(s) you want to upgrade. + + To upgrade to a more recent version of Redis™, you can use the [migrate endpoint](https://www.scaleway.com/en/developers/api/managed-databases-for-redis/#path-redistm-database-instance-scale-up-a-redistm-database-instance). + +3. Run the following command. Make sure you replace `{cluster_id}` with the ID of your Database Instance. + + + Since we use a POST type call, you only need to edit the parameter that defines the version, the other confguration of your Database Instance will remain the same. + + + ```bash + curl -X POST \ + -H "X-Auth-Token: $SCW_SECRET_KEY" https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/migrate \ + -H "Content-Type: application/json" \ + -d '{ + "version": "7.2.11" + }' + ``` + + If the operation is successful you will see the configuration of your Instance, with the updated version. + + + If your Database Instance is in standalone mode, there might be a few seconds of downtime while the Instance upgrades. For High Availability and Cluster modes, the upgrade is performed first on secondary nodes, then the main node. When the main node is upgraded, one of the secondary nodes takes over automatically to reduce downtime. + \ No newline at end of file diff --git a/pages/managed-databases-for-redis/menu.ts b/pages/managed-databases-for-redis/menu.ts index efe506939f..080e28772f 100644 --- a/pages/managed-databases-for-redis/menu.ts +++ b/pages/managed-databases-for-redis/menu.ts @@ -64,6 +64,10 @@ export const managedDatabaseRedisMenu = { label: 'Using Publish/Subscribe messaging', slug: 'using-pub-sub-feature', }, + { + label: 'Upgrade your Redis™ version', + slug: 'upgrade-redis-version', + } ], label: 'API/CLI', slug: 'api-cli', @@ -77,7 +81,7 @@ export const managedDatabaseRedisMenu = { { label: 'Ensuring data persistence', slug: 'ensuring-data-persistence', - }, + } ], label: 'Additional Content', slug: 'reference-content',