Bring your own storage
Bring your own storage (BYOS) lets you store backups in a cloud bucket you control, instead of Avada's managed storage. Use it when you need:
- Data residency — keep backups in a specific region for compliance
- Existing data infrastructure — consolidate backups into the same bucket as the rest of your data warehouse
- Cost control — leverage your enterprise discount with the cloud provider
- Direct access — query backup files without going through the Avada UI
Supported providers
| Provider | Required permissions |
|---|---|
| Amazon S3 | s3:PutObject, s3:GetObject, s3:ListBucket, s3:DeleteObject |
| Google Cloud Storage | storage.objects.create, storage.objects.get, storage.objects.list, storage.objects.delete |
| Azure Blob Storage | Storage Blob Data Contributor role on the container |
| Cloudflare R2 | Object Read & Write token scope |
Setup steps
Create an empty bucket
Create an empty bucket in your cloud provider.
Generate scoped credentials
Generate access credentials scoped to only that bucket.
Click Connect storage in Avada
In Avada Backups & Restore, click Connect storage and pick your provider.
Paste credentials and run the test
Paste the credentials and bucket name. Avada Backups & Restore runs a connection test (read, write, list, delete a tiny test object) before saving.
Confirm migration behavior
Once verified, all new backups are written to your bucket. Existing backups remain in Avada's managed storage and are not migrated automatically.
Encryption
Files written to your bucket are encrypted twice:
- At rest by your cloud provider (S3 SSE / GCS CMEK / Azure SSE / R2 SSE)
- At rest by Avada Backups & Restore using a per-store AES-256 key, before upload
This means even with full read access to your bucket, the contents cannot be read without the Avada decryption key (managed by Avada). Restore operations fetch the encrypted file, decrypt it inside Avada, and apply it to Shopify.
File layout
Avada Backups & Restore writes objects under a predictable prefix:
<bucket>/
├── avada-backup/
│ ├── <store-domain>/
│ │ ├── <yyyy>/<mm>/<dd>/
│ │ │ ├── <backup-id>.tar.gz.enc
│ │ │ └── <backup-id>.manifest.jsonThe .manifest.json is unencrypted and lists what's in the snapshot —
useful for inventorying without restoring.
Migrating existing backups
To copy backups from Avada's managed storage to your own bucket:
Click Migrate existing backups
Click Migrate existing backups on the BYOS page.
Confirm the target bucket
Confirm the target bucket and the migration window.
Wait for the background copy
Avada Backups & Restore copies snapshots in the background. Migration runs at ~50 GB/hour and is throttled to avoid impacting other operations.
Original deleted after verification
Once a snapshot is fully copied and verified, the original is deleted from Avada's managed storage.
The migration can be paused and resumed at any time.
Cost responsibility
When BYOS is enabled, you pay your cloud provider directly for:
- Storage GB-months
- Egress (data transferred out during restores)
- API request charges (LIST, PUT, GET, DELETE)
Avada Backups & Restore does not bill for storage on the BYOS tier. Avada's plan fee covers the application, scheduling, encryption, and support only.