Migrating AWS S3 Buckets to AnubizHost Offshore Storage
S3 is the gold standard for object storage but lives in US jurisdiction with mandatory subpoena response. For workloads that need offshore data residency or just want to escape the AWS egress pricing, this guide walks through mirroring S3 buckets to a self-hosted MinIO instance on an AnubizHost offshore storage VPS.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Plan the S3 Egress Cost
AWS charges ~$0.09/GB for data egress from us-east-1 to the public internet. A 1TB bucket costs ~$90 to migrate out. Budget this explicitly - it's the one inescapable cost of leaving AWS. Smaller buckets are cheap; multi-TB workloads benefit from AWS Snowball if you can wait for physical transfer.
Set up an IAM user with read-only S3 access for the source. Never use root account keys for migration. Create access keys, store them on the AnubizHost target VPS in ~/.aws/credentials with 600 permissions.
Stand Up MinIO Target
On an AnubizHost storage VPS with enough disk:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio && mv minio /usr/local/bin/
mkdir -p /mnt/data
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=STRONG_PASSWORD
minio server /mnt/data --console-address ":9001"
Configure systemd to start MinIO on boot. Set up a reverse nginx with Let's Encrypt for HTTPS termination at storage.yourdomain.com.
Mirror with rclone
Configure rclone with two remotes: s3 (AWS) and minio (AnubizHost). Use the s3 backend type for both. Then sync:
rclone sync s3:mybucket minio:mybucket \
--transfers=16 --checkers=32 \
--s3-chunk-size=64M \
--progress --log-file=/var/log/rclone.log
For very large objects (>1GB each), rclone uses multipart uploads automatically. Bandwidth from AWS varies by region - us-east-1 to a European AnubizHost host typically lands 400-800 Mbps.
Verify and Cut Over
Run rclone check s3:mybucket minio:mybucket to confirm parity. Spot-check critical objects with manual download. Update application S3 endpoint URLs in code or environment variables to point at MinIO: S3_ENDPOINT=https://storage.yourdomain.com.
Restart application servers, verify reads and writes. Keep the AWS bucket for 30 days as rollback (S3 storage is cheap). Delete after confirmed clean operation.
MinIO Operational Notes
MinIO supports versioning, lifecycle rules, bucket replication, and IAM-style policies via the mc CLI. For high-availability deployments, run MinIO across 4 disks or 4 VPS instances in distributed mode. Most workloads start with single-node and scale later. Related reading: offshore storage, Spaces migration, EC2 migration.
Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.