All eyes on AI: 2026 predictions – The shifts that will shape your stack.

Read now

Tutorial

ElastiCache to Azure Managed Redis (AMR)

February 27, 20265 minute read
Migrate from AWS ElastiCache to Azure Managed Redis (AMR) using an offline S3 export-and-import workflow. Export your ElastiCache data as an RDB file, transfer it through an S3 bucket to Azure Blob storage, and import it into a new AMR instance.

#What you'll learn

  • How to create an S3 bucket with the correct permissions for ElastiCache backups
  • How to export an RDB backup from ElastiCache to S3
  • How to upload the RDB file to Azure Blob storage
  • How to create and size an Azure Managed Redis instance
  • How to import the RDB data into Azure Managed Redis

#Prerequisites

  • An AWS account with an existing ElastiCache instance
  • An Azure subscription with permissions to create storage accounts and Azure Managed Redis instances
  • Familiarity with the AWS and Azure consoles
Before migrating to Azure Managed Redis, evaluate your migration options and choose the best strategy. Read this guide to determine which migration strategy is right for you. If you're considering Redis Cloud instead, see the ElastiCache to Redis Cloud migration guide. Reach out to our team for support on live migrations.

#How do you perform an offline data migration from ElastiCache to Azure Managed Redis?

The offline migration process involves exporting your ElastiCache data as an RDB file to Amazon S3, transferring that file to Azure Blob storage, and importing it into your new Azure Managed Redis instance.

#How do you create an S3 bucket with the right permissions for ElastiCache backups?

Open Amazon S3 and create a new bucket. The ElastiCache backup and the Amazon S3 bucket that you create must be in the same AWS Region.
AWS console showing the Create bucket dialog in Amazon S3
Navigate to your new S3 bucket and go to the Permissions tab.
S3 bucket Permissions tab with options for ACL and bucket policy
  1. Under Access Control List (ACL), choose Edit. Select Add grantee.
  • ElastiCache canonical ID (paste this in under Grantee): 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
  • Select Objects > List & Write
  • Select Bucket ACL > Read & Write
S3 bucket ACL editor showing the ElastiCache grantee with List, Write, and Read permissions
Under the Permissions tab still, add the following JSON to the Bucket Policy section. Replace UNIQUE-BUCKET-NAME with the name of your S3 bucket:
S3 bucket policy editor with the JSON policy granting Redis Cloud backup access

#How do you create and export a backup from ElastiCache?

  1. Navigate back to your ElastiCache instance.
  2. Select the Actions button, and create a Backup.
ElastiCache console with the Actions dropdown showing the Create Backup option

#How do you export the ElastiCache backup to an S3 bucket?

  1. Navigate to the Backup page within ElastiCache and select the Backup you created.
  2. Within the Backup, select Export.
ElastiCache Backups page with the Export option highlighted
Select the Target S3 location as the S3 bucket you created earlier.
Export dialog showing the Target S3 bucket location selector
Return to the S3 bucket and download the .rdb file that was created.
S3 bucket file listing showing the exported .rdb backup file ready for download

#How do you upload the RDB file to Azure Blob storage?

  1. In the Microsoft Azure console, navigate to Storage Accounts.
  2. Create an Azure Blob instance.
Azure portal Create Storage Account form with fields for resource group and instance details
Upload your .rdb file into the Blob container.
Azure Blob container view showing the uploaded .rdb backup file

#How do you create and size an Azure Managed Redis instance?

  1. Navigate to Azure Managed Redis.
  2. Select a size that fits your data set size captured from your ElastiCache instance. The rough estimate for sizing is your [current data set size * 1.2] = AMR data size (round up to the nearest size).
Azure Managed Redis creation page showing the available cache size tiers
Select the data modules that you used within your ElastiCache instance (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom).
Azure Managed Redis module selection with RediSearch, RedisJSON, RedisTimeSeries, and RedisBloom options
Create your instance.

#How do you import the RDB file into Azure Managed Redis?

  1. Navigate to your instance once it's been created.
  2. Go to Administration > Import Data.
Azure Managed Redis Administration panel with the Import Data option selected
NOTE: Importing will delete existing cache data.
  1. Choose your storage account which has the .rdb blob.
  2. Select the .rdb file you wish to import.
Azure import dialog showing the storage account and .rdb file selector
Import your data.

#How do you validate the migration and update your application?

After the import completes, verify the data in your new Azure Managed Redis instance:
  1. Connect to the AMR instance using redis-cli or your preferred Redis client.
  2. Run DBSIZE to confirm the key count matches your source ElastiCache instance.
  3. Spot-check a few keys with GET, HGETALL, or other commands relevant to your data structures.
  4. Update your application's Redis connection strings to point to the new Azure Managed Redis endpoint.

#Next steps