将自动备份复制到其他 AWS 区域 - Amazon Relational Database Service

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

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

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

有关使用备份复制的示例,请参阅 AWS 在线技术研讨会:使用 Amazon RDS for Oracle 跨区域自动备份的托管式灾难恢复

注意

多可用区数据库集群不支持自动备份复制。

区域和版本可用性

功能可用性和支持因每个数据库引擎的特定版本以及 AWS 区域而异。有关跨区域自动备份的版本和区域可用性的更多信息,请参阅跨区域自动备份

源和目标 AWS 区域 支持

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

源区域 可用目标区域
Asia Pacific (Mumbai)

亚太地区(新加坡)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)

亚太地区(大阪) 亚太区域(东京)
亚太地区 (首尔)

亚太地区(新加坡)、亚太地区(东京)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)

亚太地区(新加坡)

亚太地区(孟买)、亚太地区(首尔)、亚太地区(悉尼)、亚太地区(东京)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)

亚太地区(悉尼)

亚太地区(新加坡)

美国东部(弗吉尼亚北部)、美国西部(加利福尼亚北部)、美国西部(俄勒冈)

亚太区域(东京)

亚太地区(大阪)、亚太地区(首尔)、亚太地区(新加坡)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)

加拿大 (中部)

欧洲(爱尔兰)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(加利福尼亚北部)、美国西部(俄勒冈)

中国(北京) 中国(宁夏)
中国(宁夏) 中国(北京)
欧洲地区(法兰克福)

欧洲(爱尔兰)、欧洲(伦敦)、欧洲(巴黎)、欧洲(斯德哥尔摩)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)

欧洲(爱尔兰)

加拿大 (中部)

欧洲(法兰克福)、欧洲(伦敦)、欧洲(巴黎)、欧洲(斯德哥尔摩)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(加利福尼亚北部)、美国西部(俄勒冈)

欧洲(伦敦)

欧洲(法兰克福)、欧洲(爱尔兰)、欧洲(巴黎)、欧洲(斯德哥尔摩)

美国东部(弗吉尼亚北部)

欧洲(巴黎)

欧洲(法兰克福)、欧洲(伦敦)、欧洲(巴黎)、欧洲(斯德哥尔摩)

美国东部(弗吉尼亚北部)

Europe (Stockholm)

欧洲(法兰克福)、欧洲(伦敦)、欧洲(巴黎)、欧洲(斯德哥尔摩)

美国东部(弗吉尼亚北部)

南美洲(圣保罗) 美国东部(弗吉尼亚北部)、美国东部(俄亥俄)
AWS GovCloud(美国东部) AWS GovCloud(美国西部)
AWS GovCloud(美国西部) AWS GovCloud(美国东部)
美国东部(弗吉尼亚北部)

亚太地区(孟买)、亚太地区(首尔)、亚太地区(悉尼)、亚太地区(东京)

Canada (Central)

欧洲(法兰克福)、欧洲(伦敦)、欧洲(巴黎)、欧洲(斯德哥尔摩)

南美洲(圣保罗)

美国东部(弗吉尼亚北部)、美国西部(加利福尼亚北部)、美国西部(俄勒冈)

US East (Ohio)

亚太地区(孟买)、亚太地区(首尔)、亚太地区(悉尼)、亚太地区(东京)

Canada (Central)

欧洲(法兰克福)、欧洲(爱尔兰)

南美洲(圣保罗)

美国东部(弗吉尼亚北部)、美国西部(加利福尼亚北部)、美国西部(俄勒冈)

美国西部(加利福尼亚北部)

亚太地区(悉尼)

加拿大(中部)

欧洲(爱尔兰)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)

美国西部(俄勒冈)

亚太地区(孟买)、亚太地区(首尔)、亚太地区(悉尼)、亚太地区(东京)

Canada (Central)

欧洲(法兰克福)、欧洲(爱尔兰)

美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(加利福尼亚北部)

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

启用跨区域自动备份

您可以使用 Amazon RDS 控制台对的或现有的数据库实例启用备份复制。您还可以使用 start-db-instance-automated-backups-replication AWS CLI 命令或 StartDBInstanceAutomatedBackupsReplication RDS API 操作。对于每个 AWS 区域,您可以将多达 20 个备份复制到每个目标 AWS 账户。

注意

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

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

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

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

如欲为现有数据库实例启用备份复制
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

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

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

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

  6. 选择目标区域

  7. 选择复制备份保留期

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

  9. 选择保存

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

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

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

如欲启用备份复制
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

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

    对于 Windows:

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

    在 AWS GovCloud(美国东部)和 AWS GovCloud(美国西部)区域之间加密备份时需要 --source-region 选项。对于 --source-region,指定源数据库实例的 AWS 区域。

    如果未指定 --source-region,请务必指定 --pre-signed-url 值。预签名 URL 包含签名版本 4 签名的请求,该请求用于在源 start-db-instance-automated-backups-replication中调用的 AWS 区域 命令。要了解有关 pre-signed-url 选项的更多信息,请参阅《AWS CLI 命令参考》中的 start-db-instance-automated-backups-replication

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

  • Region

  • SourceDBInstanceArn

  • BackupRetentionPeriod

  • KmsKeyId(可选)

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

注意

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

查找有关复制备份的信息

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

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

如欲显示有关源区域的信息
  • 运行以下命令。

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

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

{ "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: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

输出显示了 美国西部(俄勒冈) 中的源数据库实例和自动备份,且备份已复制到 US East (N. Virginia)。

{ "DBInstanceAutomatedBackups": [ { "DBInstanceArn": "arn:aws:rds:us-west-2:868710585169:db:mydatabase", "DbiResourceId": "db-L2IJCEXJP7XQ7HOJ4SIEXAMPLE", "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-west-2:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE", "BackupRetentionPeriod": 7, "DBInstanceAutomatedBackupsReplications": [{"DBInstanceAutomatedBackupsArn": "arn:aws: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:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"

    对于 Windows:

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

输出显示了 美国西部(俄勒冈) 中的源数据库实例,以及 US East (N. Virginia) 中的复制备份。

{ "DBInstanceAutomatedBackups": [ { "DBInstanceArn": "arn:aws:rds:us-west-2:868710585169:db:mydatabase", "DbiResourceId": "db-L2IJCEXJP7XQ7HOJ4SIEXAMPLE", "DBInstanceAutomatedBackupsArn": "arn:aws: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 AWS CLI 命令或 RestoreDBInstanceToPointInTime RDS API 操作。

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

注意

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

将数据库实例从复制备份还原到指定时间
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/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 AWS CLI 创建新的数据库实例。

将数据库实例从复制备份还原到指定时间
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds restore-db-instance-to-point-in-time \ --source-db-instance-automated-backups-arn "arn:aws: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: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 AWS CLI 命令或 StopDBInstanceAutomatedBackupsReplication RDS API 操作。

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

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

停止向 AWS 区域的备份复制
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

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

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

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

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

  7. 选择保存

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

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

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

如欲停止备份复制
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds stop-db-instance-automated-backups-replication \ --region us-east-1 \ --source-db-instance-arn "arn:aws: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:rds:us-west-2:123456789012:db:mydatabase"

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

  • Region

  • SourceDBInstanceArn

删除复制备份

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

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

如欲删除复制备份
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

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

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

  5. 对于 Actions (操作),选择 Delete (删除)

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

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

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

如欲删除复制备份
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

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

    对于 Windows:

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

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