-
Notifications
You must be signed in to change notification settings - Fork 319
RC: Seamless endpoint migration - Dynamic endpoints/Endpoint redirection #2751
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
a42783b
80b8752
28d9d0d
9b50a25
d335427
6017443
af02719
f882a80
fa95815
4d0b21c
a49370d
6898eae
843d322
5b53425
d26adf5
ce479fd
3566d79
6c27660
d096136
051fe5e
e1a2f3a
e9350c3
a64c024
f0bfe2a
3430a1b
7813a12
d76bb3f
2c098a0
47833be
807f849
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| In the **Metrics** tab of your database, select **Connect to Prometheus > Copy Prometheus endpoint** to save your Prometheus endpoint to the clipboard. | ||
|
|
||
| {{<image filename="images/rc/database-metrics-connect-prometheus.png" width="250px" alt="Use the Connect to Prometheus button to get the Prometheus endpoint.">}} | ||
|
|
||
| You can also get the Prometheus endpoint by calling [`GET /subscriptions/{subscriptionId}`]({{< relref "/operate/rc/api/api-reference#tag/Subscriptions-Pro/operation/getSubscriptionById" >}}) and getting the `prometheusEndpoint` from the response. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| --- | ||
| Title: Redis Cloud changelog (March 2026) | ||
| alwaysopen: false | ||
| categories: | ||
| - docs | ||
| - operate | ||
| - rc | ||
| description: New features, enhancements, and other changes added to Redis Cloud during | ||
| March 2026. | ||
| highlights: Dynamic endpoints, Redirect dynamic endpoints | ||
| linktitle: March 2026 | ||
| weight: 53 | ||
| tags: | ||
| - changelog | ||
| --- | ||
|
|
||
| ## New features | ||
|
|
||
| ### Dynamic endpoints | ||
|
|
||
| As of {{RELEASE DATE}}, Redis Cloud now generates dynamic endpoints for all databases. Databases created before {{RELEASE DATE}} can still view both legacy static endpoints and dynamic endpoints. Static endpoints will still work at this time, but they may be deprecated in the future. | ||
|
|
||
| We recommend slowly migrating connections to the dynamic endpoints. Moving connections from the static endpoints to the dynamic endpoints does not cause any downtime. See [Applications that use legacy static endpoints]({{< relref "/operate/rc/databases/redirect-endpoints#applications-that-use-legacy-static-endpoints" >}}) for more information. | ||
|
|
||
| ### Redirect dynamic endpoints | ||
|
|
||
| You can redirect your dynamic endpoints to any Redis Cloud Pro database in the same account. Redirecting your dynamic endpoints lets you switch connections to your new database seamlessly through Redis Cloud without any code changes. See [Redirect database endpoints]({{< relref "/operate/rc/databases/redirect-endpoints" >}}) for more information. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,132 @@ | ||
| --- | ||
| Title: Redirect dynamic endpoints | ||
| alwaysopen: false | ||
| categories: | ||
| - docs | ||
| - operate | ||
| - rc | ||
| description: Shows how to redirect dynamic endpoints to a different database. | ||
| linkTitle: Redirect endpoints | ||
| weight: 31 | ||
| --- | ||
|
|
||
| Dynamic endpoints allow you to redirect application traffic from one database to another in the same Redis Cloud account without updating the endpoints in your application. Redis manages endpoint redirection for you. | ||
|
|
||
| You can redirect any database's dynamic endpoints to any Redis Cloud Pro database in the same account. For a smooth transition with your existing data, you should [migrate your data]({{< relref "/operate/rc/databases/migrate-databases" >}}) to the target database before you redirect your endpoints. | ||
|
|
||
| ## When to redirect dynamic endpoints | ||
|
|
||
| Use endpoint redirection to seamlessly migrate your application traffic to a different database within the same Redis Cloud account. There is no need to update the endpoints in your application, since they'll remain the same. For example, you might want to: | ||
|
|
||
| - Upgrade your database's subscription from an [Essentials Plan to a Pro Plan]({{< relref "/operate/rc/subscriptions/upgrade-essentials-pro" >}}) | ||
| - Move between Redis Cloud offerings, such as Redis on RAM to Redis Flex | ||
| - Split a subscription or combine databases from multiple subscriptions into one | ||
| - Migrate your database to a different cloud provider, region, or availability zone | ||
| - Redirect the endpoint to another database to restore service during Disaster Recovery | ||
|
|
||
| ## Applications that use legacy static endpoints | ||
|
|
||
| Databases created before {{RELEASE DATE}} have both legacy static endpoints and dynamic endpoints. You can only migrate the dynamic endpoints to point to a new database. If your application uses the static endpoints, it will connect to the source database instead of the target database after redirection. You can find both the static and dynamic endpoints for these databases on the database's **Configuration** page. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that a screenshot or example of how the static endpoint looks will help here.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we have a figma/staging environment where I can screenshot this? I agree, but can't make an old database on the staging environment. |
||
|
|
||
| Transitioning from the static to the dynamic endpoint does not cause downtime and allows you to gradually manage client disconnections. To migrate to the dynamic endpoint safely: | ||
| - Move clients one-by-one (or service-by-service) from legacy static endpoints to dynamic endpoints. Note that during the transition period, both static and Dynamic endpoints can be used concurrently. | ||
| - After all clients use the dynamic endpoint, you can then redirect the dynamic endpoints to the target database. | ||
|
|
||
| This phased approach minimizes risk and allows controlled client reconnections throughout the migration process. | ||
|
|
||
| ## Before you start | ||
|
|
||
| Read the following sections to prepare for endpoint redirection. | ||
|
|
||
| ### Scope and impact | ||
|
|
||
| This process redirects a source database's dynamic endpoints to a selected target database, including both public and private (if available) endpoints. **Redirecting endpoints does not migrate the data in your database.** You can choose to redirect the endpoints without migrating your data. If you need your data to be available in the target database, you must [migrate your data]({{< relref "/operate/rc/databases/migrate-databases" >}}) to the target database **before** you redirect your endpoints. | ||
|
|
||
| Plan for the following impacts when redirecting your endpoints: | ||
| - Short-lived connection disruptions may occur as clients reconnect to the database, depending on client reconnection behavior. | ||
| - Application behavior may change if the target differs in configuration from the source database. See [Redirection compatibility](#redirection-compatibility) for a list of differences that can change application behavior. | ||
|
|
||
| We recommend redirecting during a low-traffic window. | ||
|
|
||
| #### Redirecting endpoints after data migration | ||
|
|
||
| If you [migrated your data]({{< relref "/operate/rc/databases/migrate-databases" >}}) to the target database before redirecting your endpoints, make sure that: | ||
| - The import or replication is finished. | ||
| - Basic metrics for both the source and target databases are reporting normally. | ||
| - The application authentication and authorization are set up correctly for the target database. | ||
| - You have tested connection to the target database to confirm connectivity and credentials. | ||
|
|
||
| Different applications have different availability and consistency requirements. Pausing writes during endpoint redirection is a standard best practice to help ensure data consistency. Still, you can choose the timing and behavior that fits your system (for example, whether to allow reads, how long to pause traffic, and what validation to run). | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| Make sure you have met the following prerequisites: | ||
|
|
||
| - Your application is using the dynamic endpoint. Endpoint redirection does not redirect [static endpoints](#applications-that-use-legacy-static-endpoints). | ||
| - You have [created a target Redis Cloud Pro database]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) in the same account that [is compatible with the source database](#redirection-compatibility). | ||
| - If you monitor the source database with Prometheus, add the target database to Prometheus before your redirect the endpoint so that you can monitor the target database after the redirection. See [Connect to Prometheus]({{< relref "operate/rc/databases/monitor-performance#connect-to-prometheus" >}}) for more information. | ||
|
|
||
| #### Redirection compatibility | ||
|
|
||
| Endpoint redirection is only allowed when the source and target databases are compatible. Redis Cloud will validate compatibility and may prevent redirection if the source and target databases are not compatible. | ||
cmilesb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| If any of the following properties differ, the databases are not compatible and you cannot redirect the endpoints: | ||
| - Port number | ||
| - Connectivity settings, such as: | ||
| - [TLS settings]({{< relref "/operate/rc/security/database-security/tls-ssl" >}}) | ||
| - [VPC Peering]({{< relref "/operate/rc/security/vpc-peering" >}}) or other connectivity method settings | ||
| - [Default User settings]({{< relref "/operate/rc/security/access-control/data-access-control/default-user" >}}) | ||
cmilesb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - [CIDR allow list]({{< relref "/operate/rc/security/cidr-whitelist" >}}) settings | ||
|
|
||
| Some differences may be intentional but can affect application behavior. In those cases, the console will warn you about the difference but allow you to proceed with redirection. The following differences will cause a warning: | ||
| - Redis version | ||
| - [RESP Database protocol version]({{< relref "/develop/reference/protocol-spec" >}}#resp-versions) | ||
| - [OSS Cluster API]({{< relref "/operate/rc/databases/configuration/clustering#oss-cluster-api" >}}) configuration | ||
|
|
||
| ### Limitations | ||
|
|
||
| Be aware of the following limitations when redirecting dynamic endpoints: | ||
| - The target database must be a Redis Cloud Pro database on the same account as the source database. | ||
| - Active-Active databases are currently not supported as either a source or target database (coming soon). | ||
| - Databases using GCP Private Service Connect or AWS PrivateLink are currently not supported for endpoint redirection (coming soon). | ||
|
|
||
| ## Redirect database endpoints | ||
|
|
||
| To redirect your database endpoints: | ||
|
|
||
| 1. From the Redis Cloud console, select **Databases** from the menu and select the source database in the list. | ||
|
|
||
| 1. In the **General** section of the **Configuration** tab, select **Redirect endpoints**. | ||
|
|
||
| {{<image filename="images/rc/databases-configuration-redirect-endpoints.png" alt="Use the **Redirect endpoints** button to change the target database for the source database endpoints." >}} | ||
|
|
||
| 1. Select the target Redis Cloud Pro database from the **Target database** list. You can type in the database's name to find it. | ||
|
|
||
| {{<image filename="images/rc/migrate-data-redirect-pro-endpoints.png" alt="Select the target database from the database list." >}} | ||
|
|
||
| 1. If you want to assign the same [Role-based Access Control (RBAC) roles]({{< relref "/operate/rc/security/access-control/data-access-control/role-based-access-control" >}}) to the target database that are assigned to the source database, select **Assign the same ACLs to the target database**. | ||
|
|
||
| {{<image filename="images/rc/migrate-data-redirect-assign-acls.png" alt="Select **Assign the same ACLs to the target database** to assign the same roles to the target database." >}} | ||
|
|
||
| {{< note >}} | ||
| If you migrated your data and want a controlled transition from the source to the target database, this is the point to pause writes based on your application's consistency requirements. Pausing writes before redirecting your endpoints helps ensure data consistency. | ||
| {{< /note >}} | ||
|
|
||
| 1. Select **I acknowledge this action will redirect my database endpoints** to confirm that you understand that this action will redirect your database endpoints. Then select **Redirect endpoints**. | ||
|
|
||
| {{<image filename="images/rc/migrate-data-redirect-acknowledge.png" alt="The **Redirect endpoints** button redirects the source database endpoints to the target database." >}} | ||
|
|
||
| After you redirect your database endpoints, you can go to the **Configuration** tab of the target database to verify that the endpoints now point to the target database. | ||
|
|
||
| ## Revert endpoint redirection | ||
|
|
||
| You can revert endpoint redirection within 24 hours to restore the original endpoints. From either database's **Configuration** tab, select **Revert** to revert endpoint migration. | ||
|
|
||
| {{<image filename="images/rc/migrate-data-redirect-revert.png" alt="The **Revert** button reverts endpoint migration." >}} | ||
|
|
||
| After the 24-hour window, you can no longer revert to the original endpoints. You can redirect them back to the source database if the source database is a Redis Cloud Pro database. However, doing this will create new endpoints for the target database. | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.