Azure Blob Storage
Configure Azure Blob Storage for backup storage.
Store backups in Azure Blob Storage for enterprise-grade cloud storage.
Prerequisites
- Azure account
- Storage account created
- Container for backups
Create Storage Account
- Go to Azure Portal
- Click Create a resource > Storage account
- Configure:
- Name:
supascalebackups - Region: Choose closest to server
- Performance: Standard
- Redundancy: LRS or GRS
- Name:
- Click Create
Recommended Settings
- Performance: Standard (unless high IOPS needed)
- Redundancy:
- LRS (Locally redundant) - Single datacenter
- GRS (Geo-redundant) - Cross-region replication
- Access tier: Hot (frequently accessed)
Create Container
- Open your storage account
- Go to Containers
- Click + Container
- Name:
backups - Access level: Private
Get Connection String
- Go to storage account Access keys
- Click Show keys
- Copy Connection string
Or get individual credentials:
- Account name: Your storage account name
- Account key: Primary or secondary key
Configure in Supascale
Via Web UI
- Navigate to Cloud Storage
- Click Add Provider
- Select Azure Blob Storage
- Enter:
- Name: "Production Azure"
- Account name
- Account key
- Container name
- Click Test Connection
- Click Save
Via API
curl -X POST https://supascale.example.com/api/v1/cloud-storage \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Azure",
"type": "azure",
"isDefault": false,
"azureConfig": {
"accountName": "supascalebackups",
"accountKey": "your-account-key",
"containerName": "backups"
}
}'
Configuration Options
| Option | Required | Description |
|---|---|---|
accountName | Yes | Storage account name |
accountKey | Yes | Access key |
containerName | Yes | Blob container name |
endpoint | No | Custom endpoint URL |
Azure Regions
Common regions:
eastus- East USwestus2- West US 2westeurope- West Europenortheurope- North Europesoutheastasia- Southeast Asiajapaneast- Japan East
Choose region closest to your server.
Access Tiers
| Tier | Use Case | Cost |
|---|---|---|
| Hot | Frequent access | $$$ |
| Cool | Infrequent (30+ days) | $$ |
| Cold | Rare access (90+ days) | $ |
| Archive | Long-term (180+ days) | ¢ |
Lifecycle Management
Configure automatic tier transitions:
- Go to storage account Lifecycle management
- Add rule:
- Move to Cool tier after 30 days
- Move to Archive after 90 days
- Delete after 365 days
Example Policy
{
"rules": [
{
"name": "backups-lifecycle",
"enabled": true,
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"tierToCool": { "daysAfterModificationGreaterThan": 30 },
"tierToArchive": { "daysAfterModificationGreaterThan": 90 },
"delete": { "daysAfterModificationGreaterThan": 365 }
}
},
"filters": {
"blobTypes": ["blockBlob"],
"prefixMatch": ["backups/"]
}
}
}
]
}
Test Connection
curl -X POST https://supascale.example.com/api/v1/cloud-storage/provider-id/test \ -H "X-API-Key: your-api-key"
Security
Authentication Options
- Access Keys - Simple but less secure
- Shared Access Signatures (SAS) - Scoped, time-limited
- Azure AD - Enterprise identity (not yet supported)
Best Practices
- Rotate access keys regularly
- Use separate keys for different applications
- Enable soft delete for recovery
- Enable versioning
- Configure firewall rules
Encryption
Azure encrypts all data at rest. Options:
- Microsoft-managed keys - Default
- Customer-managed keys - Use Azure Key Vault
Redundancy Options
| Option | Description | Cost |
|---|---|---|
| LRS | 3 copies in one datacenter | $ |
| ZRS | 3 copies across zones | $$ |
| GRS | 6 copies across regions | $$$ |
| GZRS | Combines ZRS + GRS | $$$$ |
Troubleshooting
"Authentication failed"
- Verify account name is correct
- Check account key is complete
- Try regenerating the key
- Verify storage account isn't disabled
"Container not found"
- Check container name spelling
- Verify container exists
- Check container isn't deleted
"Forbidden"
- Check firewall settings allow your IP
- Verify VNet configuration
- Check SAS token permissions (if using SAS)
- Verify account key has necessary permissions