以下 Amazon CLI 配置示例显示了使用运行 Amazon DocumentDB 5.0.0 的 Amazon DocumentDB 预配置集群的迁移过程,该集群不需要升级引擎版本即可开始使用 DocumentDB 无服务器。集群名为sample,并以三个名为sample、sample2和的预配置实例开头。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-1和sample-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