How do I export an ElastiCache for Redis backup to S3?

Last updated: 2022-07-13

How do I export my Amazon ElastiCache for Redis backup to Amazon Simple Storage Service (Amazon S3)?

Short description

To copy an ElastiCache snapshot (rdb file) to an S3 bucket, first make sure that the bucket is in the same Region as the ElastiCache cluster. Then, you need to set a bucket policy and Identity and Access Management (IAM) permissions so that ElastiCache and IAM users can access the bucket. Amazon ElastiCache requires permission in the bucket policy to access the S3 bucket and copy the .rdb file. Additionally, the users' IAM permissions must be set to access the object (.rdb file) in the S3 bucket.

Prerequisites

Complete the following steps before you export your backup:

  • Create or identify an Amazon S3 bucket within the same Region as ElastiCache cluster.
  • Grant Amazon ElastiCache service access to S3.
  • Allow the IAM user permission to copy and paste to the bucket.

Resolution

Complete the prerequisites

Step 1: Create or identify an Amazon S3 bucket to export to within the same Region as the ElastiCache cluster.

Step 2: Grant Amazon ElastiCache access to the S3 bucket.

1.    Open the Amazon S3 console.

2.    Choose the name of the Amazon S3 bucket that you want to copy the backup to.

3.    Choose the Permissions tab.

4.    Scroll down on the Permissions page, select Access control list (ACL), and then select Edit.

Add grantee Canonical Id: 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353

5.    Select the following options listed:

Objects: List, Write
Bucket ACL: Read, Write

5.    Choose Save.

Note: GovCloud Regions use a different ID:

Canonical Id: 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6

Step 3: Make sure that the user responsible for exporting the backup has the correct permissions to interact with the bucket.

The following is an example policy that provides the correct permissions:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "s3:GetBucketLocation",
      "s3:ListAllMyBuckets",
      "s3:PutObject",
      "s3:GetObject",
      "s3:DeleteObject",
      "s3:ListBucket"
    ],
    "Resource": "arn:aws:s3:::*"
  }]
}

After you complete these preceding prerequisites, follow the steps in the following Export an ElastiCache for Redis backup to S3 section.

Export an ElastiCache for Redis backup to S3

1.    Open the ElastiCache console.

2.    In the left navigation pane select Backups.

3.    From the list of backups, choose the box to the left of the name of the backup that you want to export.

4.    Choose Copy.

5.    Enter a name for your backup in New backup name. Amazon ElastiCache adds an instance identifier and .rdb to the value that you enter here. For example, if you enter my-exported-backup, Amazon ElastiCache creates my-exported-backup-0001.rdb.

6.    From the Target S3 location list, choose the name of the Amazon S3 bucket that you want to export your backup to.

7.    Choose Copy.


Did this article help?


Do you need billing or technical support?