Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

教程:从数据库快照还原数据库实例

使用 Amazon RDS 的一个常见情况就是您有一个偶尔使用而不是一直使用的数据库实例。例如,您可能有一个季度客户调查,该调查使用了一个用于托管客户调查网站的 Amazon Elastic Compute Cloud (Amazon EC2) 实例和一个用于存储调查结果的数据库实例。在这种情况下节省资金的一种方法是在完成调查后拍摄数据库实例的数据库快照,删除数据库实例,然后在您需要再次进行调查时还原数据库实例。

在下图中,您可以看到一个可能的情况,即托管客户调查网站的 EC2 实例位于与保留客户调查数据的数据库实例相同的 Amazon Virtual Private Cloud (Amazon VPC) 中。请注意,每个实例都有自己的安全组;EC2 实例安全组允许来自 Internet 的访问,而数据库实例安全组仅允许针对和来自 EC2 实例的访问。调查完成后,可停止 EC2 实例并在创建最终数据库快照后删除数据库实例。当您需要进行另一个调查时,可以重新启动 EC2 实例并从数据库快照还原数据库实例。

 教程 VPC 使用

有关如何在允许 EC2 实例连接到数据库实例的情况下设置所需的 VPC 安全组的信息,请参阅VPC 中的数据库实例由同一 VPC 中的 EC2 实例访问

您必须先创建数据库快照,然后才能从中还原数据库实例。还原数据库实例时,您需要提供用于还原的数据库快照的名称,然后提供还原后所新建的数据库实例的名称。无法从数据库快照还原到现有数据库实例;还原时将新建一个数据库实例。

从数据库快照还原数据库实例的先决条件

还原数据库实例时,还原的实例上的某些设置会进行重置,因此,您必须保留原始资源以便将数据库实例还原为其以前的设置。例如,当从数据库快照还原数据库实例时,默认数据库参数和默认安全组将与还原的实例关联。此关联表示默认安全组不允许访问数据库实例,并且默认参数组中没有自定义参数设置。您需要保留与已用于创建数据库快照的数据库实例关联的数据库参数组和安全组。

要从数据库快照还原数据库实例,您需要满足以下条件:

  • 您必须先创建数据库实例的数据库快照,然后才能从该数据库快照还原数据库实例。有关创建数据库快照的更多信息,请参阅创建数据库快照

  • 您必须保留与从数据库快照创建的数据库实例关联的参数组和安全组。

  • 您必须将 VPC 保留在从中拍摄数据库快照的数据库实例所在的位置。

  • 您需要确定还原的数据库实例的正确选项组:

    • 创建还原的数据库实例后,与从中还原的数据库快照关联的选项组即与该数据库实例关联。例如,如果从中还原的数据库快照使用 Oracle 透明数据加密 (TDE),则还原的数据库实例将使用具有 TDE 选项的相同选项组。

    • 如果您尝试将原始数据库实例还原到不同的 VPC 或不同的平台中,则无法使用与该实例关联的选项组。之所以有此限制,是因为向数据库实例分配选项组时,选项组还会链接到数据库实例所处的平台,即 VPC 或 EC2-Classic (非 VPC)。如果数据库实例在某个 VPC 中,则与该实例关联的选项组会链接到该 VPC。

    • 如果您将数据库实例还原到不同的 VPC 中或不同的平台上,则必须向该实例分配默认选项组、分配链接到该 VPC 或平台的选项组,或是创建新选项组并将其分配给数据库实例。请注意,对于持久或永久选项 (如 Oracle TDE),在将数据库实例还原到不同的 VPC 中时,您必须创建包含该持久或永久选项的新选项组。有关使用选项组的详细信息,请参阅使用选项组

从数据库快照还原数据库实例

您可以使用以下过程,在 AWS 管理控制台中从快照还原。

要从数据库快照还原数据库实例,请执行以下操作:

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Snapshots

  3. 选择要从其还原的数据库快照。

     Console restore snapshot db
  4. 选择 Restore Snapshot

    此时会显示 Restore DB Instance 窗口。

  5. 对于 DB Instance Identifier,请键入要用于还原的数据库实例的名称。如果您要从在拍摄数据库快照后删除的数据库实例还原,则可以使用该数据库实例的名称。

  6. 选择 Restore DB Instance

修改还原的数据库实例

一旦还原操作完成,您应立即将从中还原的实例所使用的自定义安全组与您可能拥有的任何适用的自定义数据库参数组关联。仅默认的数据库参数和安全组与还原的实例关联。如果您要将数据库实例的功能还原为从其中创建快照的数据库实例的功能,您必须将数据库实例修改为使用之前的数据库实例使用的安全组和参数组。

必须在数据库实例可用之后,使用 RDS 控制台的 Modify 命令、ModifyDBInstance API 或 aws rds modify-db-instance 命令行工具显式应用所有更改。我们建议您为自己的所有数据库快照保留参数组,以便可以将还原的实例与正确的参数文件关联。

您可以修改还原的数据库实例上的其他设置。例如,可以使用源数据库快照以外的其他存储类型。在这种情况下,由于将数据迁移到新的存储类型需要额外的工作,还原过程会更慢。在还原到磁性 (标准) 存储或从其中还原时,迁移过程最慢,因为磁性存储不具备预配置 IOPS 或通用型 (SSD) 存储的 IOPS 功能。

后续步骤假定您的数据库实例在 VPC 中。如果您的数据库实例不在 VPC 中,请使用 AWS 管理控制台找到该数据库实例所需的数据库安全组。

修改还原的数据库实例以具有原始数据库实例的设置

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Instances

  3. 选择从数据库快照还原时创建的数据库实例。此处需要注意两点:分配给数据库实例的安全组是不允许任何访问的默认安全组,警告消息显示了当前没有允许入站访问的任何权限。

     Console restore snapshot db
  4. 选择 Instance Actions,然后选择 Modify

  5. 选择要用于数据库实例的安全组。如果您需要添加用于创建新安全组的规则以使用 EC2 实例,请参阅VPC 中的数据库实例由同一 VPC 中的 EC2 实例访问以获取更多信息。

     Console restore snapshot db
  6. 选择 Apply Immediately (位于页面底部)。

  7. 选择 Continue,然后选择 Modify DB Instance

    请注意,已应用新的安全组,并且现在已向数据库实例授予访问权限。

     Console restore snapshot db

相关主题