Skip to content

Backup & Disaster Recovery

The SMB Ready Foundation prioritizes cost optimization over high availability. Recovery involves rebuilding from Infrastructure as Code rather than automatic failover.

MetricTargetNotes
RPO24 hoursDaily VM backups
RTO2–4 hoursIaC redeployment
AvailabilityBest effortNo SLA commitment
TierRTO TargetServices
Critical2 hoursVPN connectivity (if deployed)
Important4 hoursAzure Firewall, network routing
Standard8 hoursCustomer VMs, workloads

VMs tagged with Backup: true are automatically enrolled via Azure Policy (smb-backup-02, DeployIfNotExists).

SettingConfiguration
Backup Vaultrsv-smbrf-smb-{region}
PolicyDefaultVMPolicy
ScheduleDaily @ 02:00 UTC
Instant Recovery2 days
Daily Retention30 days
Weekly Retention12 weeks (Sunday)
Monthly Retention12 months (1st of month)
Geo-RedundancyLRS (Locally Redundant)
Terminal window
# Set vault context
$vault = Get-AzRecoveryServicesVault -Name "rsv-smbrf-smb-swc" `
-ResourceGroupName "rg-backup-smb-swc"
Set-AzRecoveryServicesVaultContext -Vault $vault
# Find recovery points
$container = Get-AzRecoveryServicesBackupContainer `
-ContainerType AzureVM -FriendlyName "vm-name"
$item = Get-AzRecoveryServicesBackupItem `
-Container $container -WorkloadType AzureVM
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $item
# Restore
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] `
-TargetResourceGroupName "rg-spoke-prod-swc" `
-StorageAccountName "strecoveryswc" `
-StorageAccountResourceGroupName "rg-backup-smb-swc"

Infrastructure is defined as code and stored in Git — no backup needed:

ComponentRecovery Method
Bicep/Terraform templatesazd up redeploy from Git
Azure PoliciesAuto-applied on deployment
Network configAuto-applied on deployment
Firewall rulesDefined in IaC templates

Full infrastructure recovery:

Terminal window
cd infra/bicep/smb-ready-foundation # or terraform
azd env set SCENARIO full
azd up
ResourceReasonMitigation
Log Analytics dataEphemeral operational dataExport critical queries to saved searches
Key Vault secretsSoft delete + purge protection enabled90-day recovery window
Azure Migrate dataAssessment-only, reproducibleRe-run assessment
NSG flow logsDiagnostic dataNot critical for recovery
  1. Assess the failure scope — single resource vs. full region outage
  2. For single resource failure — use the Operations Runbook procedures
  3. For full region failure:
    • Target the failover region: azd env set AZURE_LOCATION germanywestcentral
    • Update CIDR ranges if needed
    • Run azd up to redeploy all infrastructure
    • Restore VMs from the Recovery Services Vault (if LRS, data is region-local; for cross-region DR, upgrade to GRS)