VPS Snaps
Help/Storage/Configuring AWS S3

Configuring AWS S3

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

5 min readยทโ˜๏ธ Storage

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.