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

  1. Go to Azure Portal
  2. Click Create a resource > Storage account
  3. Configure:
    • Name: supascalebackups
    • Region: Choose closest to server
    • Performance: Standard
    • Redundancy: LRS or GRS
  4. Click Create
  • 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

  1. Open your storage account
  2. Go to Containers
  3. Click + Container
  4. Name: backups
  5. Access level: Private

Get Connection String

  1. Go to storage account Access keys
  2. Click Show keys
  3. 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

  1. Navigate to Cloud Storage
  2. Click Add Provider
  3. Select Azure Blob Storage
  4. Enter:
    • Name: "Production Azure"
    • Account name
    • Account key
    • Container name
  5. Click Test Connection
  6. 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

OptionRequiredDescription
accountNameYesStorage account name
accountKeyYesAccess key
containerNameYesBlob container name
endpointNoCustom endpoint URL

Azure Regions

Common regions:

  • eastus - East US
  • westus2 - West US 2
  • westeurope - West Europe
  • northeurope - North Europe
  • southeastasia - Southeast Asia
  • japaneast - Japan East

Choose region closest to your server.

Access Tiers

TierUse CaseCost
HotFrequent access$$$
CoolInfrequent (30+ days)$$
ColdRare access (90+ days)$
ArchiveLong-term (180+ days)¢

Lifecycle Management

Configure automatic tier transitions:

  1. Go to storage account Lifecycle management
  2. 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

  1. Access Keys - Simple but less secure
  2. Shared Access Signatures (SAS) - Scoped, time-limited
  3. 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

OptionDescriptionCost
LRS3 copies in one datacenter$
ZRS3 copies across zones$$
GRS6 copies across regions$$$
GZRSCombines ZRS + GRS$$$$

Troubleshooting

"Authentication failed"

  1. Verify account name is correct
  2. Check account key is complete
  3. Try regenerating the key
  4. Verify storage account isn't disabled

"Container not found"

  1. Check container name spelling
  2. Verify container exists
  3. Check container isn't deleted

"Forbidden"

  1. Check firewall settings allow your IP
  2. Verify VNet configuration
  3. Check SAS token permissions (if using SAS)
  4. Verify account key has necessary permissions