다음 AWS CLI 구성 예제는 Amazon DocumentDB 서버리스 사용을 시작하기 위해 엔진 버전 업그레이드가 필요하지 않은 Amazon DocumentDB 5.0.0을 실행하는 Amazon DocumentDB 프로비저닝 클러스터를 사용하는 마이그레이션 프로세스를 보여줍니다. 클러스터의 이름은 sample이고 sample, sample2, sample3라는 프로비저닝된 인스턴스 3개로 시작합니다. 이 예제에서는 이 세 인스턴스를 세 개의 서버리스 인스턴스로 대체합니다. 클러스터의 이름은 sample-cluster이고, 라이터와 리더 인스턴스인 sample-provisioned-instance-1과 sample-provisioned-instance-2라는 두 개의 프로비저닝된 DB 인스턴스로 시작합니다.
다음은 각각의 사용자 입력 자리 표시자를 자신의 정보 또는 구성 파라미터로 변경하는 예제입니다.
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