0Pricing
Cloud & IT Cert Prep · 课时

PaaS 服务的 DR

使用异地复制和自动故障转移组为 Azure SQL Database 设计灾难恢复,并将其与有状态工作负载的 VM 级复制进行比较。

PaaS 服务的 DR 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

PaaS 与 IaaS 的 DR

IaaS 服务(VM)的灾难恢复通常涉及使用 Azure Site Recovery,将整个 OS 和数据磁盘复制到次要区域。由于底层基础设施由 Microsoft 管理,PaaS 服务采用不同的 DR 模型。对于 PaaS,DR 通常在数据层配置:将数据复制到次要区域,而平台本身会自动启动。

Azure SQL Database:内置冗余

Azure SQL Database 在单个区域内提供区域级别的内置高可用性。对于跨区域 DR,它提供两项关键功能:主动异地复制(最多可在其他四个区域中创建可读的次要数据库)和自动故障转移组(通过单个侦听器终结点实现自动故障转移)。这些功能在数据库或服务器级别配置,无需使用 Azure Site Recovery。

# Create a geo-replication link:
az sql db replica create \
  --resource-group myRG \
  --server primarySqlServer \
  --name myDatabase \
  --partner-server secondarySqlServer \
  --partner-resource-group secondaryRG

自动故障转移组

自动故障转移组在异地复制之上增加了自动化功能和单个连接终结点。您可以在主服务器上配置一个组,添加次要服务器,并定义宽限期——Azure 在触发自动故障转移前等待主服务器恢复的时间。应用连接到侦听器终结点(例如:mygroup.database.windows.net),故障转移后会自动重定向,无需更改连接字符串。

# Create an auto-failover group:
az sql failover-group create \
  --resource-group myRG \
  --server primarySqlServer \
  --name myFailoverGroup \
  --partner-server secondarySqlServer \
  --partner-resource-group secondaryRG \
  --failover-policy Automatic \
  --grace-period 60

Azure SQL 异地复制的 RPO

Azure SQL Database 异地复制采用异步方式:事务先在主数据库上提交,然后复制到次要数据库。这意味着会存在少量复制延迟,正常情况下通常少于 5 秒。因此,在大多数场景中,SQL 异地复制的 RPO 约为 5 秒,适合要求极低数据丢失的第 1 层和第 2 层工作负载。

SQL 的时间点还原

所有 Azure SQL Database 层级都包含自动备份:每周进行完整备份、每 12 小时进行差异备份,以及每 5–12 分钟进行事务日志备份。这支持时间点还原 (PITR),即在保留期内将数据库还原到任意一秒(Standard/General Purpose 为 7–35 天,Business Critical 最长为 35 天)。PITR 适用于从意外数据删除或损坏中恢复。

# Restore a database to a specific point in time:
az sql db restore \
  --resource-group myRG \
  --server mySqlServer \
  --name myDatabase-restored \
  --source-database-name myDatabase \
  --time '2026-06-20T14:30:00Z'

Cosmos DB:用于 DR 的多区域写入

启用多区域写入的 Azure Cosmos DB 可为全球应用提供接近零 RPO。所有已配置的区域都可以同时接受写入操作,Cosmos DB 会使用其专有复制协议自动同步数据。如果某个区域发生故障,流量会自动路由到其余正常区域,无需手动故障转移,从而实现接近零的 RTO 和 RPO。

# Add a secondary region to Cosmos DB:
az cosmosdb update \
  --resource-group myRG \
  --name myCosmosAccount \
  --locations regionName=eastus failoverPriority=0 isZoneRedundant=true \
                regionName=westus failoverPriority=1 isZoneRedundant=true

Azure App Service 的 DR 注意事项

Azure App Service 本身是无状态的(应用代码从源代码管理或 ZIP 文件部署)。对于 DR,重点在于数据层(数据库和 Blob 存储)。App Service 可以通过 CI/CD 管道快速重新部署到次要区域。不过,您应确保自定义域、TLS 证书和应用设置已复制或通过脚本配置,以便能够在次要区域快速重新创建。

# Export App Service configuration (app settings + connection strings):
az webapp config appsettings list \
  --name myWebApp \
  --resource-group myRG \
  --output json > appsettings-backup.json

# Apply to secondary region App Service:
az webapp config appsettings set \
  --name myWebApp-secondary \
  --resource-group secondaryRG \
  --settings @appsettings-backup.json

Azure Storage:GRS 和 RA-GRS

使用异地冗余存储 (GRS)的 Azure Blob Storage 会自动将数据复制到数百英里之外的次要区域。数据采用异步复制方式(RPO 通常少于 15 分钟)。读取访问异地冗余存储 (RA-GRS)允许在触发故障转移之前从次要终结点读取数据,这对于主要区域中断期间的分析和报告工作负载非常有用。

# Create a storage account with RA-GRS:
az storage account create \
  --resource-group myRG \
  --name mystorageaccount \
  --sku Standard_RAGRS \
  --kind StorageV2

# Secondary endpoint: mystorageaccount-secondary.blob.core.windows.net

Azure Functions 和 Logic Apps 的 DR

Azure Functions 按设计采用无状态架构,因此易于重新部署。对于 DR,请将相同的函数应用部署到次要区域,并使用 Traffic Manager 在区域之间路由 HTTP 触发器。对于非 HTTP 触发器(Service Bus、Event Grid),请将消息源配置为向两个区域分发消息,或让次要区域轮询同一消息源。Durable Functions 中的函数状态存储在 Azure Storage 中,请确保该存储使用 GRS。

在主动异地复制和自动故障转移组之间进行选择

当您需要精细控制时,请使用主动异地复制 — 例如,将读取流量定向到辅助副本以提升性能,或独立管理位于不同区域的多个辅助副本。当您希望操作简单时,请使用自动故障转移组:它提供单一侦听器终结点、基于计时器的自动故障转移,以及无需手动干预的内置故障转移流程编排。

比较平台即服务和 VM 灾难恢复成本

平台即服务灾难恢复通常比基于 VM 的灾难恢复更便宜,原因有很多。SQL Database 异地复制只收取辅助副本的存储和计算费用;您无需支付完整的 VM OS 许可证费用。Azure Cosmos DB 按每个区域预配的 RU 收费。Azure Storage GRS 会使存储成本增加约 2 倍。相比之下,使用 ASR 复制的 VM 在辅助区域需要承担完整的计算、存储和许可证费用。

快速检查

测试您对本课 Microsoft Azure Fundamentals (AZ-900) 概念的理解。

课程回顾

在本课中,您了解到:平台即服务灾难恢复侧重于数据层,而不是 VM 复制;Azure SQL 自动故障转移组提供带自动故障转移功能的单一侦听器终结点;Cosmos DB 多区域写入可为全球应用提供接近零的 RTO 和 RPO。接下来,我们将学习 Azure 合规框架和共同责任模型。

常见问题解答

「PaaS 服务的 DR」课时是免费的吗?

是的 — 「PaaS 服务的 DR」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「PaaS 服务的 DR」这节课中我会学到什么?

使用异地复制和自动故障转移组为 Azure SQL Database 设计灾难恢复,并将其与有状态工作负载的 VM 级复制进行比较。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「PaaS 服务的 DR」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 定义 RTO、RPO 和恢复层级
  2. 恢复计划与自动故障转移
  3. 无影响的 DR 测试
  4. PaaS 服务的 DR
← 返回 Cloud & IT Cert Prep