Skip to content

RDS: Restore From S3 Feature Issue, Bucket Files Not Found

0

Basically my issue is related with the feature of Restore From S3 when I'm setting the new RDS I got the following message:

"No backup files were found in the specified Amazon S3 bucket. Check the bucket name or create backup files and try again."

I don't understand why is this happening. First, my policy to my bucket called productiontest

Policy

Then my bucket's S3 prefix, I tried both when trying to restore from S3

  • s3://productiontest/testdb.sql.gz
  • productiontest/testdb.sql.gz

But always I got the same message:

"No backup files were found in the specified Amazon S3 bucket. Check the bucket name or create backup files and try again."

Just in case, I checked my file's path using CLI

aws s3 ls s3://productiontest/ 2025-01-29 11:44:48 48715392 testdb.sql.gz

Additional settings:

  • Bucket versioning: disabled
  • Encryption type: Server-side encryption with Amazon S3 managed keys (SSE-S3)
  • Bucket key: disabled
  • Object lock: disabled

What am I doing wrong when restoring from S3? I tried with .sql files, csv files and .sql.gz files but still getting the same output message.

1 Answer
2
Accepted Answer

The issue you're experiencing with the "Restore From S3" feature in Amazon RDS is likely due to a mismatch between the backup file format you're using and what RDS expects for this operation.

For RDS MySQL instances, the "Restore From S3" feature specifically requires backup files created using Percona XtraBackup. It doesn't support direct restoration from .sql, .csv, or .sql.gz files. These file types are not recognized by the RDS restore process, which explains why you're receiving the "No backup files were found" message.

To successfully use this feature, you need to:

  1. Create a backup of your MySQL database using Percona XtraBackup.
  2. Upload the XtraBackup files to your S3 bucket.
  3. When specifying the S3 prefix, you should use the folder path where the XtraBackup files are located, not the full file name.

For example, if your XtraBackup files are in a folder called "mysql_backup" within your "productiontest" bucket, you would use "mysql_backup/" as the S3 prefix.

Additionally, ensure that:

  • The IAM role associated with your RDS instance has the necessary permissions to access the S3 bucket.
  • The S3 bucket is in the same AWS region as your RDS instance.
  • You're using a supported DB instance class (note that db.t2.micro is not supported for this operation).

If you need to import data from .sql or .sql.gz files, you might consider alternative methods such as importing the data after creating the RDS instance, or using AWS Database Migration Service (DMS) for more complex migration scenarios.
Sources
Restoring a backup into an Amazon RDS for MySQL DB instance - Amazon Relational Database Service
Where is the source bucket specification in RDS > Restore from S3? | AWS re:Post

answered 10 months ago
EXPERT
reviewed 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.