使用 AWS Backup 备份和还原 Amazon RDS
借助 AWS Backup,您可以在 AWS 服务中实现数据保护的集中化和自动化。AWS Backup 是一种完全托管的基于策略的服务,可简化大规模数据保护。该服务非常适合诸如监管合规义务、数据保护业务策略和业务连续性目标等使用场景。
在本操作指南中,我们将使用 AWS 管理控制台,利用 Amazon Relational Database Service (Amazon RDS) 为选定的 AWS 服务设置自动备份,然后还原备份,并清理资源以避免产生意外成本。有关 AWS Backup 支持的所有 AWS 和第三方服务,请参阅此列表。在投入生产环境时,请务必设置正确的计划和保留管理,并监控成本。
学习内容
- 如何创建 Amazon RDS 数据库的按需备份作业
- 如何使用备份计划备份 Amazon RDS 资源 - 在 AWS Backup 中使用备份计划,可以按计划自动执行备份
- 如何使用标签将资源添加到现有备份计划中
- 如何还原备份



免费(Amazon RDS 免费套餐)
操作步骤
要继续操作本指南,您需要以下资源或权限:
- 拥有 AWS 账户。如果您是第一次使用 AWS Backup,请查看 AWS Backup 开发人员文档获取更多信息。
- 一个或多个 Amazon RDS 数据库(包括适用于免费套餐的数据库)。有关不属于免费套餐的数据库定价,请参阅 Amazon RDS 定价。有关 AWS Backup 定价,请参阅 AWS Backup 定价。
- AWS Backup 用于创建 Amazon RDS 数据库备份的 IAM 角色。
- 如果未创建后续角色,则可以使用默认 IAM 角色:AWSBackupDefaultRole
- 如果未创建后续角色,则可以使用默认 IAM 角色:AWSBackupDefaultRole
步骤 1:自动化 Amazon RDS 备份和还原
a. 登录 AWS 管理控制台,然后打开 AWS Backup 控制台。

步骤 2:配置 Amazon RDS 数据库的按需 AWS Backup 作业
子步骤:配置与 AWS Backup 结合使用的服务
a. 在 AWS Backup 控制台左侧的导航栏中,选择 My account(我的账户)下的 Settings(设置)
.cd6c5cf1db4bce245af16fbf291e96f4087f348e.png)
b. 在 Service opt-in(服务选择)页面上,点击 Configure resources(配置资源)。
.a047a01abe3bf3e5ab95fe59424a251d008a89df.png)
c. 在 Configure resources(配置资源)页面上,使用切换开关启用或禁用与 AWS Backup 结合使用的服务。配置完服务后,点击 Confirm(确认)。
- 您要备份的 AWS 资源应位于本操作指南使用的区域中,并且所有资源必须位于同一个 AWS 区域(但是,有关跨区域复制的信息,请参阅步骤 3.2)。本操作指南使用美国东部(弗吉尼亚北部)区域 (us-east-1)。

子步骤:创建 Amazon RDS 数据库的按需备份作业
d. 返回 AWS Backup 控制台,在左侧导航栏的 My account(我的账户)下,点击 Protected resources(受保护的资源)。

e. 在控制面板中点击 Create on-demand backup(创建按需备份)按钮。

f. 在 Create on-demand backup(创建按需备份)页面上,选择以下选项:
- 选择要备份的资源类型;例如 RDS,代表 Amazon RDS。
- 选择要保护的资源的数据库名称或 ID;例如,analytics。
- 确保选中 Create backup now(立即创建备份)。这会立即启动备份作业,并使您能够在 Protected resources(受保护的资源)页面上更快地看到已保存的资源。
- 选择所需的保留期。AWS Backup 会在此期限结束时自动删除您的备份,从而为您节省存储成本。
- 选择现有的备份保管库。选择 Create new Backup vault(创建新的备份保管库)会打开一个新页面来创建保管库,完成后会返回到 Create on-demand backup(创建按需备份)页面。
- 在 IAM role(IAM 角色)下,选择 Default role(默认角色)。
注意:如果您的账户中不存在 AWS Backup 默认角色,系统会创建一个具有正确权限的 AWS Backup 默认角色。 - 点击 Create on-demand backup(创建按需备份)按钮。这将进入 Jobs(作业)页面,您会在其中看到作业列表。

g. 选择您选择备份的资源的 Backup job ID(备份作业 ID),查看该作业的详细信息。

步骤 3:配置 Amazon RDS 数据库的自动 AWS Backup 作业
子步骤:配置与 AWS Backup 结合使用的服务
a. 返回 AWS Backup 控制台左侧的导航栏,在 My account(我的账户)下选择 Settings(设置)。
b. 在 Service opt-in(服务选择)页面上,点击 Configure resources(配置资源)。

c. 在 Configure resources(配置资源)页面上,使用切换开关启用或禁用与 AWS Backup 结合使用的服务。配置完服务后,点击 Confirm(确认)。
- 您要备份的 AWS 资源应位于本教程使用的区域中,并且所有资源必须位于同一 AWS 区域中(有关跨区域复制的信息,请参阅步骤 3.2)。本教程使用美国东部(弗吉尼亚州北部)区域 (us-east-1)。

子步骤:为 Amazon RDS 数据库配置备份计划
a. 在 AWS Backup 控制台中,在左侧导航栏的 My account(我的账户)下选择 Backup plans(备份计划),然后点击 Create backup plan(创建备份计划)。

b. AWS Backup 提供了三种开始使用 AWS Backup 控制台的方式,但对于本操作指南,请选择 Build a new plan(构建新计划):
- 从模板开始 — 您可以根据 AWS Backup 提供的模板创建新的备份计划。请注意,AWS Backup 创建的备份计划都是基于备份最佳实践和常见备份策略配置。当您选择从现有的备份计划开始时,该备份计划中的配置将自动填充到新的备份计划中。然后,可以根据备份要求更改其中的任何配置。
- 构建新计划 — 您可以通过指定每个备份配置细节来创建新的备份计划,如下一节所述。您可以从推荐的默认配置中选择。
- 使用 JSON 定义计划 — 您可以修改现有备份计划的 JSON 表达式或创建新表达式。
c. Backup plan name(备份计划名称)- 您必须提供唯一的备份计划名称。如果尝试创建与现有计划完全相同的备份计划,您会收到 AlreadyExistsException 错误。对于本操作指南,请输入 RDS-webapp。

d. Backup rule name(备份规则名称)- 备份计划由一个或多个备份规则组成。备份规则名称区分大小写。规则名称必须包含 1 至 63 个字母数字字符或连字符。对于本操作指南,请输入 RDS-Dailies。

e. Backup vault(备份保管库)- 备份保管库是用于组织备份的容器。备份规则创建的备份将在您在备份规则中指定的备份保管库中进行组织。您可以使用备份保管库设置用于加密备份保管库中备份的 AWS Key Management Service (AWS KMS) 加密密钥,以及控制对备份保管库中备份的访问。您还可以向备份保管库添加标签,以帮助您对其进行组织。如果不想使用默认保管库,可以创建自己的保管库。

- Create new backup vault(创建新备份保管库)- 您可以创建特定的备份保管库来保存和组织同一保管库中的备份组,而不是使用在 AWS Backup 控制台中为您自动创建的默认备份保管库。
i) 要创建备份保管库,请选择 Create new Backup vault(创建新备份保管库)。
ii) 为备份保管库输入名称。您可以为保管库命名,以反映其中将存储的内容,或者使您更容易搜索所需的备份。例如,您可以将其命名为 FinancialBackups。
iii) 选择 AWS KMS 密钥。您可以使用已创建的密钥,或选择默认的 AWS Backup 主密钥。
iv) 可选择添加标签,以帮助您搜索和识别备份保管库。
v) 点击 Create Backup vault(创建备份保管库)按钮。

f. Backup frequency(备份频率)- 备份频率决定了创建备份的频率。您可以选择以下频率:每 12 小时、每天、每周或每月。选择每周时,可以指定要在一周中的哪一天进行备份。选择每月时,可以选择一个月中的某个具体日期。
g. Enable continuous backups for point-in-time recovery(启用连续备份以进行时间点恢复)- 使用连续备份,您可以通过选择恢复时间(精确到秒)来执行时间点还原 (PITR)。工作负载的当前状态与最近的时间点还原之间的最长时间间隔为 5 分钟。连续备份最多可存储 35 天。如果您不启用连续备份,AWS Backup 会为您进行快照备份。
h. Backup window(备份时间窗口)- 备份时间窗口包括备份窗口开始的时间和窗口持续时间(以小时为单位)。默认备份窗口设置为从协调世界时 (UTC) 凌晨 5 点开始,持续 8 小时。

i. Transition to cold storage(转换为冷存储)- 目前只有 Amazon EFS 文件系统备份可以转换为冷存储。对于 Amazon Elastic Block Store (Amazon EBS)、Amazon Relational Database Service (Amazon RDS)、Amazon Aurora、Amazon DynamoDB 和 AWS Storage Gateway 的备份,冷存储表达式将被忽略。
j. Retention period(保留期)- AWS Backup 会在此期限结束时自动删除您的备份,以帮助您节省存储成本。AWS Backup 可以保留 1 天到 100 年的快照(如果您不输入保留期,则可以无限期保留),以及 1 天到 35 天的连续备份。

k. Copy to destination(复制到目标位置)- 作为备份计划的一部分,您可以选择在另一个 AWS 区域创建备份副本。使用 AWS Backup,可以根据需要将备份复制到多个 AWS 区域,也可以作为调度备份计划的一部分自动复制。如果您有业务连续性或合规性要求,需要将备份存储在距离生产数据最小距离的位置,则跨区域复制 (CRR) 特别有价值。定义备份副本时,您可以配置以下选项:
- 复制到目标位置 - 备份副本的目标区域。
- 目标备份保管库 - 副本的目标备份保管库。
- (高级设置)转换为冷存储
- (高级设置)保留期
注意:跨区域复制会产生额外的数据传输成本。您可以参考 AWS Backup 定价页面了解更多信息。

l. Tags added to recovery points(恢复点上添加的标签)- 您在此处列出的标签会在创建备份时自动添加到备份中。
m. Advanced backup settings(高级备份设置)- 为在 Amazon EC2 实例上运行的第三方应用程序启用应用程序一致性备份。目前,AWS Backup 支持 Windows VSS 备份。此设置仅适用于运行 SQL Server 或 Exchange 数据库的 Windows EC2 实例。
n. 点击 Create plan(创建计划)。

子步骤:将资源分配给备份计划
将资源分配给备份计划后,系统会根据此备份计划自动备份该资源。该资源的备份根据备份计划进行管理。可以使用标签或资源 ID 分配资源。使用标签分配资源不仅简单,而且支持批量操作,可备份多个资源。
a. 选择已创建的备份计划,然后点击 Assign resources(分配资源)按钮。

b. Resource assignment name(资源分配名称)- 提供资源分配名称。
c. IAM role(IAM 角色)- 创建基于标签的备份计划时,如果选择 Default role(默认角色)以外的角色,请确保其拥有备份所有已标记资源所需的权限。AWS Backup 会尝试处理具有所选标签的所有资源。如果遇到没有访问权限的资源,备份计划将失败。

d. Define resource selection(定义资源选择)- 您可以选择包括所有资源类型或特定资源类型。

e. 对于基于资源 ID 的分配,请选择 Resource type(资源类型)和资源名称。
f. 要排除特定资源 ID,请选择 Resource type(资源类型)和资源名称。

g. 对于基于标签的资源分配,请提供 Amazon RDS 数据库的键值对。
h. 点击 Assign resources(分配资源),备份计划就会分配资源。

i. 前往 AWS Backup 控制台,备份作业将显示在 Jobs(作业)下方。
j. 备份(也称为恢复点)表示资源在特定时间点某个版本的内容,这些资源可以是 Amazon Elastic Block Store (Amazon EBS) 卷或 Amazon RDS 数据库等。恢复点是一个术语,通常指 AWS 服务中的不同备份,例如 Amazon EBS 快照和 Amazon RDS 备份。在 AWS Backup 中,恢复点保存在备份库中,您可以根据业务需求对其进行组织。每个恢复点都有一个唯一的 ID。

步骤 4:使用 AWS Backup 还原 Amazon RDS 数据库
a. 前往备份计划中选择的备份保管库,并选择最新完成的备份。

b. 要还原数据库,请点击恢复点的 ARN 并选择 Restore(还原)。

c. 还原 ARN 会跳转至 Restore backup(还原备份)界面,其中包含 Amazon RDS 数据库的实例规格和配置。选择 DB engine(数据库引擎)、License Model(许可模式)和 DB instance class(数据库实例类)。
- Multi AZ(多可用区)- 使用多可用区部署将自动预配并维护位于不同可用区的同步备用副本。请注意,您需要为多可用区部署付费。
- Storage type(存储类型)- 选择 Provisioned IOPS (SSD)(预配 IOPS (SSD))。
- Provisioned IOPS(预配 IOPS)- 数据库实例可以支持的每秒 I/O 操作请求数。输入 3000。

d. DB Instance Identifier(数据库实例标识符)- 为数据库实例键入一个在您选择的区域中对您的账户唯一的名称。如果您要从删除数据库快照后删除的数据库实例中还原,可以使用该数据库实例的名称。

e. 选择适当的网络和安全设置:
- VPC - 选择需要将数据库还原到的 VPC。
- Subnet group(子网组)- 选择需要将数据库还原到的 VPC 中的子网组。
- Public accessibility(公共可访问性)- 您可以选择是否需要数据库实例具有公共地址。如果选择 Yes(是),系统将为数据库实例分配一个 IP 地址,以便您可以从自己的设备直接连接到数据库。
- Availability zone(可用区)- 选择 No Preference(无首选项)。

f. 选择适当的数据库选项。
- Database port(数据库端口)- 保留默认值 3306。
- DB parameter group(数据库参数组)- 保留 default value(默认值)。
- Option Group(选项组)- 保留 default value(默认值)。Amazon RDS 使用选项组来启用和配置其他功能。
- IAM DB Authentication Enabled(启用 IAM 数据库身份验证)- 您可以使用 AWS Identity and Access Management (IAM) 来对您的数据库实例进行身份验证。选择 Enable IAM DB authentication(启用 IAM 数据库身份验证)。

g. Copy Tags to Snapshots(将标签复制到快照)- 可以在数据库实例上设置标签,以便自动复制到从实例创建的任何自动或手动数据库快照。

h. Encryption(加密)- 这是将用于保护用于加密数据库卷的密钥的主密钥。您可以从 AWS 账户中的主密钥中进行选择,或输入来自不同账户的密钥的 Amazon 资源名称 (ARN)。

i. Log exports(日志导出)- 选择要发布到 Amazon CloudWatch 日志的日志类型。

j. Maintenance(维护)- 如果数据库实例应接收自动引擎版本升级,请选择 Yes(是)。

k. Restore role(还原角色)- 选择 Default role(默认角色)或 Choose an IAM role(选择 IAM 角色)。

l. 点击 Restore backup(还原备份)。
您的作业随后将出现在 AWS Backup 控制台中 Restore jobs(还原作业)选项卡下的 Jobs(作业)部分。


还原作业完成后,您可以前往 Amazon RDS 控制台,并使用端点连接到数据库。

步骤 5:清理资源
在以下步骤中,您将清理在本操作指南中创建的资源。删除不再使用的实例和资源可以避免继续产生费用,属于一种最佳实践。
a. 打开 Amazon RDS 控制台。
b. 在导航栏中点击 Databases(数据库)。
c. 选择已还原的 RDS 数据库,然后依次点击 Actions > Delete(操作 > 删除)。

d. 要确认删除,请在相应字段中键入 delete me。

注意:此过程可能需要几秒钟才能完成。
其他资源:使用 Amazon RDS 和 Amazon Aurora
总结
您已成功创建 Amazon RDS 数据库的按需备份作业!您还使用备份计划备份了 Amazon RDS 资源。下一步,请查看近期发布的 AWS Backup 博客,进一步了解 AWS 云知识。