Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

克隆 Aurora 数据库集群中的数据库

使用数据库克隆,可以快速而经济高效地创建 Aurora 数据库集群中的所有数据库的克隆。克隆数据库在首次创建时只需要很少的额外空间。

数据库克隆使用写入时复制协议,即在源数据库或克隆数据库中发生数据更改时复制数据。您可以多次克隆同一数据库集群。还可以基于其他克隆来创建更多克隆。有关写入时复制协议在 Aurora 存储上下文中工作原理的更多信息,请参阅 数据库克隆的写入时复制协议

您可以在各种使用案例中使用数据库克隆,特别是在您不希望影响生产环境时。以下是一些示例:

  • 测试并评估更改的影响,例如架构更改或参数组更改。

  • 执行工作负载密集型操作,例如导出数据或运行分析查询。

  • 在非生产环境中创建生产数据库集群的副本以进行开发或测试。

限制

数据库克隆涉及到一些限制,如下所述:

  • 不能跨 AWS 区域创建克隆数据库。克隆数据库必须在与源数据库相同的区域中创建。

  • 当前,可基于一个副本创建最多 15 个克隆,包括基于其他克隆的克隆。在超出 15 个之后,只能创建副本。不过,每个副本的克隆数也有最多 15 个的限制。

  • Aurora MySQL 目前不支持跨账户数据库克隆。

  • 目前,无法从没有并行查询功能的集群克隆到启用了并行查询的集群。要将数据传输到使用并行查询的集群,请创建原始集群的快照,并将其还原到启用了并行查询选项的集群。

  • 您可以为克隆提供不同的 Virtual Private Cloud (VPC)。不过,在这些 VPC 中的子网必须映射到同一组可用区。

数据库克隆的写入时复制协议

以下场景说明了写入时复制协议的工作原理。

在克隆数据库之前

源数据库中的数据以页的形式存储。在下图中,源数据库有四个页面。


                     Amazon Aurora 源数据库,在数据库克隆之前

克隆数据库之后

如下图所示,在克隆数据库之后,源数据库中没有更改。源数据库和克隆数据库均指向相同的四个页面。没有物理复制任何页面,因此,无需额外的存储。


                     Amazon Aurora 源数据库和克隆数据库,在数据库克隆之后

源数据库上发生更改时

在下面的示例中,源数据库对 Page 1 中的数据进行了更改。使用额外的存储创建名为 Page 1 的新页,而不是写入原始 Page 1'。源数据库现在指向新 Page 1',也指向Page 2Page 3Page 4。克隆数据库继续指向 Page 1Page 4


                     Amazon Aurora 源数据库和克隆数据库,在源数据库中发生更改后

克隆数据库上发生更改时

在下图中,克隆数据库还进行了一项更改,这次是在 Page 4 中。使用额外的存储创建名为 Page 4 的新页,而不是写入原始 Page 4'。源数据库继续指向 Page 1',以及 Page 2Page 4,但克隆数据库现在指向 Page 1Page 3,以及 Page 4'


                     Amazon Aurora 源数据库和克隆数据库,在克隆数据库上发生更改后

如第二种情况中所示,在数据库克隆之后,创建克隆时无需额外的存储。不过,如第三和第四种情况所示,源数据库和克隆数据库中发生更改之后,将仅创建更改的页面。随着时间推移,当源数据库和克隆数据库上出现了更多更改时,逐渐需要更多存储来捕获和存储更改。

删除源数据库

删除与一个或多个克隆数据库关联的源数据库时,克隆数据库不受影响。克隆数据库继续指向以前由源数据库拥有的页面。

通过 AWS 管理控制台克隆 Aurora 集群

以下过程介绍了如何使用 AWS 管理控制台克隆 Aurora 数据库集群。

这些说明适用于创建克隆的同一 AWS 账户所拥有的数据库集群。如果数据库集群由其他 AWS 账户拥有,请改为参阅跨账户克隆

使用 AWS 管理控制台创建 AWS 账户拥有的数据库集群的克隆

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

  2. 在导航窗格中,选择 Databases (数据库)。选择要为其创建克隆的数据库集群。

  3. 对于 Actions (操作),请选择 Create clone (创建克隆)

  4. Create Clone (创建克隆) 页面上,键入克隆数据库集群的主实例名称作为 DB instance identifier (数据库实例标识符)

    如果需要,设置克隆数据库集群的任何其他设置。有关不同的数据库集群设置的信息,请参阅控制台

  5. 选择 Create Clone (创建克隆) 启动克隆数据库集群。

通过 AWS CLI 克隆 Aurora 集群

以下过程介绍了如何使用 AWS CLI克隆 Aurora 数据库集群。

使用 AWS CLI创建数据库集群的克隆

  • 调用 restore-db-cluster-to-point-in-time AWS CLI 命令并提供以下值:

    • --source-db-cluster-identifier – 要创建克隆的源数据库集群的名称。

    • --db-cluster-identifier – 克隆数据库集群的名称。

    • --restore-type copy-on-write – 指示创建克隆数据库集群的值。

    • --use-latest-restorable-time – 指定使用最近的可还原备份时间。

    以下示例创建名为 sample-source-cluster 的数据库集群的克隆。克隆数据库集群的名称为 sample-cluster-clone

    针对 Linux、OS X 或 Unix:

    aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier sample-source-cluster \ --db-cluster-identifier sample-cluster-clone \ --restore-type copy-on-write \ --use-latest-restorable-time

    对于 Windows:

    aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier sample-source-cluster ^ --db-cluster-identifier sample-cluster-clone ^ --restore-type copy-on-write ^ --use-latest-restorable-time

注意

restore-db-cluster-to-point-in-time AWS CLI 命令仅还原数据库集群,而不还原该数据库集群的数据库实例。您必须调用 create-db-instance 命令为还原的数据库集群创建数据库实例,并在 --db-instance-identifier 中指定还原的数据库集群的标识符。只有在完成 restore-db-cluster-to-point-in-time 命令并且数据库集群可用后,您才能创建数据库实例。

跨账户克隆

利用 Amazon Aurora,您可以与其他 AWS 账户或 AWS 组织共享 Aurora 数据库集群。通过这种方式共享,您可以克隆数据库集群并从其他账户或组织访问克隆。

例如,如果您使用单独的账户进行生产和测试,则可以在测试账户中创建生产数据的克隆。您可以使用此克隆来试验不同的参数并运行成本高昂的联机分析处理 (OLAP) 查询,所有这些操作都不会对生产环境产生影响。您可以让外部公司访问您的数据库,例如,让外部供应商训练机器学习模型。在此类情况下,跨账户克隆比创建和还原数据库快照快得多。

要授权共享,请使用 AWS Resource Access Manager (AWS RAM)。有关通过 AWS RAM 控制访问的更多信息,请参阅AWS RAM 用户指南

创建跨账户克隆需要来自拥有原始集群的 AWS 账户和创建克隆的 AWS 账户的操作。首先,拥有者修改集群以允许一个或多个其他账户克隆它。如果任何账户位于其他 AWS 组织中,则 AWS 会生成共享邀请,而其他账户必须先接受邀请,然后才能继续。之后,每个授权账户便能克隆集群。在整个过程中,集群由其唯一的 Amazon 资源名称 (ARN) 标识。

只有在更改数据时,您才需为额外的存储空间付费。如果删除源集群,则会在剩余的克隆集群中平均分配存储成本。

跨账户克隆的限制

Aurora 跨账户克隆具有以下限制:

  • 无法跨 AWS 账户克隆 Aurora Serverless 集群。

  • 无法跨 AWS 账户克隆 Aurora 全局数据库集群。

  • 查看和接受共享要求需要使用 AWS CLI、Amazon RDS API 或 AWS RAM 控制台。目前,您无法使用 Amazon RDS 控制台执行此过程。

  • 在创建跨账户集群时,您无法为该新集群创建其他克隆或与其他 AWS 账户共享克隆的集群。

  • 对于任何 Aurora 集群,您可以拥有的跨账户克隆的最大数量为 15。

  • 在您与其他 AWS 账户共享集群时,集群必须处于 ACTIVE 状态。

  • 在与其他 AWS 账户共享 Aurora 集群时,无法重命名该集群。

  • 您无法创建使用默认 RDS 密钥加密的集群的跨账户克隆。

  • 当与您共享加密的集群时,您必须加密克隆的集群。您使用的密钥可以与原始集群的加密密钥不同。集群拥有者还必须向您授予访问原始集群的 AWS Key Management Service (AWS KMS) 密钥的权限。

运行其他 AWS 账户克隆您的集群

要允许其他 AWS 账户克隆您拥有的集群,请使用 AWS RAM 设置共享权限。这样做还会向位于其他 AWS 组织中的所有其他账户发送邀请。

有关在 AWS RAM 控制台中共享您拥有的资源的过程,请参阅《AWS RAM 用户指南》中的共享您拥有的资源

向其他 AWS 账户授予克隆集群的权限

如果您共享的集群已加密,则您还可以共享集群的客户主密钥 (CMK)。您可以允许一个 AWS 账户中的 AWS Identity and Access Management (IAM) 用户或角色使用其他账户中的 CMK。为此,您首先通过 AWS KMS 将外部账户(根用户)添加到 CMK 的密钥策略中。您不能将单个 IAM 用户或角色添加到密钥策略中,只有外部账户才能拥有这些用户或角色。您只能共享您创建的 CMK,而不能共享默认 RDS 服务密钥。有关 CMK 的访问控制的信息,请参阅 AWS KMS 的身份验证和访问控制

控制台

使用 AWS 管理控制台授予克隆集群的权限

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

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择要共享的数据库集群以查看其 Details (详细信息) 页面,并选择 Connectivity & security (连接和安全性) 选项卡。

  4. Share DB cluster with other AWS accounts (与其他 AWS 账户共享数据库集群) 部分中,输入要允许克隆此集群的 AWS 账户的数字账户 ID。对于同一组织中的账户 ID,您可以开始在框中键入,然后从菜单中选择。

    重要

    在某些情况下,您可能需要使用一个不在您的账户所在的 AWS 组织中的账户来克隆集群。在这些情况下,出于安全原因,AWS 管理控制台不会报告谁拥有账户 ID 或该账户是否存在。

    请小心输入不在您的 AWS 账户所在的 AWS 组织中的账号。立即验证您是否与目标账户共享。

  5. 在确认页面上,验证您指定的账户 ID 是否正确。在确认框中输入 share 以进行确认。

    Details (详细信息) 页面上,Accounts that this DB cluster is shared with (此数据库集群与之共享的账户) 下显示一个条目,该条目显示指定的 AWS 账户 ID。Status (状态) 列最初显示 Pending (待处理) 状态。

  6. 联系另一个 AWS 账户的拥有者,或者如果您同时拥有这两个账户,则登录到该账户。指示其他账户的拥有者接受共享邀请并克隆数据库集群,如下所述。

AWS CLI

使用 AWS CLI 授予克隆集群的权限

  1. 收集所需参数的信息。您需要集群的 ARN 和其他 AWS 账户的数字 ID。

  2. 运行 RAM CLI 命令 create-resource-share

    针对 Linux、OS X 或 Unix:

    aws ram create-resource-share --name descriptive_name \ --region region \ --resource-arns cluster_arn \ --principals other_account_ids

    对于 Windows:

    aws ram create-resource-share --name descriptive_name ^ --region region ^ --resource-arns cluster_arn ^ --principals other_account_ids

    要包含 --principals 参数的多个账户 ID,请用空格将各个 ID 分隔开。要指定允许的账户 ID 是否能位于 AWS 组织外部,请包含 create-resource-share--allow-external-principals--no-allow-external-principals 参数。

RAM API

使用 RAM API 授予克隆集群的权限

  1. 收集所需参数的信息。您需要集群的 ARN 和其他 AWS 账户的数字 ID。

  2. 调用 RAM API 操作 CreateResourceShare,并指定以下值:

    • 指定一个或多个 AWS 账户的账户 ID 作为 principals 参数。

    • 指定一个或多个 Aurora 数据库集群的 ARN 作为 resourceArns 参数。

    • 通过包含 allowExternalPrincipals 参数的布尔值来指定允许的账户 ID 是否能位于 AWS 组织外部。

重新创建使用默认 RDS 密钥的集群

重新创建使用默认 RDS 密钥的加密集群

如果要共享的加密集群使用默认 RDS 密钥,您必须使用客户主密钥 (CMK) 重新创建它,并改为共享新的集群。您可以通过创建数据库集群的手动快照并将其还原到新的集群来实现这一点。使用以下步骤。

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

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

  3. 选择您的快照。

  4. 对于 Actions (操作),选择 Copy Snapshot (复制快照),然后选择 Enable encryption (启用加密)

  5. 对于 Master key (主密钥),选择要使用的新加密密钥。

  6. 还原复制的快照。为此,请按照从数据库集群快照还原中的过程进行操作。新数据库实例使用新的加密密钥。

  7. (可选)如果您不再需要旧的数据库集群,请将其删除。为此,请按照删除数据库集群快照中的过程进行操作。在这样做之前,请确认您的新集群拥有所有必要的数据,并且您的应用程序能够成功地访问该数据。

检查是否与其他 AWS 账户共享您拥有的集群

您可以检查其他用户是否有权共享集群。这样做可以帮助您了解集群是否正在接近跨账户克隆的最大数量限制。

有关使用 AWS RAM 控制台共享资源的过程,请参阅 AWS RAM 用户指南 中的共享您拥有的资源

AWS CLI

使用 AWS CLI 查明是否与其他 AWS 账户共享您拥有的集群

  • 调用 RAM CLI 命令 list-principals,将账户 ID 用作资源拥有者,并将集群 ARN 用作资源 ARN。可使用以下命令来查看所有共享。结果指示允许哪些 AWS 账户克隆集群。

    aws ram list-principals \ --resource-arns your_cluster_arn \ --principals your_aws_id
RAM API

使用 RAM API 查明是否与其他 AWS 账户共享您拥有的集群

  • 调用 RAM API 操作 ListPrincipals。将账户 ID 用作资源拥有者,并将集群 ARN 用作资源 ARN。

克隆另一个 AWS 账户拥有的集群

要克隆另一个 AWS 账户拥有的集群,请使用 AWS RAM 获取创建克隆的权限。在获得必需权限后,可使用克隆 Aurora 集群的标准过程。

您还可以检查您拥有的集群是否为其他 AWS 账户拥有的集群的克隆。

有关在 AWS RAM 控制台中使用其他账户拥有的资源的过程,请参阅 AWS RAM 用户指南 中的访问与您共享的资源

查看克隆其他 AWS 账户拥有的集群的邀请

要处理克隆其他 AWS 组织中的 AWS 账户拥有的集群的邀请,请使用 AWS CLI、AWS RAM 控制台或 AWS RAM API。目前,您无法使用 Amazon RDS 控制台执行此过程。

有关在 AWS RAM 控制台中使用其他账户拥有的资源的过程,请参阅 AWS RAM 用户指南 中的访问与您共享的资源

AWS CLI

查看使用 AWS CLI 克隆其他 AWS 账户拥有的集群的邀请

  1. 运行 RAM CLI 命令 get-resource-share-invitations

    aws ram get-resource-share-invitations --region region_name

    上述命令的结果显示所有克隆集群的邀请,包括您已接受或拒绝的任何邀请。

  2. (可选)筛选列表,以便仅查看需要您执行操作的邀请。为此,请添加参数 --query 'resourceShareInvitations[?status==`PENDING`]'

RAM API

查看使用 RAM API 克隆其他 AWS 账户拥有的集群的邀请

  1. 调用 RAM API 操作 GetResourceShareInvitations。此操作返回所有此类邀请,包括您已接受或拒绝的任何邀请。

  2. (可选)通过在 resourceShareAssociations 返回字段中检查 statusPENDING,仅查找需要您执行操作的邀请。

接受共享其他 AWS 账户拥有的集群的邀请

您可以接受共享其他 AWS 组织中的其他 AWS 账户拥有的集群的邀请。要处理这些邀请,请使用 AWS CLI、RAM 和 RDS API 或 RAM 控制台。目前,您无法使用 RDS 控制台执行此过程。

有关在 AWS RAM 控制台中使用其他账户拥有的资源的过程,请参阅《AWS RAM 用户指南》中的访问与您共享的资源

控制台

接受使用 AWS CLI 共享来自其他 AWS 账户的集群的邀请

  1. 通过运行 RAM CLI 命令 get-resource-share-invitations 查找邀请 ARN,如上所示。

  2. 通过调用 RAM CLI 命令 accept-resource-share-invitation 接受邀请,如下所示。

    针对 Linux、OS X 或 Unix:

    aws ram accept-resource-share-invitation \ --resource-share-invitation-arn invitation_arn \ --region region

    对于 Windows:

    aws ram accept-resource-share-invitation ^ --resource-share-invitation-arn invitation_arn ^ --region region
RAM 和 RDS API

接受使用 RAM 和 RDS API 共享某人的集群的邀请

  1. 通过调用 RAM API 操作 GetResourceShareInvitations 查找邀请 ARN,如上所示。

  2. 将 ARN 作为 resourceShareInvitationArn 参数传递到 RDS API 操作 AcceptResourceShareInvitation

克隆另一个 AWS 账户拥有的 Aurora 集群

接受来自拥有数据库集群的 AWS 账户的邀请后(如上所示),您可以克隆集群。

控制台

使用 AWS 管理控制台克隆另一个 AWS 账户拥有的 Aurora 集群

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

  2. 在导航窗格中,选择 Databases (数据库)

    在数据库列表的顶部,您应看到一个或多个 Role (角色) 值为 Shared from account #account_id 的项。出于安全原因,您只能看到有关原始集群的有限信息。您可以看到的属性是数据库引擎和版本等属性,这些属性在克隆的集群中必须相同。

  3. 选择您打算克隆的集群。

  4. 对于 Actions (操作),选择 Create clone (创建克隆)

  5. 按照通过 AWS 管理控制台克隆 Aurora 集群中的过程进行操作以完成对克隆集群的设置。

  6. 根据需要,为克隆的集群启用加密。如果要克隆的集群已加密,则必须为克隆的集群启用加密。与您共享集群的 AWS 账户还必须共享用于加密集群的 KMS 密钥。您可以使用相同的密钥加密克隆,也可以使用您自己的客户主密钥 (CMK) 加密克隆。无法为使用默认 RDS 密钥加密的集群创建跨账户克隆。

    拥有加密密钥的账户必须通过使用密钥策略来向目标账户授予密钥的使用权限。此过程类似于共享加密快照的方式,使用密钥策略来向目标账户授予密钥的使用权限。

AWS CLI

使用 AWS CLI 克隆另一个 AWS 账户拥有的 Aurora 集群

  1. 接受来自拥有数据库集群的 AWS 账户的邀请,如上所示。

  2. 通过在 RDS CLI 命令 restore-db-cluster-to-point-in-timesource-db-cluster-identifier 参数中指定源集群的完整 ARN 来克隆集群,如下所示。

    如果未共享作为 source-db-cluster-identifier 传递的 ARN,则返回相同的错误,就像指定的集群不存在一样。

    针对 Linux、OS X 或 Unix:

    aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier=arn:aws:rds:arn_details \ --db-cluster-identifier=new_cluster_id \ --restore-type=copy-on-write \ --use-latest-restorable-time

    对于 Windows:

    aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier=arn:aws:rds:arn_details ^ --db-cluster-identifier=new_cluster_id ^ --restore-type=copy-on-write ^ --use-latest-restorable-time
  3. 如果要克隆的集群已加密,请通过包含 kms-key-id 参数来加密克隆的集群。此 kms-key-id 值可以是用于加密原始数据库集群的值,也可以是您自己的客户主密钥 (CMK)。您的账户必须具有使用该加密密钥的权限。

    针对 Linux、OS X 或 Unix:

    aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier=arn:aws:rds:arn_details \ --db-cluster-identifier=new_cluster_id \ --restore-type=copy-on-write \ --use-latest-restorable-time \ --kms-key-id=arn:aws:kms:arn_details

    对于 Windows:

    aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier=arn:aws:rds:arn_details ^ --db-cluster-identifier=new_cluster_id ^ --restore-type=copy-on-write ^ --use-latest-restorable-time ^ --kms-key-id=arn:aws:kms:arn_details

    拥有加密密钥的账户必须通过使用密钥策略来向目标账户授予密钥的使用权限。此过程类似于共享加密快照的方式,使用密钥策略来向目标账户授予密钥的使用权限。下面是密钥策略的示例。

    { "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }
RDS API

使用 RDS API 克隆另一个 AWS 账户拥有的 Aurora 集群

  1. 接受来自拥有数据库集群的 AWS 账户的邀请,如上所示。

  2. 通过在 RDS API 操作 RestoreDBClusterToPointInTimeSourceDBClusterIdentifier 参数中指定源集群的完整 ARN 来克隆集群。

    如果未共享作为 SourceDBClusterIdentifier 传递的 ARN,则返回相同的错误,就像指定的集群不存在一样。

  3. 如果要克隆的集群已加密,请包含 KmsKeyId 参数以加密克隆的集群。此 kms-key-id 值可以是用于加密原始数据库集群的值,也可以是您自己的客户主密钥 (CMK)。您的账户必须具有使用该加密密钥的权限。

    在克隆卷时,目标账户必须具有使用用于加密源集群的加密密钥的权限。Aurora 使用 KmsKeyId 中指定的加密密钥来加密新克隆的集群。

    拥有加密密钥的账户必须通过使用密钥策略来向目标账户授予密钥的使用权限。此过程类似于共享加密快照的方式,使用密钥策略来向目标账户授予密钥的使用权限。下面是密钥策略的示例。

    { "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }

检查数据库集群是否为跨账户克隆

DBClusters 对象标识每个集群是否是跨账户克隆。在运行 RDS CLI 命令 describe-db-clusters 时,可使用 include-shared 选项查看您有权克隆的集群。但是,您看不到此类集群的大部分配置详细信息。

AWS CLI

使用 AWS CLI 检查数据库集群是否为跨账户克隆

  • 调用 RDS CLI 命令 describe-db-clusters

    以下示例说明实际或潜在的跨账户克隆数据库集群在 describe-db-clusters 输出中的显示方式。对于您的 AWS 账户现在拥有的集群,CrossAccountClone 字段指示集群是否为另一个 AWS 账户拥有的数据库集群的克隆。

    在某些情况下,条目具有的 AWS 账号可能与您在 DBClusterArn 字段中的 AWS 账号不同。在此情况下,该条目表示由其他 AWS 账户拥有且可克隆的集群。此类条目仅具有 DBClusterArn 字段。在创建克隆的集群时,指定与原始集群中相同的 StorageEncryptedEngineEngineVersion 值。

    $ aws rds describe-db-clusters --include-shared --region us-east-1 { "DBClusters": [ { "EarliestRestorableTime": "2019-05-01T21:17:54.106Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": false, ... }, { "EarliestRestorableTime": "2019-04-09T16:01:07.398Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": true, ... }, { "StorageEncrypted": false, "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh", "Engine": "aurora", "EngineVersion": "5.6.10a", } ] }
RDS API

使用 RDS API 检查数据库集群是否为跨账户克隆

  • 调用 RDS API 操作 DescribeDBClusters

    对于您的 AWS 账户现在拥有的集群,CrossAccountClone 字段指示集群是否为另一个 AWS 账户拥有的数据库集群的克隆。在 DBClusterArn 字段中具有其他 AWS 账号的条目表示其他 AWS 账户拥有且可克隆的集群。这些条目仅具有 DBClusterArn 字段。在创建克隆的集群时,指定与原始集群中相同的 StorageEncryptedEngineEngineVersion 值。

    以下示例显示一个返回值,该值说明了实际和潜在的克隆的集群。

    { "DBClusters": [ { "EarliestRestorableTime": "2019-05-01T21:17:54.106Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": false, ... }, { "EarliestRestorableTime": "2019-04-09T16:01:07.398Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": true, ... }, { "StorageEncrypted": false, "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh", "Engine": "aurora", "EngineVersion": "5.6.10a" } ] }