NAS & Backup / Practical guide

How to Back Up a Synology NAS to Amazon S3

Create a secure Synology Hyper Backup task to Amazon S3 with a dedicated IAM user, version rotation, encryption, verification, and a tested restore.

What this guide covers

This guide shows how to create a versioned Synology Hyper Backup task to Amazon S3. It covers the S3 bucket, a dedicated least-privilege IAM user, scheduling, rotation, verification, and a test restore.

Amazon S3 is a durable off-site destination with several storage classes. The real cost depends on stored data, requests, retrievals, and lifecycle choices—not the storage price alone.

Important: use the current AWS Signature Version 4 connection. Keep the Hyper Backup encryption password and key outside the NAS; an encrypted backup cannot be recovered without them.

When Amazon S3 is a good backup destination

S3 is a strong choice when you need an off-site copy that can scale beyond local storage. For a smaller personal backup with simpler billing, compare it with Google Drive. For a backup to infrastructure you control, see the rsync server guide.

Set up Synology Hyper Backup to Amazon S3

Step 1: Create an S3 bucket

In the AWS Management Console, search for the S3 service:

open S3 Console

Click Create bucket:

Create S3 Bucket

Give the bucket a globally unique name. Keep it descriptive so you can identify the backup later:

S3 Bucket Name

Review the default settings, keep public access blocked, then scroll down and click Create bucket:

Create Bucket

The new bucket now appears in the bucket list:

Bucket List

Step 2: Create a dedicated IAM user

Open the IAM console:

Open IAM console

Choose Users from the left menu:

open users List

Click Create user:

Create IAM User

Enter a username that clearly shows its purpose, such as synology-hyper-backup. Do not use your AWS root account for this connection.

Leave Provide user access to the AWS Management Console unchecked. Hyper Backup needs programmatic credentials, not console access.

Then click Next:

IAM Username

Step 3: Attach a least-privilege policy

For permissions, attach a custom policy directly to this dedicated user. The policy should grant only the S3 actions Hyper Backup needs. AWS recommends least-privilege access, so avoid broad policies such as AmazonS3FullAccess. Create a custom policy with the minimum required permissions.

If several backup users need the same permissions, create an IAM user group, attach the policy to the group, and add the users to it.

Attach IAM Policy

According to Synology’s current permission list, the policy must cover:

  • Bucket listing, location lookup, and multipart-upload listing
  • Object upload, download, deletion, version access, ACL access, and multipart-upload cleanup
  • Listing the account’s buckets while the task is created

Use the following policy as a starting point:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:ListBucketMultipartUploads"
      ],
      "Resource": ["arn:aws:s3:::{Bucket Name}"]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:GetObjectVersion",
        "s3:GetObjectVersionAcl",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": ["arn:aws:s3:::{Bucket Name}/*"]
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListAllMyBuckets",
      "Resource": "*"
    }
  ]
}

Replace {Bucket Name} in both resource ARNs with the exact backup-bucket name, then paste the policy into the JSON editor:

Edit JSON IAM Policy

Give the policy a clear name, then click Create policy:

create IAM Policy

Return to the IAM user setup, search for the policy, select it, and click Next:

Choose IAM Policy

Then click Create user:

create IAM User

Step 4: Create an access key

In the IAM user list, open the user you just created:

open IAM User

Open the Security credentials tab and scroll to Access keys.

Click Create access key:

create access key

Choose Third-party service, read the warning, and confirm that you want to create an access key:

access key use case

Then click Create access key:

Create Access key

Download the CSV file once and store it securely. AWS will not show the secret access key again. Do not paste these credentials into notes, screenshots, or source code:

download access key

Step 5: Create the Hyper Backup task

In Synology DSM, open the Hyper Backup application:

Synology Web management

Click the add button to create a new backup task:

Synology Backup

Choose Folders and packages, then click Next:

Backup type

Scroll down and choose S3 Storage as the destination:

backup destination

Enter the access key ID and secret access key from the CSV file you downloaded.

Choose the bucket from the drop-down menu and select the directory where you want Hyper Backup to store the repository:

S3 Credentials

Choose the shared folders or volumes you want to back up:

Data to backup

Select any supported applications whose configuration and data you also want to back up:

applications to backup

Enable transfer encryption, then choose the S3 storage class. Check retrieval fees and minimum-storage-duration charges first. Do not move Hyper Backup repository objects to Glacier with a separate S3 lifecycle rule; Synology warns that this can make the backup task fail:

backup configurations

Choose a backup schedule that matches how often the data changes.

For this small test I will leave Compress backup data unchecked. For production data, compression can reduce stored data and transfer time, although the benefit depends on the file types:

backup schedule

Enable backup rotation and choose how many versions to retain. Make sure the retention policy fits both your recovery needs and S3 costs:

backup rotation

Review the settings and click Done:

Synology backup job summary

Step 6: Run and verify the backup

For this test, the shared folder named test contains testFile.html:

test file

In Hyper Backup, open the task and click Back up now:

start synology backup job

Monitor the backup until it completes without errors:

backup progress

After the backup succeeds, open the S3 bucket. You will see a repository with the .hbk extension. Treat this as a managed Hyper Backup repository; restore through Hyper Backup rather than editing its objects directly:

check s3 files

Step 7: Test a restore from Amazon S3

Open Hyper Backup and click the restore button:

synology backup restore

Choose Folders and packages, then click Next:

restore type

If this is a new Synology NAS, or no backup task exists on it, choose Restore from existing repositories:

choose restore source

Choose S3 Storage:

source s3 bucket

Enter the access key ID and secret access key, then choose the bucket and directory that contain the backup repository:

s3 bucket credentials

If you only need files and applications, choose Do not restore system configuration:

restore system configurations

Choose the shared folder or volume you want to restore:

choose file to restore

Review the restore settings and click Done:

restore job summary

When the restore status shows Completed, confirm that the restored files appear in File Station and open at least one file:

restore job completed

Final checks

A backup is useful only if you can restore it. Whether you use QNAP, Synology, or another storage platform, Amazon S3 can provide a durable off-site copy with storage classes for different access patterns.

After the first successful run, restore a test file and run Hyper Backup’s integrity check. Review the S3 bill and access-key activity periodically, rotate the IAM access key, and keep the Hyper Backup encryption key in a separate secure location.

An off-site backup does not replace every local copy. If you have an external drive, consider keeping an additional backup on an external HDD.

Continue troubleshooting.

More practical notes from the same working archive.