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

复制数据库快照

使用此主题中的过程复制数据库快照。有关复制快照的概述,请参阅复制数据库快照或数据库群集快照

如果源数据库引擎为 MariaDB、Microsoft SQL Server、MySQL、Oracle 或 PostgreSQL,则您的快照为数据库快照。如果源数据库引擎是 Aurora,则快照是数据库群集快照。有关如何复制数据库群集快照的说明,请参阅复制数据库群集快照

对于每个 AWS 账户,一次最多可以从一个 AWS 区域向另一个 AWS 区域复制 5 个数据库快照。如果将数据库快照复制到另一个 AWS 区域,可创建保留在该 AWS 区域中的手动数据库快照。从源 AWS 区域复制数据库快照会产生 Amazon RDS 数据传输费。

在新 AWS 区域中创建数据库快照副本后,该数据库快照副本的行为与该 AWS 区域中所有其他数据库快照的行为相同。

AWS 管理控制台

此过程使用 AWS 管理控制台,在相同 AWS 区域中或跨区域复制加密或未加密数据库快照。

复制数据库快照

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

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

  3. 选择要复制的数据库快照。

  4. 选择 Snapshot Actions,然后选择 Copy Snapshot。此时显示 Make Copy of DB Snapshot 页面。

     复制数据库快照
  5. (可选) 要将数据库快照复制到其他 AWS 区域,请对 Destination Region 选择新 AWS 区域。

    注意

    目标 AWS 区域必须具有与源 AWS 区域相同的可用数据库引擎版本。

  6. 对于 New DB Snapshot Identifier,键入数据库快照副本的名称。

  7. (可选) 对于 Target Option Group,选择新选项组。

    如果将快照从一个 AWS 区域复制到另一个 AWS 区域,并且数据库实例使用非默认选项组,则指定此选项。如果源数据库实例为 Oracle 或 Microsoft SQL Server 使用透明数据加密,则在跨区域复制时必须指定此选项。有关更多信息,请参阅 选项组注意事项

  8. (可选) 选择 Copy Tags 将标签和值从快照复制到快照的副本。

  9. (可选) 对于 Enable Encryption,选择下列选项之一:

    • 如果数据库快照未加密,且不需要加密该副本,请选择 No

    • 如果数据库快照未加密,但需要加密该副本,请选择 Yes。在这种情况下,对于 Master Key,请指定用于加密数据库快照副本的 KMS 密钥标识符。

    • 如果数据库快照已加密,请选择 Yes。在这种情况下,必须加密该副本,因此 Yes 为已选中状态。对于 Master Key,指定用于加密数据库快照副本的 KMS 密钥标识符。

  10. 选择 Copy Snapshot.

CLI

您可以使用 AWS CLI 命令 copy-db-snapshot 复制数据库快照。如果要将快照复制到新 AWS 区域,请在新 AWS 区域中运行该命令。

以下选项用于复制数据库快照。并非所有情况下都需要所有选项。使用以下说明和示例来确定要使用的选项。

  • --source-db-snapshot-identifier – 源数据库快照的标识符。

    • 如果源快照与副本位于相同 AWS 区域中,则指定有效的数据库快照标识符。例如:rds:mysql-instance1-snapshot-20130805

    • 如果源快照与副本位于不同 AWS 区域,则指定有效的数据库快照 ARN。例如:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

    • 如果从共享的手动数据库快照进行复制,则此参数必须为共享的数据库快照的 Amazon 资源名称 (ARN)。

    • 如果要复制加密快照,则此参数必须采用源 AWS 区域的 ARN 格式,并且必须匹配 PreSignedUrl 参数中的 SourceDBSnapshotIdentifier

  • --target-db-snapshot-identifier - 加密数据库快照的新副本的标识符。

  • --copy-tags – 包括复制标签选项以将标签和值从快照复制到快照的副本。

  • --option-group-name – 与快照的副本关联的选项组。

    如果将快照从一个 AWS 区域复制到另一个 AWS 区域,并且数据库实例使用非默认选项组,则指定此选项。如果源数据库实例为 Oracle 或 Microsoft SQL Server 使用透明数据加密,则在跨区域复制时必须指定此选项。有关更多信息,请参阅 选项组注意事项

  • --kms-key-id – 加密数据库快照的 AWS KMS 密钥 ID。KMS 密钥 ID 是 Amazon 资源名称 (ARN)、KMS 密钥标识符或 KMS 加密密钥的 KMS 密钥别名。

    • 如果您从 AWS 账户复制加密的数据库快照,则可以为此参数指定值来使用新的 KMS 加密密钥加密副本。如果您不为此参数指定值,则使用与源数据库快照相同的 KMS 密钥来加密数据库快照的副本。

    • 如果您复制从其他 AWS 账户共享的加密数据库快照,则必须为此参数指定值。

    • 如果您在复制未加密快照时指定此参数,则将加密副本。

    • 如果将加密快照复制到不同 AWS 区域,则必须为目标 AWS 区域指定 KMS 密钥。KMS 加密密钥特定于创建它时所在的 AWS 区域,AWS 区域的加密密钥不能用于另一个 AWS 区域。

  • --source-region - 源数据库快照的 AWS 区域的 ID。如果将加密快照复制到不同 AWS 区域,则必须指定此选项。

例 从未加密快照,到相同区域

以下代码使用新名称 mydbsnapshotcopy,在与源快照相同的 AWS 区域中创建快照的副本。创建副本时,原始快照上的所有标签都将复制到快照副本。

针对 Linux、OS X 或 Unix:

Copy
aws rds copy-db-snapshot \ --source-db-snapshot-identifier mysql-instance1-snapshot-20130805 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --copy-tags

对于 Windows:

Copy
aws rds copy-db-snapshot ^ --source-db-snapshot-identifier mysql-instance1-snapshot-20130805 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --copy-tags

例 从未加密快照,跨区域

以下代码使用新名称 mydbsnapshotcopy,在运行命令的 AWS 区域中创建快照的副本。

针对 Linux、OS X 或 Unix:

Copy
aws rds copy-db-snapshot \ --source-db-snapshot-identifier arn:aws-cn:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 \ --target-db-snapshot-identifier mydbsnapshotcopy

对于 Windows:

Copy
aws rds copy-db-snapshot ^ --source-db-snapshot-identifier arn:aws-cn:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 ^ --target-db-snapshot-identifier mydbsnapshotcopy

例 从加密快照,跨区域

以下代码示例将加密的数据库快照从 us-west-2 区域复制到 us-east-1 区域。在 us-east-1 区域中运行命令。

针对 Linux、OS X 或 Unix:

Copy
aws rds copy-db-snapshot \ --source-db-snapshot-identifier arn:aws-cn:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --source-region us-west-2 \ --kms-key-id my-us-east-1-key \ --option-group-name custom-option-group-name

对于 Windows:

Copy
aws rds copy-db-snapshot ^ --source-db-snapshot-identifier arn:aws-cn:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --source-region us-west-2 ^ --kms-key-id my-us-east-1-key ^ --option-group-name custom-option-group-name

API

您可以使用 Amazon RDS API 操作 CopyDBSnapshot 复制数据库快照。如果将快照复制到新 AWS 区域,请在新 AWS 区域中执行操作。

以下参数用于复制数据库快照。并非所有情况下都需要所有参数。使用以下说明和示例来确定要使用的参数。

  • SourceDBSnapshotIdentifier – 源数据库快照的标识符。

    • 如果源快照与副本位于相同 AWS 区域中,则指定有效的数据库快照标识符。例如:rds:mysql-instance1-snapshot-20130805

    • 如果源快照与副本位于不同 AWS 区域,则指定有效的数据库快照 ARN。例如:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

    • 如果从共享的手动数据库快照进行复制,则此参数必须为共享的数据库快照的 Amazon 资源名称 (ARN)。

    • 如果要复制加密快照,则此参数必须采用源 AWS 区域的 ARN 格式,并且必须匹配 PreSignedUrl 参数中的 SourceDBSnapshotIdentifier

  • TargetDBSnapshotIdentifier - 加密数据库快照的新副本的标识符。

  • CopyTags – 将此参数设置为 true 可将标签和值从快照复制到快照的副本。默认为 false

  • OptionGroupName – 与快照的副本关联的选项组。

    如果要将快照从一个 AWS 区域复制到另一个 AWS 区域,并且数据库实例使用非默认选项组,则指定此参数。如果源数据库实例为 Oracle 或 Microsoft SQL Server 使用透明数据加密,则在跨区域复制时必须指定此参数。有关更多信息,请参阅 选项组注意事项

  • KmsKeyId – 加密数据库快照的 AWS KMS 密钥 ID。KMS 密钥 ID 是 Amazon 资源名称 (ARN)、KMS 密钥标识符或 KMS 加密密钥的 KMS 密钥别名。

    • 如果您从 AWS 账户复制加密的数据库快照,则可以为此参数指定值来使用新的 KMS 加密密钥加密副本。如果您不为此参数指定值,则使用与源数据库快照相同的 KMS 密钥来加密数据库快照的副本。

    • 如果您复制从其他 AWS 账户共享的加密数据库快照,则必须为此参数指定值。

    • 如果您在复制未加密快照时指定此参数,则将加密副本。

    • 如果将加密快照复制到不同 AWS 区域,则必须为目标 AWS 区域指定 KMS 密钥。KMS 加密密钥特定于创建它时所在的 AWS 区域,AWS 区域的加密密钥不能用于另一个 AWS 区域。

  • PreSignedUrl - 在包含要复制的源数据库快照的源 AWS 区域中,CopyDBSnapshot API 操作的包含签名版本 4 签名请求的 URL。

    使用 Amazon RDS API 从其他 AWS 区域复制加密数据库快照时,必须指定此参数。使用 AWS CLI 从其他 AWS 区域复制加密数据库快照时,必须指定源区域选项而非此参数。

    预签名 URL 必须是对 CopyDBSnapshot API 操作的有效请求,该操作能够在包含要复制的加密数据库快照的源 AWS 区域中执行。预签名 URL 请求必须包含以下参数值:

    • DestinationRegion - 加密数据库快照将复制到的 AWS 区域。此 AWS 区域与调用包含此预签名 URL 的 CopyDBSnapshot 操作的区域相同。

      例如,如果将加密数据库快照从 us-west-2 区域复制到 us-east-1 区域,则需要在 us-east-1 区域中调用 CopyDBSnapshot 操作,并提供包含对 us-west-2 区域中 CopyDBSnapshot 操作调用的预签名 URL。对于本示例,预签名 URL 中的 DestinationRegion 必须设置为 us-east-1 区域。

    • KmsKeyId - 要用于对目标 AWS 区域中的数据库快照副本进行加密的密钥的 KMS 密钥标识符。这与在目标 AWS 区域中调用的 CopyDBSnapshot 操作以及预签名 URL 中包含的操作的标识符相同。

    • SourceDBSnapshotIdentifier - 要复制的加密快照的数据库快照标识符。此标识符必须采用源 AWS 区域的 Amazon 资源名称 (ARN) 格式。例如,如果您从 us-west-2 区域复制加密数据库快照,则 SourceDBSnapshotIdentifier 应类似于以下实例:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115

    有关签名版本 4 签名请求的更多信息,请参阅:

例 从未加密快照,到相同区域

以下代码使用新名称 mydbsnapshotcopy,在与源快照相同的 AWS 区域中创建快照的副本。创建副本时,原始快照上的所有标签都将复制到快照副本。

Copy
https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBSnapshot &CopyTags=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=mysql-instance1-snapshot-20130805 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2

例 从未加密快照,跨区域

以下代码使用新名称 mydbsnapshotcopy,在 us-west-1 区域中创建快照的副本。

Copy
https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBSnapshot &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-east-1%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20130805 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2

例 从加密快照,跨区域

以下代码使用新名称 mydbsnapshotcopy,在 us-east-1 区域中创建快照的副本。

Copy
https://rds.us-east-1.amazonaws.com/ ?Action=CopyDBSnapshot &KmsKeyId=my-us-east-1-key &OptionGroupName=custom-option-group-name &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCopyDBSnapshot %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBSnapshotIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Asnapshot%25253Amysql-instance1-snapshot-20161115 %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4 %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20161115 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20161117T221704Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf

本页内容: