Hetzner Object Storage โ
Store backups in Hetzner Object Storage with EU data residency.
Overview โ
Hetzner Object Storage offers S3-compatible storage with:
- ๐ช๐บ EU data residency (GDPR compliant)
- ๐ถ Competitive pricing
- ๐ German infrastructure
- S3-compatible API
Configuration โ
| Field | Description | Default |
|---|---|---|
| Name | Friendly name | Required |
| Region | Hetzner region | fsn1 |
| Bucket | Bucket name | Required |
| Access Key ID | S3 credentials | Required |
| Secret Access Key | S3 credentials | Required |
| Path Prefix | Folder within bucket | Required |
Path Prefix Required
Hetzner Object Storage requires a path prefix. It cannot write to the bucket root.
Regions โ
| Region | Location |
|---|---|
fsn1 | Falkenstein, Germany |
nbg1 | Nuremberg, Germany |
hel1 | Helsinki, Finland |
ash | Ashburn, USA |
Hetzner Setup โ
Create Project โ
- Login to Hetzner Cloud Console
- Create a new project (or use existing)
Enable Object Storage โ
- In your project, go to Object Storage
- Create a new bucket
- Select region
Generate Credentials โ
- Go to Security โ API Tokens
- Generate S3 credentials
- Save Access Key and Secret Key
Configuration Example โ
Region: fsn1
Bucket: my-backups
Access Key ID: xxxxxxxxxxxxxxxx
Secret Access Key: xxxxxxxxxxxxxxxxxxxxxxxx
Path Prefix: /database-backupsEndpoint is auto-generated:
https://fsn1.your-objectstorage.comPricing โ
| Resource | Price |
|---|---|
| Storage | โฌ0.0049/GB/month (~$0.005) |
| Egress | โฌ0.01/GB |
| Requests | Free |
Very competitive compared to major cloud providers.
GDPR Compliance โ
Hetzner's EU-based infrastructure helps with GDPR:
- Data stored in EU/EEA
- German company (Hetzner Online GmbH)
- No US data transfers for EU regions
- DPA (Data Processing Agreement) available
Compliance Configuration โ
For maximum GDPR compliance:
- Use EU regions (
fsn1,nbg1,hel1) - Enable DBackup encryption
- Document in your records of processing
Features โ
Bucket Versioning โ
Enable via API or Hetzner Console for backup protection.
Lifecycle Rules โ
Configure automatic deletion of old versions.
Public Access โ
Can be disabled for private buckets (recommended).
Troubleshooting โ
Invalid Credentials โ
InvalidAccessKeyIdSolutions:
- Regenerate S3 credentials in Hetzner Console
- Verify no extra spaces
- Check credentials match region
Access Denied on Root โ
AccessDenied when writing to /Solution: Set a Path Prefix (required for Hetzner).
Bucket Not Found โ
NoSuchBucketSolutions:
- Create bucket in Hetzner Console
- Verify bucket name matches exactly
- Check region is correct
Region Mismatch โ
PermanentRedirectSolution: Ensure region in DBackup matches bucket region.
Integration with Hetzner Cloud โ
VPS in Same Datacenter โ
Lower latency when DBackup runs on Hetzner:
- Use same region for VPS and Object Storage
- Internal network speeds
Load Balancer โ
Combine with Hetzner Load Balancer for HA setups.
Security โ
Network Security โ
- Enable firewall rules
- Use VPN for management access
- Consider private networking
Encryption โ
Multiple layers available:
- Transit: TLS (automatic)
- Server-side: Hetzner encryption
- Client-side: DBackup Encryption Profiles
Access Control โ
Currently limited compared to AWS:
- Single credential per project
- Use separate projects for isolation
Best Practices โ
- Use path prefixes to organize backups
- Enable DBackup retention for automatic cleanup
- Use EU regions for GDPR compliance
- Enable encryption for sensitive data
- Monitor costs in Hetzner Console
- Regular restore tests to verify integrity
Migration โ
From Other S3 Storage โ
Use rclone for migration:
rclone copy s3:source-bucket hetzner:dest-bucket/prefix --progressTo Hetzner โ
- Create Hetzner destination in DBackup
- Run parallel backups to both destinations
- Verify Hetzner backups
- Update jobs to use Hetzner only