以下 AWS 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