기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon DocumentDB Serverless 규모 조정 구성
주제
DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택
Amazon DocumentDB 클러스터에 DocumentDB Serverless 인스턴스를 추가하려면 이에 앞서 클러스터에 ServerlessV2ScalingConfiguration 파라미터 세트도 있어야 합니다.
ServerlessV2ScalingConfiguration 파라미터는 클러스터 내 모든 서버리스 인스턴스의 서버리스 규모 조정 용량 범위를 정의하는 두 가지 값으로 구성됩니다.
MinCapacity- 클러스터 내에서 DocumentDB Serverless 인스턴스의 최소 규모 조정 용량입니다.MaxCapacity- 클러스터 내에서 DocumentDB Serverless 인스턴스의 최대 규모 조정 용량입니다.
DocumentDB Serverless 클러스터에 대한 MinCapacity 설정 선택
항상 MinCapacity에 0.5를 선택하는 것이 매력적으로 보입니다. 이 값을 사용하면 인스턴스가 완전히 유휴 상태일 때 활성 상태로 유지하면서도 최소 용량으로 스케일 다운할 수 있기 때문입니다. 그러나 해당 클러스터를 사용하는 방법과 구성하는 기타 설정에 따라 가장 효과적인 최소 용량은 다를 수도 있습니다. 최소 용량 설정을 선택할 때는 다음 요소를 고려하세요.
DocumentDB Serverless 인스턴스의 규모 조정 비율은 현재 용량에 따라 다릅니다. 현재 용량이 높을수록 더 빠르게 확장할 수 있습니다. 인스턴스를 매우 높은 용량으로 빠르게 스케일 업해야 하는 경우 규모 조정 속도가 요구 사항을 충족하는 값으로 최소 용량을 설정하는 것이 좋습니다.
일반적으로 특히 높거나 낮은 워크로드를 예상하여 인스턴스의 인스턴스 클래스를 수정하는 경우 해당 경험을 사용하여 동등한 DocumentDB Serverless 용량 범위를 대략적으로 추정할 수 있습니다. 프로비저닝된 Amazon DocumentDB 인스턴스 유형의 메모리 크기를 확인하려면 인스턴스 제한 섹션을 참조하세요.
예를 들어 클러스터의 워크로드가 낮은 경우
db.r6g.xlarge인스턴스 클래스를 사용한다고 가정해보겠습니다. 해당 인스턴스 클래스에는 32GiB의 메모리가 있습니다. 따라서MinCapacity를 16으로 지정하여 거의 동일한 용량으로 스케일 다운할 수 있는 서버리스 인스턴스를 설정할 수 있습니다. 이는 각 DCU가 약 2GiB의 메모리에 해당하기 때문입니다.db.r6g.xlarge인스턴스가 때때로 충분히 활용되지 않는 경우에 대비하여 인스턴스가 더 스케일 다운되도록 약간 더 낮은 값을 지정할 수 있습니다.인스턴스의 버퍼 캐시에 일정량의 데이터가 있을 때 애플리케이션이 가장 효율적으로 작동하는 경우 메모리가 자주 액세스하는 데이터를 저장할 수 있을 만큼 충분히 큰 최소 DCU 설정을 지정하는 것이 좋습니다. 그렇지 않으면 서버리스 인스턴스가 더 낮은 메모리 크기로 스케일 다운될 때 버퍼 캐시에서 일부 데이터가 제거됩니다. 그런 다음 인스턴스가 다시 스케일 업되면 시간이 지남에 따라 정보가 버퍼 캐시로 다시 읽혀집니다. 데이터를 버퍼 캐시로 다시 가져오기 위한 I/O 양이 많은 경우 최소 DCU 값을 높이는 것이 더 효과적일 수 있습니다. 자세한 내용은 인스턴스 크기 조정 단원을 참조하십시오.
DocumentDB 인스턴스가 대부분 특정 용량에서 실행되는 경우 해당 기준보다 낮으면서도 너무 모자라지는 않는 최소 용량 설정을 지정하는 것이 좋습니다. 서버리스 인스턴스는 현재 용량이 필요한 용량보다 크게 낮지 않은 경우 스케일 업할 양과 속도를 가장 효과적으로 추정할 수 있습니다.
프로비저닝된 워크로드에 T3 또는 T4g와 같은 소규모 인스턴스 클래스에 비해 너무 높은 메모리 요구 사항이 있는 경우 R5 또는 R6g 인스턴스에 필적하는 메모리를 제공하는 최소 DCU 설정을 선택합니다.
특히 지정된 기능과 함께 사용하려면 다음과 같은 최소
MinCapacity를 권장합니다(이 권장 사항은 변경될 수 있음).성능 개선 도우미- 2 DCU
Amazon DocumentDB에서 복제는 스토리지 계층에서 발생하므로 리더 용량은 복제에 직접적인 영향을 미치지 않습니다. 그러나 독립적으로 규모가 조정되는 DocumentDB Serverless 리더 인스턴스의 경우, 쿼리 지연 시간을 방지하기 위해 쓰기 집약적인 기간 동안 워크로드를 처리하기에 최소 용량이 충분한지 확인합니다. 승격 티어 2~15의 리더 인스턴스에 성능 문제가 발생하는 경우 클러스터의 최소 용량을 늘리는 것이 좋습니다. 리더 인스턴스 규모가 라이터와 함께 또는 독자적으로 조정되는지를 변경하는 방법에 대한 자세한 내용은 서버리스 리더의 승격 계층 보기 및 수정 섹션을 참조하세요.
DocumentDB Serverless 리더 인스턴스가 있는 클러스터가 있는 경우, 리더의 승격 티어가 0 또는 1이 아니면 리더는 라이터 인스턴스와 함께 조정되지 않습니다. 이 경우 최소 용량을 낮게 설정하면 과도한 복제 지연이 발생할 수 있습니다. 데이터베이스가 사용 중일 때 리더의 용량이 라이터의 변경 사항을 적용하기에 충분하지 않을 수 있기 때문입니다. 최소 용량을 라이터 인스턴스와 비슷한 메모리 및 CPU 용량을 나타내는 값으로 설정하는 것이 좋습니다.
DocumentDB Serverless 인스턴스가 최소 용량에서 최대 용량으로 조정되는 데 걸리는 시간은 최소 DCU 값과 최대 DCU 값의 차이에 따라 다릅니다. 인스턴스의 현재 용량이 클 때 DocumentDB Serverless는 인스턴스가 작은 용량에서 시작할 때보다 더 큰 증분으로 스케일 업합니다. 따라서 상대적으로 큰 최대 용량을 지정하고 인스턴스가 해당 용량 근처에서 대부분의 시간을 보내는 경우 최소 DCU 설정을 높이는 것이 좋습니다. 이렇게 하면 유휴 인스턴스가 더 빠르게 최대 용량까지 다시 스케일 업할 수 있습니다.
연결 제한, 커서 제한, 미결 트랜잭션 제한과 같은 특정 인스턴스 제한은 서버리스 인스턴스의 현재 용량에 따라 결정됩니다. 인스턴스의 현재 용량이 작으면 그에 따라 제한도 작아집니다. 서버리스 인스턴스를
MinCapacity값으로 스케일 다운할 때 이러한 제한이 문제가 되는 경우 더 높은 값으로MinCapacity를 늘리는 것이 좋습니다. 자세한 내용은 Amazon DocumentDB Serverless 인스턴스 제한 단원을 참조하십시오.또한
MinCapacity가 1.0DCU 이하로 설정되면 활성 연결 제한, 커서 제한, 미결 트랜잭션 제한과 같은 특정 인스턴스 제한이 더 낮은 최대값으로 한정됩니다. 이러한 한정된 제한이 워크로드에 충분하지 않은 경우 1.5DCU 이상의MinCapacity값을 사용합니다. 자세한 내용은 Amazon DocumentDB Serverless 인스턴스 제한 단원을 참조하십시오.
클러스터의 규모 조정 구성을 수정하는 방법에 대한 지침은 Amazon DocumentDB Serverless 관리 섹션을 참조하세요.
DocumentDB Serverless 클러스터에 대한 MaxCapacity 설정 선택
최대 DocumentDB Serverless 용량 설정에 대해 항상 높은 값을 선택하는 것이 좋습니다. 최대 용량이 크면 인스턴스가 집약적인 워크로드를 실행할 때 가장 많이 스케일 업할 수 있습니다. 낮은 값은 예기치 않은 요금의 가능성을 방지합니다. 해당 클러스터를 사용하는 방법과 구성하는 기타 설정에 따라 가장 효과적인 값은 원래 생각했던 것보다 높거나 낮을 수 있습니다. 최대 용량 설정을 선택할 때는 다음 요소를 고려하세요.
최대 용량은 최소 용량보다는 커야 합니다. 최대 및 최소 용량은 동일하게 설정할 수 있습니다. 그러나 이 경우 용량은 절대 확장하거나 축소되지 않습니다. 따라서 최소 및 최대 용량에 대해 동일한 값을 사용하는 것은 테스트 상황 외에는 적절하지 않습니다.
최대 용량은 최소 1.0DCU여야 하며 최대 256DCU여야 합니다.
서버리스 인스턴스의 규모 조정 및 리소스 사용량을 모니터링하는 것이 좋습니다. 서버리스 인스턴스가 최대 용량으로 자주 조정되고 리소스 제약 조건에 도달하는 경우(예: 지표가
DCUUtilization100.0인 경우) 더 높은MaxCapacity값을 선택하는 것이 좋습니다. 자세한 내용은 Amazon DocumentDB Serverless 모니터링 단원을 참조하십시오.일반적으로 특히 높거나 낮은 워크로드를 예상하여 프로비저닝된 인스턴스의 인스턴스 클래스를 수정하는 경우 해당 경험을 사용하여 동등한 DocumentDB Serverless 용량 범위를 추정할 수 있습니다. 프로비저닝된 Amazon DocumentDB 인스턴스의 메모리 크기를 확인하려면 인스턴스 제한 섹션을 참조하세요.
예를 들어 클러스터의 워크로드가 높은 경우
db.r6g.4xlarge인스턴스 클래스를 사용한다고 가정해보겠습니다. 해당 인스턴스 클래스에는 128GiB의 메모리가 있습니다. 따라서 최대 DCU 설정을 64로 지정하여 거의 동일한 용량으로 스케일 업할 수 있는 서버리스 인스턴스를 설정할 수 있습니다. 이는 각 DCU가 약 2GiB의 메모리에 해당하기 때문입니다.db.r6g.4xlarge인스턴스에 워크로드를 효과적으로 처리할 수 있는 용량이 충분하지 않은 경우에 대비하여 인스턴스를 더 스케일 업할 수 있도록 다소 높은 값을 지정할 수 있습니다.데이터베이스 사용량에 대한 예산 상한이 있는 경우 모든 서버리스 인스턴스가 항상 최대 용량으로 실행되더라도 해당 상한 내에서 유지되는 값을 선택하세요. 클러스터에 n개의 서버리스 인스턴스가 있는 경우 클러스터가 언제든지 사용할 수 있는 이론상 최대 서버리스 용량은 n에 클러스터의 최대 DCU 설정을 곱한 것입니다. (예를 들어 일부 리더가 라이터와 독자적으로 확장하는 경우 실제 소비량은 더 적을 수 있습니다.)
서버리스 리더 인스턴스를 사용하여 라이터 인스턴스에서 읽기 전용 워크로드의 일부를 오프로드하는 경우 더 낮은 최대 용량 설정을 선택할 수 있습니다. 클러스터에 단일 인스턴스만 포함되어 있는 것처럼 각 리더 인스턴스를 높게 조정할 필요가 없음을 반영하기 위해 이 작업을 수행합니다.
애플리케이션에서 잘못 구성된 데이터베이스 파라미터터 또는 비효율적인 쿼리로 인한 과도한 사용을 방지하는 경우를 가정해 보겠습니다. 이 경우 설정할 수 있는 절대 최대값보다 낮은 최대 용량 설정을 선택하여 우발적인 남용을 방지할 수 있습니다.
실제 사용자 활동으로 인한 스파이크가 드물지만 발생하는 경우 최대 용량 설정을 선택할 때 이러한 경우를 고려할 수 있습니다. 애플리케이션이 전체 성능과 확장성을 유지하여 계속 실행하는 것이 우선 순위인 경우 정상 사용에서 관찰되는 것보다 더 높은 최대 용량 설정을 지정할 수 있습니다. 활동이 극도로 급증하는 동안 애플리케이션이 감소된 처리량으로 실행되는 것이 괜찮다면 약간 더 낮은 최대 용량 설정을 선택할 수 있습니다. 애플리케이션을 계속 실행하기에 충분한 메모리와 CPU 리소스가 있는 설정을 선택했는지 확인하세요.
클러스터에서 각 인스턴스의 메모리 사용량을 늘리는 설정을 켜면 최대 DCU 값을 결정할 때 해당 메모리를 고려합니다. 이러한 설정에는 성능 개선 도우미에 대한 설정이 포함됩니다. 최대 DCU 값이 서버리스 인스턴스가 해당 기능이 사용 중일 때 워크로드를 처리할 수 있을 만큼 충분히 스케일 업할 수 있도록 허용하는지 확인하세요. 낮은 최대 DCU 설정과 메모리 오버헤드를 부과하는 Amazon DocumentDB 기능의 조합으로 인해 발생하는 문제 해결에 대한 정보는 아래의 메모리 부족 오류 방지 섹션을 참조하세요.
특히 지정된 기능과 함께 사용하려면 다음과 같은 최소
MaxCapacity를 권장합니다(이 권장 사항은 변경될 수 있음).큰 데이터 볼륨이 있는 클러스터에서 서버리스 인스턴스 생성 - 2DCU(클러스터 복원의 일부인 서버리스 인스턴스 생성 포함)
연결 제한, 커서 제한, 미결 트랜잭션 제한과 같은 특정 인스턴스 제한은 인스턴스의 현재 용량에 따라 결정됩니다. 워크로드에
MaxCapacity값을 선택할 때는 이러한 제한 중 하나에 의해 병목 현상이 발생하지 않도록 이러한 인스턴스 제한을 염두에 두어야 합니다. 자세한 내용은 Amazon DocumentDB Serverless 인스턴스 제한 단원을 참조하십시오.
클러스터의 규모 조정 구성을 수정하는 방법에 대한 지침은 Amazon DocumentDB Serverless 관리 섹션을 참조하세요.
메모리 부족 오류 방지
DocumentDB Serverless 인스턴스 중 하나가 지속적으로 최대 용량 한도에 도달하는 경우 Amazon DocumentDB는 인스턴스를 incompatible-parameters 상태로 설정하여 이 조건을 나타냅니다. 인스턴스가 incompatible-parameters 상태인 동안에는 일부 작업이 차단됩니다. 예를 들어 엔진 버전을 업그레이드할 수 없습니다. Amazon DocumentDB 인스턴스의 상태에 대한 자세한 내용은 Amazon DocumentDB 인스턴스 상태 모니터링을 참조하세요.
일반적으로 메모리 부족 오류로 인해 인스턴스가 자주 다시 시작되면 이 상태가 됩니다. Amazon DocumentDB는 이러한 유형의 재시작이 발생할 때 이벤트를 기록합니다. 리소스 이벤트를 보려면 Amazon DocumentDB 이벤트 보기 섹션을 참조하세요. 성능 개선 도우미와 같은 설정을 켜서 발생하는 오버헤드로 인해 비정상적으로 높은 메모리 사용량이 발생할 수 있습니다. 또한 인스턴스의 과중한 워크로드 또는 많은 수의 스키마 객체와 연결된 메타데이터 관리로 인해 발생할 수 있습니다.
메모리 압력이 낮아져 인스턴스가 최대 용량에 자주 도달하지 않는 경우 Amazon DocumentDB는 자동으로 인스턴스 상태를 다시 사용 가능 상태로 변경합니다.
이 조건에서 복구하려면 다음 작업 중 일부 또는 전부를 수행할 수 있습니다.
클러스터의 최소 DocumentDB 용량 단위(DCU) 값을 변경하여 서버리스 인스턴스의 용량 하한을 늘립니다. 이렇게 하면 유휴 데이터베이스가 클러스터에서 켜진 기능에 필요한 것보다 적은 메모리를 가진 용량으로 축소되는 문제를 피할 수 있습니다. 클러스터의 DCU 설정을 변경한 후 서버리스 인스턴스를 재부팅합니다. 이렇게 하면 Amazon DocumentDB가 상태를 다시 사용 가능으로 재설정할 수 있는지 여부를 평가합니다.
클러스터의 최대 DCU 값을 변경하여 서버리스 인스턴스의 용량 상한을 늘립니다. 이렇게 하면 사용량이 많은 데이터베이스가 클러스터 및 데이터베이스 워크로드에서 켜진 기능을 위한 충분한 메모리로 용량을 확장할 수 없는 문제를 피할 수 있습니다. 클러스터의 DCU 설정을 변경한 후 서버리스 인스턴스를 재부팅합니다. 이렇게 하면 Amazon DocumentDB가 상태를 다시 사용 가능으로 재설정할 수 있는지 여부를 평가합니다.
메모리 오버헤드가 필요한 구성 설정을 끕니다. 예를 들어 성능 개선 도우미와 같은 기능이 켜져 있지만 사용하지 않는다고 가정해보겠습니다. 이 경우 해당 기능을 끌 수 있습니다. 또는 클러스터의 최소 및 최대 용량 값을 더 높게 조정하여 그러한 유형의 기능에서 사용하는 메모리를 고려할 수 있습니다. 최소 및 최대 용량 설정 선택에 대한 지침은 DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택 페이지를 참조하세요.
인스턴스의 워크로드를 줄입니다. 예를 들어 클러스터에 리더 인스턴스를 추가하여 읽기 전용 쿼리의 로드를 더 많은 인스턴스에 분산할 수 있습니다.
서버리스 인스턴스가 스케일 다운되지 않는 이유는 무엇인가요?
데이터베이스에 로드가 없는데도 DocumentDB serverless가 최소값으로 스케일 다운되지 않는 경우가 있습니다. 원인은 다음과 같습니다.
성능 개선 도우미는 리소스 사용량을 늘리고, 데이터베이스가 최소 용량으로 스케일 다운되는 것을 방지할 수 있습니다. 이러한 특성은 다음과 같습니다.
리더 인스턴스가 최소 용량으로 스케일 다운되지 않고 라이터 인스턴스와 같거나 더 높은 용량을 유지하는 경우, 리더 인스턴스의 우선 순위 등급을 확인합니다. 티어 0 또는 1의 DocumentDB Serverless 리더 인스턴스는 최소한 라이터 인스턴스만큼 높은 최소 용량으로 유지됩니다. 리더의 우선 순위 등급을 2 이상으로 변경하여 라이터와 별개로 크기를 늘리거나 줄이십시오. 자세한 내용은 Amazon DocumentDB Serverless 규모 조정 단원을 참조하십시오.
데이터베이스 워크로드가 많으면 리소스 사용량이 증가할 수 있습니다.
데이터베이스 볼륨이 크면 리소스 사용량이 증가할 수 있습니다. Amazon DocumentDB는 클러스터 관리에 메모리와 CPU 리소스를 사용합니다. 데이터베이스 볼륨이 큰 클러스터를 관리하려면 Amazon DocumentDB에 더 많은 CPU와 메모리가 필요합니다. 클러스터의 최소 용량이 클러스터 관리에 필요한 최소 용량보다 작으면 클러스터가 최소 용량으로 스케일 다운되지 않습니다.
백그라운드 유지 관리 활동은 주기적으로 리소스 사용량을 늘릴 수 있습니다.
그래도 데이터베이스가 구성된 최소 용량까지 축소되지 않는다면, 데이터베이스를 중지하고 다시 시작하여 시간이 지남에 따라 형성된 메모리 조각을 회수하십시오. 데이터베이스를 중지하고 다시 시작하면 다운타임이 발생하므로 이 작업은 최소한으로 수행하는 것이 좋습니다.