迁移到 Amazon DocumentDB 无服务器 - Amazon DocumentDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

迁移到 Amazon DocumentDB 无服务器

将现有 DocumentDB 集群迁移到无服务器集群

升级集群的引擎版本

如果您的预配置集群运行的是不支持 DocumentDB 无服务器的较低引擎版本,则需要先将集群升级到支持的引擎版本。有关更多信息,请参阅 Amazon DocumentDB 主版本就地升级

将已配置的集群迁移到 DocumentDB 无服务器

要将已配置的集群切换为使用 DocumentDB 无服务器,请按照以下步骤操作:

  1. 检查是否需要升级已配置集群的引擎版本才能与 DocumentDB 无服务器一起使用。请参阅DocumentDB 无服务器的要求和限制

    注意

    如果已配置集群运行的引擎版本不适用于 DocumentDB 无服务器,请升级集群的引擎版本。请参阅Amazon DocumentDB 主版本就地升级

  2. 配置集群的扩缩配置。有关选择扩展配置的详细信息,请参阅为 DocumentDB 无服务器集群选择扩展容量范围。要修改集群的扩展配置,请参阅查看和修改集群的扩展容量范围配置

  3. 配置任何其他集群属性以考虑 DocumentDB 的无服务器要求和限制。DocumentDB 无服务器的要求和限制

  4. 向集群添加一个或多个 DocumentDB 无服务器实例。按照添加亚马逊文档数据库无服务器实例中的程序操作。

    注意

    在某些情况下,您的集群中可能已经有一个或多个预配置的读取器实例。如果是,您可以选择将其中一个读取器转换为 DocumentDB 无服务器实例,而不必创建新实例。为此,请按照更改实例的类中的过程操作

  5. (可选)执行故障转移操作,使 DocumentDB 无服务器实例成为集群写入器。请参阅Amazon DocumentDB 失效转移

  6. (可选)将所有剩余的预配置 Amazon DocumentDB 实例转换为 DocumentDB 无服务器实例(更改实例的类参见)或将其从集群中移除(参见)。删除 Amazon DocumentDB 实例

Using the AWS 管理控制台

以下 AWS 管理控制台 配置示例显示了使用运行 Amazon DocumentDB 5.0.0 的 Amazon DocumentDB 预配置集群的迁移过程,该集群不需要升级引擎版本即可开始使用 DocumentDB 无服务器。集群名为sample,并以三个名为samplesample2和的预配置实例开头。sample3在此示例中,这三个实例将替换为三个无服务器实例。

  1. 登录 AWS 管理控制台 并打开 Amazon DocumentDB 控制台。

  2. 在导航窗格中,选择集群

    提示

    如果您在屏幕左侧没有看到导航窗格,请在页面左上角选择菜单图标 (Hamburger menu icon with three horizontal lines.)。

    此时将出现 “聚类” 表。

  3. 在 “集群” 表中,选中要向其中添加无服务器实例的集群的复选框。

  4. 选择 Actions (操作),然后选择 Add instance (添加实例)

  5. 添加实例对话框中,为要创建的每个新的无服务器实例选择数据库实例类部分的无服务器。

  6. 对于无服务器容量设置,请根据对话框中的容量描述设置扩展配置。

  7. (可选)要添加其他实例,请选择添加实例。继续添加实例,直到达到所需的新实例数量。

    在此示例中,创建了三个新的无服务器实例。

  8. 选择创建

    创建实例需要几分钟时间。您可以使用控制台或 AWS CLI 查看实例的状态。有关更多信息,请参阅监控 Amazon DocumentDB 集群的状态。

  9. 返回 Cl ust ers 表,选中所有三个原始预配置实例的复选框。

  10. 选择操作,然后选择删除

在删除过程中,系统会自动执行故障转移,将剩余的实例之一提升为写入器。几分钟后,删除过程就完成了。现有集群现在包含三个 DocumentDB 无服务器实例(在 “大小” 列中定义)。

Using the AWS CLI

以下 AWS CLI 配置示例显示了使用运行 Amazon DocumentDB 5.0.0 的 Amazon DocumentDB 预配置集群的迁移过程,该集群不需要升级引擎版本即可开始使用 DocumentDB 无服务器。集群名为sample,并以三个名为samplesample2和的预配置实例开头。sample3在此示例中,这三个实例将替换为三个无服务器实例。集群名为sample-cluster,并以两个名sample-provisioned-instance-1为和的预配置实例开头sample-provisioned-instance-2,一个写入器实例和一个读取器实例。

在以下示例中,user input placeholder使用您自己的信息或配置参数替换每个示例。

使用该aws docdb describe-db-clusters操作来确定集群的状态。以下代码查找集群的状态sample-cluster并将结果输出到表中:

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers' \ --output table
-------------------------------------------------------------------------------------------------------- | DescribeDBClusters | +--------------------------------+---------------------------------+------------------+----------------+ | DBClusterParameterGroupStatus | DBInstanceIdentifier | IsClusterWriter | PromotionTier | +--------------------------------+---------------------------------+------------------+----------------+ | in-sync | sample-provisioned-instance-2 | False | 1 | | in-sync | sample-provisioned-instance-1 | True | 1 | +--------------------------------+---------------------------------+------------------+----------------+

为集群添加扩展配置:

aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16

添加无服务器实例。在此示例中,添加了名为sample-serverless-instance-1sample-serverless-instance-2的新无服务器实例:

aws docdb create-db-instance \ --db-cluster-identifier sample-cluster \ --db-instance-identifier sample-serverless-instance-1 \ --db-instance-class db.serverless \ --engine docdb aws docdb create-db-instance \ --db-cluster-identifier sample-cluster \ --db-instance-identifier sample-serverless-instance-2 \ --db-instance-class db.serverless \ --engine docdb

输入以下内容,等待无服务器实例可用后再继续:

aws docdb wait db-instance-available \ --db-instance-identifier sample-serverless-instance-1 aws docdb wait db-instance-available \ --db-instance-identifier sample-serverless-instance-2

执行故障转移以使新sample-serverless-instance-1实例成为集群写入器:

aws docdb failover-db-cluster \ --db-cluster-identifier sample-cluster \ --target-db-instance-identifier sample-serverless-instance-1

故障转移需要几秒钟才能完成,之后 sample-serverless-instance -1 成为集群写入器。使用以下输入进行验证:

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers' \ --output table
-------------------------------------------------------------------------------------------------------- | DescribeDBClusters | +--------------------------------+---------------------------------+------------------+----------------+ | DBClusterParameterGroupStatus | DBInstanceIdentifier | IsClusterWriter | PromotionTier | +--------------------------------+---------------------------------+------------------+----------------+ | in-sync | sample-provisioned-instance-2 | False | 1 | | in-sync | sample-provisioned-instance-1 | False | 1 | | in-sync | sample-serverless-instance-2 | False | 1 | | in-sync | sample-serverless-instance-1 | True | 1 | +--------------------------------+---------------------------------+------------------+----------------+

最后,删除原始的预配置实例:

aws docdb delete-db-instance \ --db-instance-identifier sample-provisioned-instance-1 aws docdb delete-db-instance \ --db-instance-identifier sample-provisioned-instance-2

从 MongoDB 迁移到文档数据库无服务器

您可以将 MongoDB 数据库迁移到无服务器的 DocumentDB,就像使用预配置的 Amazon DocumentDB 一样。有关更多信息,请参阅 迁移到 Amazon DocumentDB