VPS Snaps

Configuring AWS S3

Step-by-step guide to connecting an S3 bucket as a storage destination.

5 min readStorage

AWS S3 is the most common storage destination. You'll need a bucket and an IAM user with limited permissions.

Step 1 — Create a bucket

In the AWS console, go to S3 → Create Bucket. Choose a region close to your servers to minimize transfer costs. Keep 'Block all public access' enabled — backups should never be public.

Step 2 — Create an IAM user

Go to IAM → Users → Create User. Attach the following inline policy (replace YOUR_BUCKET_NAME):

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

Never use your AWS root credentials. Always create a dedicated IAM user with minimal permissions.

Step 3 — Generate access keys

In IAM → Users → your user → Security credentials → Create access key. Copy both the Access Key ID and Secret Access Key — the secret is shown only once.

Step 4 — Add to VPS Snaps

In VPS Snaps → Storage → Add Destination, select AWS S3, and fill in: bucket name, region (e.g. us-east-1), access key ID, and secret access key. Leave the endpoint URL blank for standard S3.

Still stuck?

Open the failed run under Backup History and copy the error text out of the log — pasting that into your first message is usually the difference between one reply and four.