Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This article provides step-by-step instructions for both migration paths:
- Self-service migration for caches without geo-replication
- Self-service migration for caches with geo-replication
We highly recommend performing the migration during off-business hours, as it will result in a brief connectivity blip similar to behavior during regular maintenance operations.
Self-service migration for caches without geo-replication
Step 1: Update deployment scripts
Once you have identified the appropriate Azure Managed Redis SKU, update your deployment scripts (such as ARM templates, Bicep files, or Terraform configurations) to provision Azure Managed Redis instead of Azure Cache for Redis Enterprise.
Step 2: Create a new Azure Managed Redis instance
Using the size and performance tier you identified earlier, create the instance by following the Quickstart: Create an Azure Managed Redis Instance.
You can alternately use list-skus-for-scaling command on your Redis Enterprise instance to determine the recommended Azure Managed Redis instance.
az redisenterprise list-skus-for-scaling --resource-group rg --cluster-name clustername.region.redisenterprise.cache.azure.net
Step 3: Migrate your data
Choose a data migration strategy based on your tolerance for downtime and data loss.
Note
If your application can tolerate data loss, or has mechanisms to rehydrate the cache from its data source, you can skip this step and proceed directly to Step 4: Update your application.
Export and import data using an RDB file
Best for creating a point-in-time snapshot of your data.
- Pros: Preserves data snapshot, straightforward process.
- Cons: Data written after the snapshot is taken isn't captured.
Steps:
- Export the RDB file from the existing Enterprise cache to your Azure Storage account.
- Import the data from the Azure Storage account into the new Azure Managed Redis instance.
- For detailed instructions, see Import and Export data in Azure Managed Redis.
Dual-write strategy
Best when you need zero data loss and can tolerate running two caches temporarily.
- Pros: No data loss, no downtime, uninterrupted operations.
- Cons: Requires running two caches for an extended period.
Steps:
- Modify your application to write to both the existing Enterprise cache and the new Azure Managed Redis instance.
- Continue reading from the Enterprise cache while data populates in the new instance.
- After sufficient data sync, switch reads to Azure Managed Redis.
- Proceed to Step 4: Update your application.
Programmatic migration using RIOT
RIOT provides a way to migrate content from Enterprise to Azure Managed Redis. For more information, see Data Migration with RIOT-X for Azure Managed Redis.
- Pros: Full control, customizable.
- Cons: Requires development effort.
Step 4: Update your application
Update your application's connection configuration to point to the new Azure Managed Redis instance. At a minimum, you need to update:
- Hostname: The DNS suffix changes from
redisenterprise.cache.azure.nettoredis.azure.net. - Access key: Use the access key from the new Azure Managed Redis instance.
Important
Consider switching to Microsoft Entra ID authentication instead of access keys. Microsoft Entra ID offers improved security and is the recommended authentication method.
Note
If you connect to your existing Enterprise instance through a private endpoint, ensure your new Azure Managed Redis instance is peered to the same virtual network as your application, with a similar networking setup.
Step 5: Validate and decommission
- Verify your application works correctly with the new Azure Managed Redis instance.
- Monitor the new cache for expected behavior, performance, and error rates.
- Once you're confident the new instance is working as expected, delete the old Enterprise instance.
Self-service migration for caches with geo-replication
Use these steps if you have a set of geo-replicated Redis Enterprise caches that you want to migrate to Azure Managed Redis.
- Identify the appropriate Azure Managed Redis SKU using the
list-skus-for-scalingcommand in the Azure CLI:az redisenterprise list-skus-for-scaling --resource-group --cluster-name. - Ensure that all Redis Enterprise caches in your geo-replication group are the same SKU and size.
- Create a new Azure Managed Redis instance and during creation, add it to the geo-replication group which contains the Redis Enterprise instances that you wish to migrate.
- If you use private endpoint, then provision a new private DNS Zone for
*.redis.azure.netin the same virtual network and create a new private endpoint for this new Azure Managed Redis instance. - Verify that the new Azure Managed Redis instance is accessible and update your application to include the new Azure Managed Redis endpoint.
- Once Azure Managed Redis instance has replicated all the dataset, remove one Redis Enterprise instance from the geo-replicated group.
- Repeat the preceding steps for every remaining Redis Enterprise cache in your geo-replication group.
Limitations/callouts
- Once an Azure Managed Redis instance is added to an existing geo-replication group of Redis Enterprise instances, you cannot add new Redis Enterprise instances to that geo-replication group. You can only add Azure Managed Redis and only remove Redis Enterprise instances.
- Scaling is blocked when a geo-replication contains a mix of Azure Managed Redis and Redis Enterprise instances.
- While geo-replication groups have a limit of 5 Redis instances, we allow up to 6 Redis instances for geo-replication group containing a mix of Azure Managed Redis and Redis Enterprise to facilitate migration.
Important
We recommend moving to Microsoft Entra ID authentication after migration, even if you initially continue using existing access keys.