本文将讲述Azure云提供的Azure Cosmos DB服务的定期备份策略。我在上一篇文章中已经解释了Cosmos DB可用的备份选项。我建议你通过访问所附链接 "了解Azure Cosmos DB备份"来了解Azure Cosmos DB的备份策略。今天,我将解释其中的一个备份选项周期性备份,以及关于如何为cosmos DB账户配置它的步骤。
Azure Cosmos DB是一个完全管理的、高度安全的、全球分布的数据库服务,是为新时代的应用开发而设计的。它提供了两种备份模式,可以用来保证其数据库的安全,避免意外删除,以及自然或人为的灾难。周期性备份模式是其中之一,也是cosmos DB的默认选项。如果你在创建cosmos DB账户时不做任何专门用于备份的修改,这种备份会自动配置。
备份根据备份间隔配置的值执行,默认情况下,它每隔4小时运行一次,可以根据我们的要求进行调整。它的备份副本保存在一个单独的Azure存储服务上,可以复制到其他地区以确保其弹性。周期性备份不允许用户进行数据恢复或还原操作。如果要恢复或复原任何数据,必须在Azure门户上提出支持票。
让我们了解一下如何在通过Azure门户配置一个新的Azure Cosmos DB账户时,为其配置这种备份。
在这里,我将配置一个Azure Cosmos DB帐户,并将向你展示如何配置将用于该cosmos DB帐户的备份策略设置。
登录到Azure门户。打开Cosmos DB仪表板页面。点击 "+创建"选项,打开一个新的账户创建表格,如下图所示。输入细节,如订阅、资源组、账户名称和位置。如果你是出于学习目的,你可以保持其他设置的原样。如果你是为商业目的配置这个账户,那么确保应用折扣,并从下面的屏幕中选择适当的容量模式。
点击 "下一步"。全局分配"按钮在这个屏幕的底部,或者你可以直接点击显示在 "基本"标签附近的这个标签。
在这里,我把所有设置都保持原样,并决定使用默认配置。如果你想启用全局分布,将数据复制到其他地区,那么你可以用这个标签来做。你只需要选择 "启用"选项的单选按钮。
一旦你从 "全球分布"选项卡中选择了你想要的选项,然后点击 "下一步"按钮或点击第三个选项卡,即网络。
在这里,我把这个设置也设为默认。你必须根据你的要求从下面的选项中选择。点击 "Next"。备份策略"按钮或直接跳到 "备份策略"选项。
现在,我们将在这里为Azure Cosmos DB账户选择目标备份策略。我们必须准备好配置备份所需的几个选项。
- **备份策略 -**在这个选项中,有2个可用的选项。由于我们必须配置一个定期备份选项,所以我们将确保选择这个备份策略。
- **备份时间间隔 -**在这里你需要输入备份运行的时间间隔。这个值不能被配置为小于1小时和大于24小时。如果我们改变它的值,那么配置的值将被认为是自其最后一次备份运行以来执行的下一次备份。
- **备份保留时间 -**这是保留备份的期限。我们可以用小时或天来配置它
- **数据保留副本 -**这个值不会被手动配置,但你可以通过改变备份间隔和其保留值来控制它。
- **备份存储冗余 -**在这里,你可以从下图中给出的3个选项中任选一个,选择合适的备份存储弹性
- 地理冗余的备份存储
- 分区冗余备份存储
- 本地冗余备份存储
如果你不想把你的备份数据复制到其他地区,那么你就不应该选择地理冗余备份存储,而必须选择其余两个选项,将备份副本存储在同一地区。下图显示的是上述所有参数的默认值。你可以看到备份间隔被设置为4小时,备份保留显示为8小时,这使得它只保存2份备份,这也是免费的。如果您需要保存更多的备份副本或保持与给定值不同的备份保留时间,那么您必须从下图中进行更改。
点击 "下一步"。加密"按钮,跳到 "加密"标签。在这里,我们将配置加密,以保护休息时的数据。我把它留在默认选项中,即服务管理的密钥。
接下来,你可以通过访问下一个标签 "标签"来创建适合你业务要求的标签。一旦你在所有的标签中填写了所有的细节,最后一步就是在创建Azure cosmos DB账户之前验证这些细节。你可以点击审查+创建按钮。验证过程将被启动,一旦验证成功,你将得到下面的屏幕,提到验证过程是成功的。最后,你可以点击本页底部的 "创建"按钮来启动部署过程。
一旦账户被创建,你将通过Azure门户或通知栏标签得到通知。你可以点击 "转到资源"标签,跳转到这个cosmos DB账户仪表板页面。在这里,你可以点击设置标签下的备份和恢复选项,以验证你的定期备份配置,如下图所示,这个新创建的Azure Cosmos DB帐户。由于我们用默认设置创建了这个账户,所以我们可以看到备份间隔为4小时,保留了2个备份数据的副本,备份存储冗余为地理冗余备份存储。

修改现有Azure Cosmos DB账户的周期性备份配置
本节将帮助你了解修改现有Azure Cosmos DB账户的定期备份配置。你必须登录Azure门户,并跳转到cosmos DB账户仪表板页面。在这里,你可以像我在上面的步骤中那样,点击 "设置"选项卡下给出的 "备份和恢复"选项,以验证备份配置的细节。
我将上述屏幕中的备份间隔设置从240分钟改为720分钟,即从4小时改为12小时,这意味着我已经配置为每12小时运行一次备份,而不是以前设置的4小时。一旦我们改变了备份间隔,我们可能也需要调整备份保留设置,这与备份间隔设置是一致的。我们可以看到,考虑到4小时的备份保留,8小时被设置为备份保留,但当我改变12小时的备份间隔时,屏幕上出现了一个错误的弹出窗口,这也显示在下图中。这意味着,你总是需要将备份保留时间保持在备份间隔值的两倍,而不是少于这个值。我们已经将备份时间间隔改为12小时,所以备份保留时间必须至少为24小时。

现在,只是为了分析备份副本的数量是否取决于备份保留时间,我已经将其以前的值从8小时改为8天,如下图所示。注意,我已经将备份时间间隔从4小时改为12小时,所以我们现在可以看到,备份时间间隔为12小时,备份保留时间为8天,保留的数据拷贝数为16。
如果你不想保存那么多的数据拷贝,那么你可以调整备份间隔或保留的数值。我把它修改为2天,现在我们可以看到这个Azure Cosmos DB账户将保留总共4份数据。
一旦你做了修改,你可以点击提交按钮来应用更新。你会得到一个进度说明,提到 "更新此账户的备份策略 "的文本,如下图所示。
一旦变化被成功更新,你将在同一屏幕上得到通知,如下图所示。你的新变化已被应用到所需的Azure Cosmos DB帐户。
你也可以使用PowerShell或Azure CLI工具修改备份配置。你需要在下面的PowerShell和Azure CLI命令中传递备份间隔和备份保留的值,以及Azure Cosmos DB账户名称。下面是PowerShell命令,你可以使用它来修改账户的详细信息,并执行它们来修改定期备份配置。你需要改变所有用粗体字突出显示的值。你应该用你的资源组名称替换资源 组名称**,** cosmos DB账户是在这个资源组下配置的**,accountName** 是cosmos DB账户的名称,然后是按照你的要求的备份间隔和保留值**。**
Update-AzCosmosDBAccount -ResourceGroupName "resourceGroupName" `
-Name "accountName" `
-BackupIntervalInMinutes 720 `
-BackupRetentionIntervalInHours 48
你也可以运行下面的Azure CLI命令来修改这些值。你只需要替换我在上述命令中建议的相同值即可。
az cosmosdb update --resource-group "resourceGroupName" \
--name "accountName" \
--backup-interval 720 \
--backup-retention 48
总结
今天,我解释了如何为Azure Cosmos DB账户配置和修改定期备份。定期备份是cosmos DB账户的默认选项。修改定期备份的配置是在cosmos DB账户级别进行的,而不是在数据库或容器级别。在修改备份配置时,你应该小心,因为如果你选择为任何cosmos DB账户保留2份以上的备份数据,它将花费你额外的金额。









