# Migrating to Azure Managed Redis

### 1. Overview

We are migrating from **Azure Cache for Redis** to **Azure Managed Redis** due to the **planned retirement and limited future support** of the existing Azure Cache for Redis service, along with the need for a more **secure, scalable, and enterprise-ready caching platform**.

This migration ensures:

* **Platform continuity** beyond the current service’s expiration timeline
* **Improved security posture**, including stronger network isolation and identity integration
* **Higher availability and resilience**, supporting business-critical workloads

By migrating proactively, we reduce the risk of **forced upgrades, service disruption, or unsupported configurations**, while positioning our caching layer on a **modern, fully managed, and future-proof platform**.

### 2. Deployment Steps <a href="#id-2deploymentsteps" id="id-2deploymentsteps"></a>

We are creating a new **Azure Managed Redis** instance.

### a) Basics <a href="#abasics" id="abasics"></a>

{% hint style="info" %}
**NOTE: If you are using a delta template to update to Azure Managed Redis, proceed to Step 4 for the dissociation process.**
{% endhint %}

<figure><img src="/files/dcE18pGh5RHCcIS1gQQ5" alt=""><figcaption><p>Create Azure Managed Redis Instance</p></figcaption></figure>

* **Subscription**: Select the subscription under which the Redis instance will be created and managed.
* **Resource Group**: Select an existing resource group where Inforiver is deployed.
* **Name**: Enter a name for the Redis instance following the naming convention: `<solutionName>redis`
* **Region**: Select the Azure region where Inforiver is deployed.
* **Data Tier**: In-memory (High-performance caching using RAM).
* **Cache Size**: 3 GB.

### b) Networking <a href="#bnetworking" id="bnetworking"></a>

**For existing private DNS zone**

Configure networking to integrate with the existing private DNS zone.

<figure><img src="/files/OMW2zoOSGvqivJOeZpOD" alt=""><figcaption><p>For existing private DNS zone</p></figcaption></figure>

**For creation of a new private DNS zone**

<figure><img src="/files/mq1sA7JyKvYusPVF5trx" alt=""><figcaption><p>For creation of new private DNS zone</p></figcaption></figure>

1. Under **Network access**, select **Disable public access and use private access** *(This ensures the Redis instance is accessible only through private networking).*
2. Click on **Add private endpoint.** Enter **Subscription, Resource group,** and **Location** details.
3. Enter the name for the private endpoint using the naming convention: `<solutionName>-enterpriseredis-private-endpoint`
4. Choose the appropriate **Virtual Network (VNet)** and **private subnet**.
5. **Private DNS integration**:
   * If you already have an existing private DNS zone, choose **Yes** for Private DNS integration and choose your existing Azure private DNS from the dropdown menu.
   * If you don’t have an existing private DNS zone, choosing **Yes** for Private DNS integration automatically creates a new Azure private DNS for you.

### c) Advanced <a href="#cadvanced" id="cadvanced"></a>

<figure><img src="/files/6O6rL8gXFMkPJwAgIjj2" alt=""><figcaption><p>Create Azure Managed Redis Instance</p></figcaption></figure>

* **Non-TLS access only:** Disable it.
* **Eviction Policy**: No Eviction.
* **High availability**: Disable it.
* **Clustering Policy**: Non-clustered.
* **Data Persistence**: No Persistence.
* **Access Keys** **Authentication**: Enable it.

#### d) Review and Validation <a href="#dreviewandvalidation" id="dreviewandvalidation"></a>

<figure><img src="/files/e3vK5PZlH6I97V5tQXzl" alt=""><figcaption><p>Review</p></figcaption></figure>

* Review the resource configuration.
* Select **Create** to provision the Azure Managed Redis instance.

### 3. Change Environment Variables in App Service <a href="#id-3changeenvironmentvariablesinappservice" id="id-3changeenvironmentvariablesinappservice"></a>

<figure><img src="/files/HvUISdHWnjqwNRGDnRpP" alt=""><figcaption><p>Copy the highlighted hostname without the port for REDIS_HOST</p></figcaption></figure>

<figure><img src="/files/edVpBNKzhDQaAhJGWxUo" alt=""><figcaption><p>Copy the primary key for REDIS_PASSWORD</p></figcaption></figure>

Update the application environment variables as follows:

* Copy the **hostname** (without port) and set: `REDIS_HOST: <redishost>`
* Use the following port: `REDIS_PORT: 10000`
* Copy the **primary access key** and set: `REDIS_PASSWORD: <primarykey>`

### 4. Dissociation Steps <a href="#id-4dissociationsteps" id="id-4dissociationsteps"></a>

* After validating application connectivity using the new Azure Managed Redis endpoint, start with deleting the private endpoint connection from the **legacy Azure Cache for Redis.**

<figure><img src="/files/qPQslZvIAHSL0PURyIKx" alt=""><figcaption><p>Remove connection</p></figcaption></figure>

* Identify the private endpoint associated with the **legacy Azure Cache for Redis** and delete it.&#x20;

<figure><img src="/files/cAlq5N9zJumVbZt0Ezm6" alt=""><figcaption><p>Delete the private endpoint</p></figcaption></figure>

* Delete the **legacy Azure Cache for Redis resource** after successful migration and validation.
* Confirm that the resource is fully decommissioned and no longer accessible.

<figure><img src="/files/N65AwkJV9UU4IuspbqeC" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inforiver.com/inforiver-enterprise-on-prem/how-to-guides/migrating-to-azure-managed-redis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
