将自动备份复制到其他 Amazon 区域 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将自动备份复制到其他 Amazon 区域

要添加灾难恢复功能,您可以将 Amazon RDS 数据库实例配置为将快照和事务日志复制到所选的目标 Amazon 区域。为数据库实例配置备份复制时,RDS 会在数据库实例上的所有快照和事务日志准备就绪后立刻启动跨区域副本。

数据库快照副本需支付数据传输费用。复制数据库快照后,将为目标区域的存储量收取标准费用。有关更多详细信息,请参阅 RDS 定价

备份复制适用于运行以下数据库引擎的 RDS 数据库实例。

  • Oracle 数据库版本 12.1.0.2.v10 及更高版本

  • PostgreSQL 版本 9.6 和更高版本

  • Microsoft SQL Server 版本 2012 及更高版本

    加密 SQL Server 数据库实例不支持进行备份复制。

以下 Amazon 区域之间支持备份复制:

源区域 目标区域
美国东部(弗吉尼亚北部) 美国西部(俄勒冈)
美国西部(俄勒冈) 美国东部(弗吉尼亚北部)
欧洲(法兰克福) 欧洲(爱尔兰)
欧洲(爱尔兰) 欧洲(法兰克福)
亚太区域(东京) 亚太地区(大阪)区域

您还可以使用 describe-source-regions Amazon CLI 命令找出哪些 Amazon 区域可以相互复制。有关更多信息,请参阅 查找有关复制备份的信息

启用跨区域自动备份

您可以使用 Amazon RDS 控制台对新的或现有的数据库实例启用备份复制。您还可以使用 start-db-instance-automated-backups-replication Amazon CLI 命令或 StartDBInstanceAutomatedBackupsReplication RDS API 操作。

注意

为了能够复制自动备份,请确保启用它们。有关更多信息,请参阅 启用自动备份

您可以为新的或现有的数据库实例启用备份复制:

  • 对于新的数据库实例,请在启动实例时将其启用。有关更多信息,请参阅 数据库实例的设置

  • 对于现有数据库实例,请按以下流程操作。

如欲为现有数据库实例启用备份复制

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

  2. 在导航窗格中,选择 Automated backups (自动备份)

  3. 当前区域选项卡上,选择要为其启用备份复制的数据库实例。

  4. 对于操作,选择管理跨区域复制

  5. Backup replication (备份复制) 下,选择 Enable replication to another Amazon Region (启用复制到其他 Amazon 区域)

  6. 选择目标区域

  7. 选择复制备份保留期

  8. 如果您已在源数据库实例上启用加密,请选择用于加密备份的主密钥

  9. 选择 Save

在源区域中,复制备份在自动备份页面的当前区域选项卡上列出。在目标区域中,复制备份在自动备份页面的复制备份选项卡上列出。

使用 start-db-instance-automated-backups-replication Amazon CLI 命令启用备份复制。

以下 CLI 示例将自动备份从 美国西部(俄勒冈)区域 中的数据库实例复制到 美国东部(弗吉尼亚北部)地区。它还使用目标区域中的 Amazon KMS 客户主密钥对复制的备份进行加密。

注意

如果您对备份进行加密,则还必须包括 --source-region 选项。指定源 Amazon 区域会自动生成一个预签名 URL,它是可在源区域中执行的操作的有效请求。

有关预签名 URL 的更多信息,请参阅 Amazon Simple Storage Service API 参考中的验证请求:使用查询参数(Amazon 签名版本 4)Amazon一般参考中的签名版本 4 签名流程

如欲启用备份复制

  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds start-db-instance-automated-backups-replication \ --region us-east-1 \ --source-db-instance-arn "arn:aws-cn:rds:us-west-2:123456789012:db:mydatabase" \ --kms-key-id "arn:aws-cn:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE" \ --source-region us-west-2 \ --backup-retention-period 7

    对于 Windows:

    aws rds start-db-instance-automated-backups-replication ^ --region us-east-1 ^ --source-db-instance-arn "arn:aws-cn:rds:us-west-2:123456789012:db:mydatabase" ^ --kms-key-id "arn:aws-cn:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE" ^ --source-region us-west-2 ^ --backup-retention-period 7

使用带以下参数的 StartDBInstanceAutomatedBackupsReplication RDS API 操作来启用备份复制:

  • Region

  • SourceDBInstanceArn

  • BackupRetentionPeriod

  • KmsKeyId(可选)

  • PreSignedUrl(在您使用 KmsKeyId 时必需)

注意

如果您对备份进行加密,则还必须包含预签名 URL。有关预签名 URL 的更多信息,请参阅 Amazon Simple Storage Service API 参考中的验证请求:使用查询参数(Amazon 签名版本 4)Amazon一般参考中的签名版本 4 签名流程

查找有关复制备份的信息

您可以使用以下 CLI 命令查找有关复制备份的信息:

以下 describe-source-regions 示例列出了其中的自动备份可以复制到 美国西部(俄勒冈) 目标区域的源 Amazon 区域。

如欲显示有关源区域的信息

  • 运行以下命令。

    aws rds describe-source-regions --region us-west-2

输出显示备份可以从 美国东部(弗吉尼亚北部) 而不能从 美国东部(俄亥俄州) 或 美国西部(加利福尼亚北部) 复制到 美国西部(俄勒冈) 中。

{ "SourceRegions": [ ... { "RegionName": "us-east-1", "Endpoint": "https://rds.us-east-1.amazonaws.com", "Status": "available", "SupportsDBInstanceAutomatedBackupsReplication": true }, { "RegionName": "us-east-2", "Endpoint": "https://rds.us-east-2.amazonaws.com", "Status": "available", "SupportsDBInstanceAutomatedBackupsReplication": false }, "RegionName": "us-west-1", "Endpoint": "https://rds.us-west-1.amazonaws.com", "Status": "available", "SupportsDBInstanceAutomatedBackupsReplication": false } ] }

以下 describe-db-instances 示例显示了数据库实例的自动备份。

如欲显示数据库实例的复制备份

  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds describe-db-instances \ --db-instance-identifier mydatabase

    对于 Windows:

    aws rds describe-db-instances ^ --db-instance-identifier mydatabase

输出包括复制备份。

{ "DBInstances": [ { "StorageEncrypted": false, "Endpoint": { "HostedZoneId": "Z1PVIF0B656C1W", "Port": 1521, ..."BackupRetentionPeriod": 7, "DBInstanceAutomatedBackupsReplications": [{"DBInstanceAutomatedBackupsArn": "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"}] } ] }

以下 describe-db-instance-automated-backups 示例显示了数据库实例的自动备份。

如欲显示数据库实例的自动备份

  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds describe-db-instance-automated-backups \ --db-instance-identifier mydatabase

    对于 Windows:

    aws rds describe-db-instance-automated-backups ^ --db-instance-identifier mydatabase

输出显示了 美国西部(俄勒冈) 中的源数据库实例和自动备份,且备份已复制到 美国东部(弗吉尼亚北部)。

{ "DBInstanceAutomatedBackups": [ { "DBInstanceArn": "arn:aws-cn:rds:us-west-2:868710585169:db:mydatabase", "DbiResourceId": "db-L2IJCEXJP7XQ7HOJ4SIEXAMPLE", "DBInstanceAutomatedBackupsArn": "arn:aws-cn:rds:us-west-2:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE", "BackupRetentionPeriod": 7, "DBInstanceAutomatedBackupsReplications": [{"DBInstanceAutomatedBackupsArn": "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"}] "Region": "us-west-2", "DBInstanceIdentifier": "mydatabase", "RestoreWindow": { "EarliestTime": "2020-10-26T01:09:07Z", "LatestTime": "2020-10-31T19:09:53Z", } ... } ] }

以下 describe-db-instance-automated-backups 示例使用 --db-instance-automated-backups-arn 选项来显示目标区域中的复制备份。

如欲显示复制备份

  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds describe-db-instance-automated-backups \ --db-instance-automated-backups-arn "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"

    对于 Windows:

    aws rds describe-db-instance-automated-backups ^ --db-instance-automated-backups-arn "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"

输出显示了 美国西部(俄勒冈) 中的源数据库实例,以及 美国东部(弗吉尼亚北部) 中的复制备份。

{ "DBInstanceAutomatedBackups": [ { "DBInstanceArn": "arn:aws-cn:rds:us-west-2:868710585169:db:mydatabase", "DbiResourceId": "db-L2IJCEXJP7XQ7HOJ4SIEXAMPLE", "DBInstanceAutomatedBackupsArn": "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE", "Region": "us-west-2", "DBInstanceIdentifier": "mydatabase", "RestoreWindow": { "EarliestTime": "2020-10-26T01:09:07Z", "LatestTime": "2020-10-31T19:01:23Z" }, "AllocatedStorage": 50, "BackupRetentionPeriod": 7, "Status": "replicating", "Port": 1521, ... } ] }

从复制备份还原到指定时间

您可以使用 Amazon RDS 控制台将数据库实例从复制备份还原到特定时间点。您还可以使用 restore-db-instance-to-point-in-time Amazon CLI 命令或 RestoreDBInstanceToPointInTime RDS API 操作。

有关时间点恢复 (PITR) 的一般信息,请参阅 将数据库实例还原至指定时间

注意

在 RDS for SQL Server 上,复制自动备份时,不会跨 Amazon 区域复制选项组。如果您已将自定义选项组与 RDS for SQL Server 数据库实例关联,则可以在目标区域中重新创建该选项组。然后在目标区域中还原数据库实例,并将自定义选项组与其关联。有关更多信息,请参阅使用选项组

将数据库实例从复制备份还原到指定时间

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

  2. 从区域选择器中选择目标区域(备份复制到其中的区域)。

  3. 在导航窗格中,选择 Automated backups (自动备份)

  4. 复制备份选项卡上,选择要还原的数据库实例。

  5. 对于 Actions (操作),选择 Restore to point in time (还原到时间点)

  6. 选择最近可还原时间以还原到可能的最近时间,或选择自定义来选择时间。

    如果您选择自定义,请输入要将实例还原到的日期和时间。

    注意

    时间以您的本地时区显示,表示为协调世界时 (UTC) 的偏移量。例如,UTC-5 是东部标准时间/中部夏令时。

  7. 对于数据库实例标识符,请输入目标还原后的数据库实例的名称。

  8. (可选)根据需要选择其他选项,例如启用自动扩展。

  9. 选择还原到时间点

使用命令 restore-db-instance-to-point-in-time Amazon CLI 创建新的数据库实例。

将数据库实例从复制备份还原到指定时间

  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds restore-db-instance-to-point-in-time \ --source-db-instance-automated-backups-arn "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE" \ --target-db-instance-identifier mytargetdbinstance \ --restore-time 2020-10-14T23:45:00.000Z

    对于 Windows:

    aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-automated-backups-arn "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE" ^ --target-db-instance-identifier mytargetdbinstance ^ --restore-time 2020-10-14T23:45:00.000Z

要将数据库实例还原到指定时间,请结合以下参数调用 RestoreDBInstanceToPointInTime Amazon RDS 操作:

  • SourceDBInstanceAutomatedBackupsArn

  • TargetDBInstanceIdentifier

  • RestoreTime

停止自动备份复制

您可以使用 Amazon RDS 控制台停止数据库实例的备份复制。您还可以使用 stop-db-instance-automated-backups-replication Amazon CLI 命令或 StopDBInstanceAutomatedBackupsReplication RDS API 操作。

复制备份已保留,但受创建时设置的备份保留期的限制。

从源区域的自动备份页面停止备份复制。

若要停止向 Amazon 区域的备份复制

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

  2. 区域选择器中选择源区域。

  3. 在导航窗格中,选择 Automated backups (自动备份)

  4. 当前区域选项卡上,选择要停止备份复制的数据库实例。

  5. 对于操作,选择管理跨区域复制

  6. Backup replication (备份复制) 下,清除 Enable replication to another Amazon Region (启用复制到其他 Amazon 区域) 复选框。

  7. 选择 Save

在目标区域中,复制备份在自动备份页面的保留选项卡上列出。

使用 stop-db-instance-automated-backups-replication Amazon CLI 命令停止备份复制。

以下 CLI 示例停止在 美国西部(俄勒冈) 区域中复制数据库实例的自动备份。

如欲停止备份复制

  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds stop-db-instance-automated-backups-replication \ --region us-east-1 \ --source-db-instance-arn "arn:aws-cn:rds:us-west-2:123456789012:db:mydatabase"

    对于 Windows:

    aws rds stop-db-instance-automated-backups-replication ^ --region us-east-1 ^ --source-db-instance-arn "arn:aws-cn:rds:us-west-2:123456789012:db:mydatabase"

使用带以下参数的 StopDBInstanceAutomatedBackupsReplication RDS API 操作停止备份复制:

  • Region

  • SourceDBInstanceArn

删除复制备份

您可以使用 Amazon RDS 控制台删除数据库实例的复制备份。您还可以使用 delete-db-instance-automated-backups Amazon CLI 命令或 DeleteDBInstanceAutomatedBackup RDS API 操作。

自动备份页面中删除目标区域中的复制备份。

如欲删除复制备份

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

  2. 区域选择器中选择目标区域。

  3. 在导航窗格中,选择 Automated backups (自动备份)

  4. 复制备份选项卡上,选择要删除其复制备份的数据库实例。

  5. 对于 Actions,选择 Delete

  6. 在确认页面上,输入 delete me 并选择 Delete (删除)

使用 delete-db-instance-automated-backup Amazon CLI 命令删除复制备份。

您可以使用 describe-db-instances CLI 命令查找复制备份的 Amazon 资源名称 (ARN)。有关更多信息,请参阅 查找有关复制备份的信息

如欲删除复制备份

  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds delete-db-instance-automated-backup \ --db-instance-automated-backups-arn "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"

    对于 Windows:

    aws rds delete-db-instance-automated-backup ^ --db-instance-automated-backups-arn "arn:aws-cn:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"

使用带 DBInstanceAutomatedBackupsArn 参数的 DeleteDBInstanceAutomatedBackup RDS API 操作删除复制备份。