从快照还原到多可用区数据库集群 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

从快照还原到多可用区数据库集群

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 将快照还原为多可用区数据库集群。您可以将以下每种类型的快照还原到多可用区数据库集群:

  • 单可用区部署的快照

  • 具有单个数据库实例的多可用区数据库实例部署快照

  • 多可用区数据库集群的快照

提示

您可以通过还原快照将单可用区部署或多可用区数据库实例部署迁移到多可用区数据库集群部署。

要将快照还原到多可用区数据库集群

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择快照

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

  4. 对于操作,选择还原快照

  5. Restore snapshot(还原快照)页面的 Availability and durability(可用性与持久性)下,选择 Multi-AZ DB cluster(多可用区数据库集群)。

    
							多可用区数据库集群选择
  6. DB instance class(数据库实例类)中,请选择数据库实例类。

    目前,多可用区数据库集群仅支持 db.m6gd 和 db.r6gd 数据库实例类。有关数据库实例类的更多信息,请参阅 数据库实例类

  7. 对于 DB cluster identifier(数据库集群标识符),请输入您还原的多可用区数据库集群的名称。

  8. 对于其余部分,请指定数据库集群设置。有关每项设置的信息,请参阅 创建多可用区数据库集群的设置

  9. 选择 Restore DB cluster(还原数据库集群)。

要从快照还原多可用区数据库集群,请使用 Amazon CLI 命令 restore-db-cluster-from-snapshot

在下面的示例中,您将从先前创建的名为 mysnapshot 的快照中进行还原。您将还原为名为 mynewmultiazdbcluster 的新多可用区数据库集群。您还可以指定多可用区数据库集群中数据库实例使用的数据库实例类。为数据库引擎指定 mysqlpostgres

对于 --snapshot-identifier 选项,您可以使用名称或 Amazon Resource Name (ARN) 指定数据库集群快照。但是,您只能使用 ARN 指定数据库快照。

目前,多可用区数据库集群仅支持 db.m6gd 和 db.r6gd 数据库实例类。有关数据库实例类的更多信息,请参阅 数据库实例类

对于 Linux、macOS 或 Unix:

aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier mynewmultiazdbcluster \ --snapshot-identifier mysnapshot \ --engine mysql|postgres \ --db-cluster-instance-class db.r6gd.xlarge

对于 Windows:

aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier mynewmultiazdbcluster ^ --snapshot-identifier mysnapshot ^ --engine mysql|postgres ^ --db-cluster-instance-class db.r6gd.xlarge

在还原数据库集群后,请确保将多可用区数据库集群添加到数据库集群使用的安全组或用于创建快照的数据库实例中。这样做是为了提供与之前的数据库集群或数据库实例相同的功能。

要从快照还原多可用区数据库集群,请调用 RDS API 操作 RestoreDBClusterFromSnapshot,并采用以下参数:

  • DBClusterIdentifier

  • SnapshotIdentifier

  • Engine

您还可以选择指定以下参数。

在还原数据库集群后,请确保将多可用区数据库集群添加到数据库集群使用的安全组或用于创建快照的数据库实例中。这样做是为了提供与之前的数据库集群或数据库实例相同的功能。