

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon DocumentDB Serverless 사용
<a name="docdb-serverless"></a>

Amazon DocumentDB Serverless는 애플리케이션 수요에 따라 Amazon DocumentDB 데이터베이스의 용량을 동적으로 조정하는 프로세스를 자동화하는 온디맨드 오토 스케일링 구성입니다. 클러스터가 사용하는 리소스에 대해서만 청구됩니다. 따라서 DocumentDB Serverless는 예산 범위를 벗어나지 않도록 하고 사용하지 않는 컴퓨터 리소스에 대한 비용을 지불하지 않도록 하는 데 도움이 됩니다.

이러한 유형의 자동화는 멀티테넌트 데이터베이스, 분산 데이터베이스, 개발 및 테스트 시스템과 같이 매우 가변적이고 예측할 수 없는 워크로드가 있는 환경에 특히 유용합니다.

**Topics**
+ [서버리스 사용 사례](#docdb-serverless-use-cases)
+ [Amazon DocumentDB Serverless의 장점](#docdb-serverless-advantages)
+ [Serverless의 작동 방식](docdb-serverless-how-it-works.md)
+ [Serverless 요구 사항 및 제한 사항](docdb-serverless-limitations.md)
+ [Serverless를 사용하는 클러스터 생성](docdb-serverless-create-cluster.md)
+ [서버리스로 마이그레이션](docdb-serverless-migrating.md)
+ [Serverless 관리](docdb-serverless-managing.md)
+ [서버리스 인스턴스 제한](docdb-serverless-instance-limits.md)
+ [서버리스 규모 조정 구성](docdb-serverless-scaling-config.md)
+ [Serverless 모니터링](docdb-serverless-monitoring.md)

## DocumentDB Serverless 사용 사례
<a name="docdb-serverless-use-cases"></a>

Amazon DocumentDB 프로비저닝 클러스터와 DocumentDB Serverless는 개발 및 테스트 환경부터 높은 확장성과 가용성이 요구되는 가장 까다로운 비즈니스 크리티컬 애플리케이션에 이르기까지 다양한 유형의 데이터베이스 워크로드를 지원합니다. 그러나 DocumentDB Serverless는 고객의 워크로드에 또 다른 차원, 즉 예측할 수 없는 워크로드를 가진 웹 사이트 및 애플리케이션을 지원하는 능력을 더해줍니다.

DocumentDB Serverless는 다음과 같은 사용 사례에 특히 유용합니다.
+ **가변 워크로드** - 작업의 증가가 갑작스럽고 예측할 수 없는 워크로드를 실행하고 있는 경우입니다. 비가 내리기 시작하면 활동이 급증하는 트래픽 사이트를 예로 들 수 있습니다. 또 다른 하나는 세일 또는 특별 프로모션을 제공할 때 트래픽이 증가하는 전자 상거래 사이트입니다. DocumentDB Serverless를 사용하면 애플리케이션의 피크 로드를 처리하는 데 필요한 용량을 충족하도록 데이터베이스가 용량을 자동으로 확장하고 활동이 급증하는 시점이 지나면 용량을 다시 줄입니다. DocumentDB Serverless를 사용하면 더 이상 피크 또는 평균 용량에 맞추어 프로비저닝하지 않아도 됩니다. 최악의 상황을 처리하기 위해 용량 상한을 지정할 수 있으며, 필요한 경우가 아니면 그 용량이 사용되지 않습니다.
  + DocumentDB Serverless의 세분화된 스케일링 덕분에 데이터베이스 요구 사항과 용량을 매우 비슷하게 일치시키는 데 도움이 됩니다. 프로비저닝된 클러스터의 경우 확장하려면 완전히 새로운 인스턴스를 추가해야 합니다. DocumentDB Serverless는 약간 더 많은 용량만 필요할 때 절반의 DCU를 추가할 수 있습니다. 워크로드의 증가를 처리하는 데 필요한 추가 용량에 따라 ACU의 0.5, 1, 1.5, 2와 같이 0.5 단위로 DCU를 추가할 수 있습니다. 또한 워크로드가 감소하고 용량이 더 이상 필요하지 않을 때 0.5, 1, 1.5, 2와 같이 0.5 단위로 DCU를 제거할 수 있습니다.
+ **멀티태넌트 애플리케이션** - DocumentDB Serverless를 사용하면 플릿에서 각 애플리케이션에 대한 데이터베이스 용량을 개별적으로 관리할 필요가 없습니다. DocumentDB Serverless는 사용자를 대신해 개별 데이터베이스 용량을 관리합니다.
  + 테넌트별로 클러스터를 생성할 수 있습니다. 이렇게 하면 복제나 스냅샷 복구와 같은 기능을 사용하여 각 테넌트에 적합하도록 고가용성 및 재해 복구를 향상시킬 수 있습니다.
  + 각 테넌트는 하루 중 시간, 연중 시기, 프로모션 이벤트 등에 따라 바쁜 기간과 유휴 기간이 있을 수 있습니다. 각 클러스터는 용량 범위가 넓을 수 있습니다. 따라서 활동이 적은 클러스터는 인스턴스 요금이 최소화됩니다. 어느 클러스터든 높은 활동 기간을 처리하도록 빠르게 확장할 수 있습니다.
+ **새 애플리케이션** - 새 애플리케이션을 배포하는 중인데, 필요한 인스턴스 크기를 잘 모릅니다. DocumentDB Serverless를 사용하면 인스턴스를 하나 이상 사용하여 클러스터를 설정하고 애플리케이션의 필요 용량에 따라 데이터베이스의 크기를 자동으로 조정할 수 있습니다.
+ **혼용 애플리케이션** - 온라인 트랜잭션 처리(OLTP) 애플리케이션이 있지만 쿼리 트래픽이 주기적으로 급증한다고 가정하겠습니다. 클러스터에서 DocumentDB Serverles에 대한 승격 티어를 지정하면 리더 인스턴스가 라이터 인스턴스와 독립적으로 조정되어 추가 로드를 처리할 수 있도록 클러스터를 구성할 수 있습니다. 사용량이 줄어들면 리더 인스턴스는 라이터 인스턴스의 용량에 맞게 스케일 다운됩니다.
+ **용량 계획** - 클러스터에 있는 모든 인스턴스의 인스턴스 클래스를 수정하여 일반적으로 데이터베이스 용량을 조정하거나 워크로드에 가장 적합한 데이터베이스 용량을 확인한다고 가정해 보겠습니다. DocumentDB Serverless를 사용하면 이런 관리 오버헤드 발생을 방지할 수 있습니다. 워크로드를 실행하고 인스턴스가 실제로 얼마나 조정되는지 확인하여 적절한 최소 및 최대 용량을 결정할 수 있습니다.
  + 기존 인스턴스를 프로비저닝된 인스턴스에서 DocumentDB Serverless로 또는 DocumentDB Serverless에서 프로비저닝된 인스턴스로 수정할 수 있습니다. 이런 경우 새 클러스터나 새 인스턴스를 생성할 필요가 없습니다.
+ **개발 및 테스트** - 가장 까다로운 애플리케이션을 실행하는 것 외에도 개발 및 테스트 환경에 DocumentDB Serverless를 사용할 수 있습니다. DocumentDB Serverless를 사용하면 버스트 가능한 db.t\$1 인스턴스 클래스를 사용하는 대신 최소 용량이 낮은 인스턴스를 생성할 수 있습니다. 최대 용량을 충분히 높게 설정하여 해당 인스턴스에서 메모리가 부족하지 않게 상당한 워크로드를 실행할 수 있습니다. 데이터베이스를 사용하지 않을 때는 불필요한 요금을 피하기 위해 모든 인스턴스가 스케일 다운됩니다.

### 기존 프로비저닝된 워크로드에 Amazon DocumentDB Serverless 사용
<a name="docdb-serverles-provisioned-workloads"></a>

프로비저닝된 클러스터에서 이미 DocumentDB 애플리케이션이 실행 중이라고 가정합시다. 기존 클러스터에 리더 인스턴스로 하나 이상의 DocumentDB Serverless 인스턴스를 추가하여 애플리케이션이 DocumentDB Serverless와 어떻게 작동하는지 확인할 수 있습니다. 리더 인스턴스가 얼마나 자주 스케일 업 및 스케일 다운되는지 확인할 수 있습니다. DocumentDB 장애 조치 메커니즘을 사용하여 DocumentDB Serverless 인스턴스가 라이터가 되도록 승격하고 읽기/쓰기 워크로드를 어떻게 처리하는지 확인합니다. 그러면 클라이언트 애플리케이션이 사용하는 엔드포인트를 변경하지 않고도 가동 중지 시간을 최소화하면서 전환할 수 있습니다. 기존 클러스터를 DocumentDB Serverless로 변환하는 절차에 대한 자세한 내용은 [Amazon DocumentDB Serverless로 마이그레이션](docdb-serverless-migrating.md) 섹션을 참조하세요.

## Amazon DocumentDB Serverless의 장점
<a name="docdb-serverless-advantages"></a>

DocumentDB Serverless는 가변 또는 “급증” 워크로드를 위한 것입니다. 예측할 수 없는 워크로드로 인해 데이터베이스 용량을 변경하는 시기를 계획하는 데 어려움이 있을 수 있습니다. 또한 인스턴스 추가 또는 인스턴스 클래스 변경과 같은 익숙한 메커니즘을 사용하여 용량을 빠르게 변경하는 데 문제가 있을 수 있습니다. DocumentDB Serverless는 이러한 사용 사례에 도움이 되도록 다음과 같은 이점을 제공합니다.
+ **프로비저닝된 클러스터보다 간편한 용량 관리** - DocumentDB Serverless를 사용하면 워크로드 변경에 따라 인스턴스 크기를 계획하고 인스턴스의 크기를 조정하기 위한 노력이 줄어듭니다. 또한 클러스터에 속한 모든 인스턴스에 일관된 용량을 유지하기 위한 노력도 줄여줍니다.
+ **활동이 많은 기간 동안 더 빠르고 쉽게 조정** - DocumentDB Serverless는 클라이언트 트랜잭션이나 전체 워크로드에 영향을 주지 않고 필요에 따라 컴퓨팅 및 메모리 용량을 조정합니다. 리더 인스턴스를 DocumentDB Serverless와 함께 사용할 수 있으므로 수직적 스케일링뿐만 아니라 수평적 스케일링도 활용할 수 있습니다. DocumentDB 글로벌 클러스터를 사용할 수 있다는 것은 DocumentDB 서버리스 읽기 워크로드를 여러에 분산할 수 있음을 의미합니다 AWS 리전. 이 기능은 프로비저닝된 클러스터의 크기 조정 메커니즘보다 편리합니다.
+ **활동이 적은 기간 동안의 비용 효율성** - DocumentDB Serverless는 인스턴스의 과다 프로비저닝을 방지하는 데 도움을 줍니다. DocumentDB Serverless는 인스턴스를 스케일 업할 때 리소스를 세분화된 단위로 추가합니다. 사용한 데이터베이스 리소스에 대해서만 요금을 지불합니다. DocumentDB Serverless 리소스 사용량은 초 단위로 측정됩니다. 따라서 인스턴스가 스케일 다운되면 리소스 사용량 감소가 즉시 등록됩니다.
+ **프로비저닝과 동등한 기능 패리티** - DocumentDB Serverless에서 모든 DocumentDB 기능을 사용할 수 있습니다. 예를 들어 DocumentDB 서버리스에서는 리더 인스턴스, AWS Identity and Access Management (IAM) 데이터베이스 인증 및 성능 개선 도우미를 사용할 수 있습니다.

  특히 DocumentDB Serverless를 사용하면 프로비저닝된 클러스터로부터 다음과 같은 기능을 활용할 수 있습니다.
  + **리더 인스턴스** - DocumentDB Serverless는 리더 인스턴스를 활용하여 수평으로 조정할 수 있습니다. 클러스터에 하나 이상의 리더 DB 인스턴스가 포함된 경우 라이터 DB 인스턴스에 문제가 발생하면 클러스터가 즉시 장애 조치를 할 수 있습니다.
  + **Multi-AZ 클러스터** - 한 클러스터의 DocumentDB Serverless 인스턴스를 여러 개의 가용 영역(AZ)에 배포할 수 있습니다. 다중 AZ 클러스터를 설정하면 드물게 전체 AZ에 영향을 주는 경우가 발생해도 비즈니스 연속성을 보장할 수 있습니다.
  + **글로벌 클러스터 **- DocumentDB 서버리스를 DocumentDB 글로벌 클러스터와 함께 사용하여 재해 복구를 AWS 리전 위해 다른에 클러스터의 읽기 전용 복사본을 추가로 생성할 수 있습니다.

# Amazon DocumentDB Serverless 작동 방식
<a name="docdb-serverless-how-it-works"></a>

**Topics**
+ [개요](#docdb-serverlerss-overviewn)
+ [Amazon DocumentDB 클러스터에 대한 구성](#docdb-serverlerss-configuration)
+ [Amazon DocumentDB Serverless 규모 조정 용량](#docdb-serverless-scaling-capacity)
+ [Amazon DocumentDB Serverless 규모 조정](#docdb-serverless-scaling)
+ [유휴 상태(0.5DCU)](#docdb-serverlerss-idle-state)

## 개요
<a name="docdb-serverlerss-overviewn"></a>

Amazon DocumentDB Serverless는 가장 까다롭고 매우 가변적인 워크로드에 적합합니다. 예를 들어 데이터베이스 사용량이 짧은 시간 동안 높게 나타나고 오랜 시간 동안 작업이 적거나 전혀 작업이 없을 수 있습니다. 정기 프로모션 이벤트를 진행하는 소매점, 게임 또는 스포츠 웹 사이트와 필요한 경우 보고서를 생성하는 데이터베이스가 예로 들 수 있습니다. 이외에도 개발 및 테스트 환경과 사용량이 빠르게 증가할 수 있는 새로운 애플리케이션도 있습니다. 이 경우와 다른 많은 경우에는 프로비저닝된 모델에서 용량을 미리 적절하게 구성하지 못할 수도 있습니다. 또한 초과 프로비저닝하여 사용하지 않는 용량이 있는 경우 비용이 더 많이 발생할 수 있습니다.

대조적으로, DocumentDB 프로비저닝된 클러스터는 안정적인 워크로드에 적합합니다. 프로비저닝된 클러스터에서는 미리 정의된 메모리 양, CPU 성능, I/O 대역폭 등이 있는 인스턴스 클래스를 선택합니다. 워크로드가 변경되면 라이터 및 리더의 인스턴스 클래스를 수동으로 수정합니다. 프로비저닝된 모델은 예상 소비 패턴에 앞서 용량을 조정할 수 있는 경우에 적합하며 클러스터에서 라이터 및 리더의 인스턴스 클래스를 변경하는 동안 발생하는 잠시 중단을 허용할 때 잘 작동합니다.

DocumentDB Serverless는 처음부터 즉시 확장 가능한 Serverless 클러스터를 지원하도록 설계되었습니다. DocumentDB Serverless는 프로비저닝된 라이터 및 리더와 동일한 수준의 보안 및 격리를 제공하도록 설계되었습니다. 이러한 측면은 멀티테넌트 서버리스 클라우드 환경에서 매우 중요합니다. 동적 크기 조정 메커니즘은 오버헤드가 매우 적기 때문에 데이터베이스 워크로드의 변화에 신속하게 대응할 수 있습니다. 또한 처리 수요의 급격한 증가에 대응할 수 있을 만큼 강력합니다.

DocumentDB Serverless를 사용하면 각 라이터 및 리더에 대한 특정 데이터베이스 용량에 얽매이지 않고 DocumentDB 클러스터를 생성할 수 있습니다. 최소 및 최대 용량 범위만 지정합니다. DocumentDB는 해당 용량 범위 내에서 클러스터에 있는 각 DocumentDB Serverless 라이터 또는 리더를 조정합니다. 각 라이터 또는 리더가 동적으로 확장할 수 있는 다중 AZ 클러스터를 사용하면 동적 확장 및 고가용성을 활용할 수 있습니다.

DocumentDB Serverless는 최소 및 최대 용량 사양에 따라 데이터베이스 리소스의 크기를 자동으로 조정합니다. 대부분의 크기 조정 이벤트 작업은 라이터 또는 리더를 동일한 호스트에 유지하기 때문에 확장이 빠릅니다. 드문 경우이지만 DocumentDB Serverless 라이터 또는 리더가 한 호스트에서 다른 호스트로 이동하는 경우 DocumentDB Serverless가 연결을 자동으로 관리합니다. 데이터베이스 클라이언트 애플리케이션 코드나 데이터베이스 연결 문자열을 변경할 필요가 없습니다.

DocumentDB Serverless의 경우 프로비저닝된 클러스터와 마찬가지로 스토리지 용량과 컴퓨팅 용량이 분리됩니다. DocumentDB Serverless 용량 및 규모 조정을 언급할 때 항상 컴퓨팅 용량이 증가하거나 감소하는 것을 의미합니다. 따라서 CPU 및 메모리 용량이 낮은 수준으로 축소되더라도 클러스터에 수 테라바이트의 데이터가 포함될 수 있습니다.

데이터베이스 서버를 프로비저닝 및 관리하는 대신 데이터베이스 용량을 지정합니다. 각 DocumentDB Serverless 라이터 또는 리더의 실제 용량은 워크로드를 바탕으로 시간이 지남에 따라 달라집니다. 이러한 메커니즘에 대한 자세한 내용은 [Amazon DocumentDB Serverless 규모 조정](#docdb-serverless-scaling)의 내용을 참조하세요.

## Amazon DocumentDB 클러스터에 대한 구성
<a name="docdb-serverlerss-configuration"></a>

각 DocumentDB Serverless 클러스터에 대해 DocumentDB Serverless 용량 또는 프로비저닝된 용량을 선택하거나 두 가지 모두를 조합해서 선택할 수 있습니다.

혼합 구성 클러스터라고 하는 DocumentDB Serverless 및 프로비저닝된 용량을 모두 포함하는 클러스터를 설정할 수 있습니다. 예를 들어, DocumentDB Serverless 라이터에서 사용할 수 있는 것보다 많은 읽기/쓰기 용량이 필요하다고 가정하겠습니다. 이 경우 대규모로 프로비저닝된 라이터를 사용하여 클러스터를 설정할 수 있습니다. 그런 다음 리더에 DocumentDB Serverless를 계속 사용할 수 있습니다. 또는 클러스터의 쓰기 워크로드는 다양하지만 읽기 워크로드는 일정하다고 가정합니다. 이 경우 DocumentDB Serverless 라이터와 하나 이상의 프로비저닝된 리더로 클러스터를 설정할 수 있습니다.

모든 용량을 DocumentDB Serverless에서 관리하는 클러스터를 설정할 수도 있습니다. 이렇게 하려면 새 클러스터를 생성하고 처음부터 DocumentDB Serverless를 사용할 수 있습니다. 또는 기존 클러스터에서 프로비저닝된 모든 용량을 DocumentDB Serverless로 교체할 수 있습니다. DocumentDB Serverless로 새 클러스터를 생성하거나 기존 클러스터를 DocumentDB Serverless로 전환하는 절차는 [Amazon DocumentDB Serverless를 사용하는 클러스터 생성](docdb-serverless-create-cluster.md) 및 [Amazon DocumentDB Serverless로 마이그레이션](docdb-serverless-migrating.md)의 내용을 참조하세요.

클러스터에서 DocumentDB Serverless를 전혀 사용하지 않으면 클러스터의 모든 라이터와 리더가 프로비저닝됩니다. 이것은 대부분의 사용자에게 친숙하고 가장 일반적인 클러스터입니다. 프로비저닝된 용량은 일정합니다. 요금은 비교적 쉽게 예측할 수 있습니다. 그러나 얼마나 많은 용량이 필요한지는 미리 예측해야 합니다. 경우에 따라 예측이 부정확하거나 용량 요구 사항이 변경될 수 있습니다. 이러한 경우 클러스터가 언더프로비저닝(기대치보다 더 느림) 또는 오버프로비저닝(기대치보다 더 비쌈)될 수 있습니다.

## Amazon DocumentDB Serverless 규모 조정 용량
<a name="docdb-serverless-scaling-capacity"></a>

Amazon DocumentDB Serverless의 측정 단위는 DocumentDB 용량 단위(DCU)입니다. DocumentDB Serverless 조정 용량은 프로비저닝된 클러스터에 사용하는 인스턴스 클래스에 종속되지 않습니다.

각 DCU는 약 2기가바이트(GB)의 메모리로 해당 CPU 및 네트워킹의 합한 용량입니다. 이 측정 단위를 사용하여 데이터베이스 용량 범위를 지정합니다. `ServerlessDatabaseCapacity` 및 `DCUUtilization` CloudWatch 지표는 데이터베이스가 실제로 사용하고 있는 용량과 해당 용량이 지정된 범위에 속하는 위치를 결정하는 데 도움이 됩니다.

언제든지 각 DocumentDB Serverless 라이터 또는 리더에는 용량이 있습니다. 용량은 DCU를 나타내는 부동 소수점 숫자로 표시됩니다. 라이터 또는 리더가 확장될 때마다 용량이 증가하거나 감소합니다. 이 값은 매초마다 측정됩니다. DocumentDB Serverless를 사용하려는 각 클러스터에 대해 용량 범위, 즉 각 DocumentDB Serverless 라이터 또는 리더가 조정할 수 있는 최소 및 최대 용량 값을 정의합니다. 용량 범위는 클러스터의 각 DocumentDB Serverless 라이터 또는 리더에 대해 동일합니다. 각 DocumentDB Serverless 라이터 또는 리더는 해당 범위의 어딘가에 해당하는 고유한 용량을 가지고 있습니다.

DocumentDB 서버리스는 용량 범위가 0.5\$1256DCU인 DocumentDB 5.0.0(8.0에서는 지원되지 않음)에서만 지원됩니다. DCUs

정의할 수 있는 최소 DocumentDB Serverless 용량은 0.5DCU입니다. 지원되는 최대 용량 값보다 작거나 같은 경우 더 높은 숫자를 지정할 수 있습니다. 최소 용량을 작은 수로 설정하면 로드가 적은 클러스터가 최소한의 컴퓨팅 리소스를 소비할 수 있습니다. 동시에 연결을 즉시 수락하고 사용량이 많을 때 확장할 준비가 되어 있습니다.

각 라이터 또는 리더가 버퍼 풀에서 애플리케이션의 작업 집합을 보유할 수 있도록 최소값을 설정하는 것이 좋습니다. 이렇게 하면 유휴 기간 동안 버퍼 풀의 내용이 삭제되지 않습니다. 규모 조정 범위를 선택할 때 모든 고려 사항은 [DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing) 섹션을 참조하세요.

다중 AZ 배포에서 리더를 구성하는 방법에 따라 리더의 용량은 라이터의 용량에 연결되거나 별도로 구성될 수 있습니다. 이를 수행하는 방법에 대한 자세한 내용은 [서버리스 리더의 승격 계층 보기 및 수정](docdb-serverless-managing.md#docdb-serverless-promo-tier) 페이지를 참조하세요.

DocumentDB Serverless 모니터링에는 시간 경과에 따른 DB 클러스터의 라이터 및 리더 용량 값 측정이 포함됩니다. 데이터베이스가 최소 용량으로 축소되지 않는 경우 최소값을 조정하고 데이터베이스 애플리케이션을 최적화하는 등의 작업을 수행할 수 있습니다. 데이터베이스가 지속적으로 최대 용량에 도달하면 최대값을 늘리는 등의 작업을 수행할 수 있습니다. 또한 데이터베이스 애플리케이션을 최적화하고 더 많은 리더에 쿼리 로드를 분산시킬 수 있습니다.

DocumentDB Serverless 용량에 대한 요금은 DCU 시간으로 측정됩니다. DocumentDB Serverless 요금 계산 방법에 대한 자세한 내용은 [Amazon DocumentDB 요금](https://aws.amazon.com//documentdb/pricing)을 참조하세요. 클러스터의 총 라이터 및 리더 수가 n개라고 가정해 보겠습니다. 이 경우 클러스터는 데이터베이스 작업을 실행하지 않을 때 대략적으로 n x 최소 DCU를 사용합니다. DocumentDB 자체는 약간의 로드를 유발하는 모니터링 또는 유지 관리 작업을 실행할 수 있습니다. 해당 클러스터는 데이터베이스가 전체 용량으로 실행 중일 때 n x 최대 DCU만 소비합니다.

적절한 최소 및 최대 DCU 값 선택에 대한 자세한 내용은 [DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing) 페이지를 참조하세요. 지정하는 최소 및 최대 DCU 값도 일부 Amazon DocumentDB 인스턴스 제한에 영향을 미칩니다. 용량 범위와 인스턴스 제한 간의 상호 작용에 대한 자세한 내용은 [Amazon DocumentDB Serverless 인스턴스 제한](docdb-serverless-instance-limits.md) 섹션을 참조하세요.

## Amazon DocumentDB Serverless 규모 조정
<a name="docdb-serverless-scaling"></a>

각 DocumentDB Serverless 라이터 또는 리더에 대해 Amazon DocumentDB는 CPU, 메모리 및 네트워크와 같은 리소스 사용률을 지속적으로 추적합니다. 이러한 측정값을 통칭하여 로드라고 합니다. 로드에는 애플리케이션에서 수행한 데이터베이스 작업이 포함됩니다. 또한 데이터베이스 서버 및 Amazon DocumentDB 관리 작업에 대한 백그라운드 처리가 포함됩니다. 이 중 하나로 인해 용량이 제한되면 DocumentDB Serverless가 스케일 업됩니다. DocumentDB Serverless는 이를 통해 해결할 수 있는 성능 문제를 감지하면 스케일 업됩니다. [Amazon DocumentDB Serverless 모니터링](docdb-serverless-monitoring.md)의 절차를 사용하여 리소스 사용률과 DocumentDB Serverless가 스케일링에 미치는 영향을 모니터링할 수 있습니다.

로드는 클러스터의 라이터와 리더에 따라 다를 수 있습니다. 라이터는 읽기 및 쓰기 작업을 모두 지원하고, 클러스터 볼륨의 모든 데이터 수정을 실행합니다. 리더는 읽기 전용 요청을 처리할 수 있습니다.

규모 조정은 데이터베이스의 DocumentDB Serverless 용량을 늘리거나 줄이는 작업입니다. DocumentDB Serverless를 사용하면 각 라이터와 리더는 각 현재의 용량 값을 DCU 단위로 보유하게 됩니다. DocumentDB Serverless는 현재 용량이 너무 낮아 로드를 처리할 수 없는 경우 라이터 또는 리더를 더 높은 용량으로 스케일 업합니다. 현재 용량이 필요 이상으로 높으면 라이터 또는 리더를 더 낮은 용량으로 축소합니다.

DocumentDB Serverless는 용량을 점진적으로 늘릴 수 있습니다. 워크로드 수요가 라이터 또는 리더의 현재 데이터베이스 용량에 도달하기 시작하면 DocumentDB Serverless는 해당 라이터 또는 리더의 DCU를 늘립니다. DocumentDB Serverless는 사용된 리소스에 대해 최상의 성능을 제공하는 데 필요한 증가분만큼 용량을 조정합니다. 스케일링은 0.5DCU의 작은 단위로 발생합니다. 현재 용량이 클수록 크기 확장분이 커지므로 크기 조정이 빨라질 수 있습니다.

DocumentDB Serverless 스케일링은 매우 빈번하고 세부적이며 중단되지 않기 때문에 AWS Management Console에서처럼 개별 이벤트를 일으키지 않습니다. 대신 `serverlessDatabaseCapacity` 및 `DCUUtilization`과 같은 Amazon CloudWatch 지표를 측정하고 시간 경과에 따른 최소값, 최대값 및 평균값을 추적할 수 있습니다. DocumentDB Serverless 모니터링에 대한 자세한 내용은 [Amazon DocumentDB Serverless 모니터링](docdb-serverless-monitoring.md) 섹션을 참조하세요.

스케일 업이나 스케일 다운은 다음과 같은 원인으로 발생할 수 있습니다.
+ 메모리 사용률
+ CPU 사용률
+ 네트워크 사용률
+ 스토리지 사용률

DocumentDB Serverless 인스턴스에서 이러한 스케일 업/다운의 원인을 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB Serverless 모니터링](docdb-serverless-monitoring.md) 단원을 참조하십시오.

연결된 라이터와 동시에 또는 라이터와 독립적으로 리더를 확장하도록 선택할 수 있습니다. 해당 리더에 대한 프로모션 티어를 지정하면 됩니다.
+ 승격 티어 0 및 1의 DocumentDB Serverless 리더는 라이터와 동시에 규모가 조정됩니다. 이러한 확장 동작은 우선 순위 티어 0 및 1의 리더가 가용성에 이상적입니다. 장애 조치(failover)의 경우 라이터의 워크로드를 인계할 수 있도록 적절한 용량으로 항상 크기가 조정되기 때문입니다.
+ 프로모션 티어 2\$115의 리더는 라이터와 독립적으로 확장됩니다. 각 리더는 클러스터에 대해 지정한 최소 및 최대 DCU 값 내에 유지됩니다. 리더가 연결된 라이터 DB와 독립적으로 확장되면 라이터가 계속해서 많은 양의 트랜잭션을 처리하는 동안 유휴 상태가 되어 축소될 수 있습니다. 더 낮은 프로모션 티어에서 사용할 수 있는 다른 판독기가 없는 경우 장애 조치 대상으로 계속 사용할 수 있습니다. 그러나 라이터로 프로모션되는 경우 라이터의 전체 워크로드를 처리하기 위해 확장해야 할 수 있습니다.

서버리스 인스턴스의 승격 티어 보기 및 변경에 대한 자세한 내용은 [서버리스 리더의 승격 계층 보기 및 수정](docdb-serverless-managing.md#docdb-serverless-promo-tier) 섹션을 참조하세요.

DocumentDB Serverless의 규모 조정은 데이터베이스 연결이 열려 있는 동안, 트랜잭션이 처리 중인 동안, 그리고 그 밖의 상황에서 일어날 수 있습니다. DocumentDB Serverless는 규모 조정을 시작할 조용한 지점이 될 때까지 기다리지 않습니다. 확장은 진행 중인 데이터베이스 작업을 방해하지 않습니다.

워크로드에 단일 라이터 및 단일 리더에서 사용할 수 있는 것보다 더 많은 읽기 용량이 필요한 경우 클러스터에 여러 DocumentDB Serverless 리더를 추가할 수 있습니다. 각 DocumentDB Serverless 리더는 클러스터에 대해 지정한 최소 및 최대 용량 값 범위 내에서 조정할 수 있습니다. 클러스터의 리더 엔드포인트를 사용하여 읽기 전용 세션을 리더로 보내고 라이터의 로드를 줄일 수 있습니다.

DocumentDB Serverless가 규모 조정을 수행하는지 여부와 규모 조정이 시작된 후 일어나는 속도는 클러스터의 최소 및 최대 DCU 설정에 따라 달라집니다. 또한 리더가 라이터와 함께 확장되도록 구성되었는지 또는 독자적으로 구성되었는지에 따라 다릅니다. 규모 조정 구성에 대한 자세한 내용은 [Amazon DocumentDB Serverless 규모 조정 구성](docdb-serverless-scaling-config.md) 섹션을 참조하세요.

## 유휴 상태(0.5DCU)
<a name="docdb-serverlerss-idle-state"></a>

Amazon DocumentDB Serverless 라이터 또는 리더가 유휴 상태에 있을 때 클러스터의 MinCapacity가 0.5로 구성되어 있으면 DocumentDB Serverless 인스턴스는 0.5DCU의 유휴 상태로의 스케일 다운을 지원합니다.

유휴 상태에서 DocumentDB Serverless 인스턴스는 대부분의 프로덕션 워크로드를 지원하기에 충분한 CPU 컴퓨팅 용량이 없지만 새 워크로드를 지원하기 위해 빠르게 스케일 업할 준비가 되어 있는 상태입니다. 유휴 상태가 아닌 상태에서 DocumentDB Serverless 인스턴스는 일반적으로 최소 1.0\$12.5DCU가 필요합니다. 따라서 DocumentDB Serverless 인스턴스가 유휴 상태에서 유휴 상태가 아닌 상태로 스케일 업되면 1.0\$12.5DCU(또는 더 낮은 경우 MaxCapacity 값)로 바로 스케일 업됩니다.

유휴 시 0.5DCU의 스케일 다운을 지원하기 위해 MinCapacity를 1.0DCU 이하로 구성한 경우 인스턴스에 제한이 걸립니다. MinCapacity 구성이 제한에 어떻게 영향을 미치는지에 대한 자세한 내용은 [Amazon DocumentDB Serverless 인스턴스 제한](docdb-serverless-instance-limits.md) 섹션을 참조하세요.

# DocumentDB Serverless 요구 사항 및 제한 사항
<a name="docdb-serverless-limitations"></a>

## 기능 요구 사항
<a name="w2aac41c15b3"></a>

### 리전 가용성
<a name="w2aac41c15b3b3"></a>

이제 다음 리전에서 Amazon DocumentDB Serverless 인스턴스 유형을 사용할 수 있습니다.

다음 AWS CLI 명령을 사용하여 특정 리전에서 제공되는 정확한 DocumentDB 서버리스 인스턴스 옵션을 확인할 수 있습니다.

```
aws docdb describe-orderable-db-instance-options \
        --region my_region \
        --db-instance-class db.serverless \
        --engine docdb
```

### 엔진 버전 가용성
<a name="w2aac41c15b3b5"></a>

DocumentDB 서버리스는 Amazon DocumentDB 5.0.0 엔진 버전에서만 지원됩니다. 엔진 버전 3.6, 4.0 또는 8.0에서는 사용할 수 없습니다.

**참고**  
DocumentDB Serverless는 최신 5.0.0 패치 버전에서만 지원됩니다. 클러스터가 최신 엔진 패치 버전으로 업데이트되었는지 확인하세요. Amazon DocumentDB 클러스터 유지 관리에 대한 자세한 내용은 [Amazon DocumentDB 유지 관리](db-instance-maintain.md) 섹션을 참조하세요.

### 클러스터 구성
<a name="w2aac41c15b3b7"></a>

Amazon DocumentDB 클러스터에 Amazon DocumentDB Serverless 인스턴스를 추가하려면 이에 앞서 클러스터에 `ServerlessV2ScalingConfiguration` 파라미터 세트도 있어야 합니다. 이 파라미터 세트는 클러스터 내에 있는 DocumentDB Serverless 인스턴스의 용량 범위를 정의합니다. 규모 조정 구성에 대한 자세한 내용은 [Amazon DocumentDB Serverless 규모 조정 구성](docdb-serverless-scaling-config.md) 섹션을 참조하세요.

### 특정 Amazon DocumentDB 기능에 대한 최소 규모 조정 용량 범위 설정
<a name="w2aac41c15b3b9"></a>

일부 Amazon DocumentDB 기능은 DocumentDB Serverless에서 작동하지만, 특정 워크로드가 있는 해당 기능의 메모리 요구 사항에 필요한 것보다 용량 범위가 낮은 경우 문제가 발생할 수 있습니다. 이 경우 데이터베이스가 평소와 같이 제대로 작동되지 않거나 메모리 부족 오류가 발생할 수 있습니다.

다음 기능은 최상의 작동을 위해 더 높은 `MinCapacity` 및/또는 `MaxCapacity` 값을 구성해야 합니다.
+ 성능 개선 도우미
+ 글로벌 클러스터(기본 클러스터에만 적용됨 AWS 리전)
+ 데이터 볼륨이 큰 클러스터에서 서버리스 인스턴스 생성

  여기에는 클러스터 복원의 일부인 서버리스 인스턴스 생성이 포함됩니다.

이 기능을 사용할 경우 적절한 용량 범위 설정에 대한 권장 사항은 [DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing) 섹션을 참조하세요. 잘못 구성된 용량 범위로 인해 데이터베이스에 메모리 부족 오류가 발생하는 경우 문제 해결 정보는 [메모리 부족 오류 방지](docdb-serverless-scaling-config.md#docdb-serverless-scaling-mem-errors)의 내용을 참조하세요.

# Amazon DocumentDB Serverless를 사용하는 클러스터 생성
<a name="docdb-serverless-create-cluster"></a>



## Amazon DocumentDB Serverless 클러스터 생성
<a name="w2aac41c17b5"></a>

Amazon DocumentDB Serverless를 사용하면 클러스터를 프로비저닝된 클러스터와 교환할 수 있습니다. 일부 인스턴스는 Serverless를 사용하고 일부 인스턴스는 프로비저닝되도록 클러스터를 구성할 수 있습니다.

원하는 리전 및 엔진 버전이 DocumentDB Serverless를 지원하는지 확인합니다. [DocumentDB Serverless 요구 사항 및 제한 사항](docdb-serverless-limitations.md) 섹션을 참조하세요.

서버리스 인스턴스를 추가할 수 있는 Amazon DocumentDB 클러스터를 생성하려면 [Amazon DocumentDB 클러스터 생성](db-cluster-create.md) 섹션과 동일한 절차를 따릅니다. 유일한 차이점은 `ServerlessV2ScalingConfiguration` 인수도 제공해야 한다는 것입니다.

`ServerlessV2ScalingConfiguration` 인수는 DocumentDB Serverless 인스턴스의 규모 조정 용량 범위를 지정합니다. 클러스터의 모든 DocumentDB Serverless 인스턴스에 적용되는 최소 및 최대 DocumentDB 용량 단위(DCU) 값으로 구성됩니다.
+ `MinCapacity` 값은 최소 규모 조정 용량을 지정합니다.
+ `MaxCapacity` 값은 최대 규모 조정 용량을 지정합니다.

조정에 대한 자세한 내용은 [Amazon DocumentDB Serverless 규모 조정 구성](docdb-serverless-scaling-config.md) 섹션을 참조하세요.

------
#### [ Using the AWS Management Console ]

다음 AWS Management Console 구성 예제에서는 DocumentDB 서버리스 클러스터를 생성하는 방법을 보여줍니다.

1. [AWS Management Console](https://console.aws.amazon.com/docdb/home?region=us-east-1)에 로그인하고 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

   **클러스터** 테이블이 표시됩니다.

1. **생성**을 선택합니다.

   **Amazon DocumentDB 클러스터 생성** 페이지가 표시됩니다.

1. Amazon DocumentDB 클러스터 생성 페이지의 **클러스터 유형** 섹션에서 **인스턴스 기반 클러스터**(기본 옵션)를 선택합니다.

1. **클러스터 구성** 섹션에서:

   1. **클러스터 식별자 **에 **myserverlesscluster**와 같은 고유한 이름을 입력합니다. 콘솔은 모든 클러스터 이름을 입력 방식에 관계없이 소문자로 변경합니다.

   1. **엔진 버전**에는 **5.0.0**(기본 옵션)을 선택합니다.

1. **클러스터 스토리지 구성** 섹션에서 **Amazon DocumentDB 표준**(기본 옵션입니다)을 선택합니다.
**참고**  
이 범주의 다른 옵션은 **Amazon DocumentDB I/O 최적화**입니다. 옵션에 대해 자세히 알아보려면 [Amazon DocumentDB 클러스터 스토리지 구성](db-cluster-storage-configs.md) 섹션을 참조하세요.

1. **인스턴스 구성** 섹션에서:

   1. **DB 인스턴스 클래스**에서 **서버리스**를 선택합니다.

   1. **일반 복제본 인스턴스 수**에서 **3**(기본 옵션)을 선택합니다.

   1. **용량 범위** 섹션에서 **최소 DCU** 및 **최대 DCU**의 기본값을 그대로 둡니다. 이러한 파라미터의 설정에 대한 자세한 내용은 [Amazon DocumentDB Serverless 인스턴스 제한](docdb-serverless-instance-limits.md) 섹션을 참조하세요.  
![\[인스턴스 클래스, 복제본 인스턴스, 용량 범위에 대한 필드가 있는 서버리스 데이터베이스 클러스터의 구성 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/instance-config-serverless.png)

1. **연결** 섹션에서 **EC2 컴퓨팅 리소스에 연결 안 함**을 기본 설정으로 둡니다.

1. **인증** 섹션에 기본 사용자의 사용자 이름을 입력한 후 **자체 관리형**을 선택합니다. 암호를 입력한 다음 확인합니다.

   대신 **관리형을 AWS Secrets Manager** 선택한 경우 자세한 내용은 [Amazon DocumentDB 및를 사용한 암호 관리 AWS Secrets Manager](docdb-secrets-manager.md) 섹션을 참조하세요.

1. 다른 모든 옵션을 기본값으로 두고 **클러스터 생성**을 선택합니다.

------
#### [ Using the AWS CLI ]

다음은 각각의 *사용자 입력 자리 표시자*를 자신의 정보 또는 구성 파라미터로 변경하는 예제입니다.

를 사용하여 DocumentDB 서버리스 인스턴스와 호환되는 클러스터를 생성하려면 섹션을 AWS CLI참조하세요[를 사용하여 클러스터 생성 AWS CLI](db-cluster-create.md#db-cluster-create-cli).

`create-db-cluster` 명령에 다음과 같은 추가 파라미터를 포함시킵니다.

```
--serverless-v2-scaling-configuration 
     MinCapacity=minimum_capacity,MaxCapacity=maximum_capacity
```

예제:

```
aws docdb create-db-cluster \
      --db-cluster-identifier sample-cluster \
      --engine docdb \
      --engine-version 5.0.0 \
      --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16 \
      --master-username user-name \
      --master-user-password password
```

------

## Amazon DocumentDB Serverless 인스턴스 추가
<a name="docdb-serverless-adding-instance"></a>

DocumentDB Serverless 인스턴스를 추가하려면 [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md) 섹션과 동일한 절차에 따라 인스턴스 클래스로 db.serverless를 지정해야 합니다.

### AWS Management Console을 사용하여 서버리스 인스턴스 추가
<a name="w2aac41c17b7b5"></a>

콘솔을 사용하여 DocumentDB Serverless 인스턴스를 추가하려면 [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md) 섹션을 참조하여 ** AWS Management Console사용** 탭을 선택합니다.

### 를 사용하여 서버리스 인스턴스 추가 AWS CLI
<a name="w2aac41c17b7b7"></a>

를 사용하여 DocumentDB 서버리스 인스턴스를 추가하려면 AWS CLI섹션을 참조[클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md)하고 **사용 탭을 AWS CLI** 선택합니다.

다음 인스턴스 클래스 CLI 인수를 사용합니다.

```
--db-instance-class db.serverless
```

예제:

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

# Amazon DocumentDB Serverless로 마이그레이션
<a name="docdb-serverless-migrating"></a>

**Topics**
+ [기존 DocumentDB 클러스터를 서버리스로 마이그레이션](#w2aac41c19b5)
+ [MongoDB에서 DocumentDB Serverless로 마이그레이션](#w2aac41c19b7)

## 기존 DocumentDB 클러스터를 서버리스로 마이그레이션
<a name="w2aac41c19b5"></a>

### 클러스터의 엔진 버전 업그레이드
<a name="w2aac41c19b5b3"></a>

프로비저닝된 클러스터가 DocumentDB Serverless를 지원하지 않는 하위 엔진 버전을 실행하는 경우 먼저 지원되는 엔진 버전으로 클러스터를 업그레이드해야 합니다. 자세한 내용은 [Amazon DocumentDB 인플레이스 주요 버전 업그레이드](docdb-mvu.md) 단원을 참조하십시오.

### 프로비저닝된 클러스터를 DocumentDB Serverless로 마이그레이션
<a name="docdb-serverless-migrate-cluster"></a>

DocumentDB Serverless를 사용하도록 프로비저닝된 클러스터를 전환하려면 다음 단계를 따르세요.

1. DocumentDB Serverless와 함께 사용하기 위해 프로비저닝된 클러스터의 엔진 버전을 업그레이드해야 하는지 확인합니다. [DocumentDB Serverless 요구 사항 및 제한 사항](docdb-serverless-limitations.md)을(를) 참조하세요.
**참고**  
프로비저닝된 클러스터가 DocumentDB Serverless에 사용할 수 없는 엔진 버전을 실행 중인 경우 클러스터의 엔진 버전을 업그레이드하세요. [Amazon DocumentDB 인플레이스 주요 버전 업그레이드](docdb-mvu.md)을(를) 참조하세요.

1. 클러스터에 대한 크기 조정 구성을 구성합니다. 규모 조정 구성의 선택에 대한 자세한 내용은 [DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing) 섹션을 참조하세요. 클러스터의 규모 조정 구성을 수정하려면 [클러스터의 규모 조정 용량 범위 구성 보기 및 수정](docdb-serverless-managing.md#docdb-serverless-range-config) 섹션을 참조하세요.

1. [DocumentDB Serverless 요구 사항 및 제한 사항](docdb-serverless-limitations.md)의 DocumentDB Serverless 요구 사항 및 제한 사항을 고려하도록 다른 클러스터 속성을 구성합니다.

1. 클러스터에 하나 이상의 DocumentDB Serverless 인스턴스를 추가합니다. [Amazon DocumentDB Serverless 인스턴스 추가](docdb-serverless-create-cluster.md#docdb-serverless-adding-instance)의 프로시저를 따르세요.
**참고**  
경우에 따라 클러스터에 이미 하나 이상의 프로비저닝된 리더 인스턴스가 있을 수 있습니다. 그렇다면 새 인스턴스를 생성하는 대신 리더 중 하나를 DocumentDB Serverless 인스턴스로 변환할 수 있습니다. 이 작업을 수행하려면 [인스턴스의 클래스 변경](db-instance-classes.md#db-instance-class-changing)의 프로시저를 따르세요.

1. (선택 사항) 장애 조치 작업을 수행하여 DocumentDB Serverless 인스턴스를 클러스터 라이터로 만듭니다. [Amazon DocumentDB 장애 조치](failover.md)을(를) 참조하세요.

1. (선택 사항) 나머지 프로비저닝된 Amazon DocumentDB 인스턴스를 DocumentDB Serverless 인스턴스로 변환하거나([인스턴스의 클래스 변경](db-instance-classes.md#db-instance-class-changing) 참조) 클러스터에서 제거합니다([Amazon DocumentDB 인스턴스 삭제](db-instance-delete.md) 참조).

------
#### [ Using the AWS Management Console ]

다음 AWS Management Console 구성 예제는 Amazon DocumentDB 서버리스 사용을 시작하기 위해 엔진 버전 업그레이드가 필요하지 않은 Amazon DocumentDB 5.0.0을 실행하는 Amazon DocumentDB 프로비저닝 클러스터를 사용하는 마이그레이션 프로세스를 보여줍니다. 클러스터의 이름은 `sample`이고 `sample`, `sample2`, `sample3`라는 프로비저닝된 인스턴스 3개로 시작합니다. 이 예제에서는 이 세 인스턴스를 세 개의 서버리스 인스턴스로 대체합니다.

1. [AWS Management Console](https://console.aws.amazon.com/docdb/home?region=us-east-1)에 로그인하고 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

   **클러스터** 테이블이 표시됩니다.

1. **클러스터** 테이블에서 서버리스 인스턴스를 추가할 클러스터의 확인란을 선택합니다.

1. **작업**을 선택한 다음 **인스턴스 추가**를 선택합니다.

1. **인스턴스 추가** 대화 상자에서 생성하려는 각각의 새 서버리스 인스턴스마다 **DB 인스턴스 클래스** 섹션에서 **서버리스**를 선택합니다.

1. **서버리스 용량 설정**에서는 대화 상자의 용량 설명에 따라 규모 조정 구성을 설정합니다.

1. (선택 사항) 다른 인스턴스를 추가하려면 **인스턴스 추가**를 선택합니다. 원하는 새 인스턴스 수에 도달할 때까지 인스턴스를 계속 추가합니다.

   이 예제에서는 세 개의 새 서버리스 인스턴스가 생성됩니다.

1. **생성(Create)**을 선택합니다.

   인스턴스를 생성하는 데 몇 분 정도 걸립니다. 콘솔 또는를 사용하여 인스턴스의 상태를 AWS CLI 볼 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 상태 모니터링](https://docs.aws.amazon.com//documentdb/latest/developerguide/monitoring_docdb-cluster_status.html)을 참조하세요.

1. **클러스터** 테이블로 돌아가서 원래 프로비저닝된 인스턴스 세 개 모두에 대해 확인란을 선택합니다.

1. **작업**을 선택한 후 **삭제**를 선택합니다.

삭제하는 동안 장애 조치가 자동으로 수행되어 나머지 인스턴스 중 하나를 라이터로 승격합니다. 몇 분 후 삭제 프로세스가 완료됩니다. 이제 기존 클러스터에 DocumentDB Serverless 인스턴스 3개가 포함됩니다(**크기** 열에 정의됨).

------
#### [ Using the AWS CLI ]

다음 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
```

------

## MongoDB에서 DocumentDB Serverless로 마이그레이션
<a name="w2aac41c19b7"></a>

프로비저닝된 Amazon DocumentDB와 마찬가지로 MongoDB 데이터베이스를 DocumentDB Serverless로 마이그레이션할 수 있습니다. 자세한 내용은 [Amazon DocumentDB로 마이그레이션](docdb-migration.md) 단원을 참조하십시오.

# Amazon DocumentDB Serverless 관리
<a name="docdb-serverless-managing"></a>

## 클러스터의 규모 조정 용량 범위 구성 보기 및 수정
<a name="docdb-serverless-range-config"></a>

`ServerlessV2ScalingConfiguration` 인수는 DocumentDB Serverless 인스턴스의 규모 조정 용량 범위를 지정합니다. 클러스터의 모든 DocumentDB Serverless 인스턴스에 적용되는 최소 및 최대 DocumentDB 용량 단위(DCU) 값으로 구성됩니다.
+ **`MinCapacity`** - 클러스터 내에서 DocumentDB Serverless 인스턴스의 최소 규모 조정 용량입니다.
+ **`MaxCapacity`** - 클러스터 내에서 DocumentDB Serverless 인스턴스의 최대 규모 조정 용량입니다.

**참고**  
다음 규모 조정 구성 수정 사항은 새 `MinCapacity` 및 `MaxCapacity` 값을 반영하기 위해 인스턴스를 다시 시작해야 합니다.  
`MaxCapacity` 값에 대한 모든 변경
`MinCapacity` 값을 더 높은 값에서 1.0 이하로 변경
`MinCapacity` 값을 더 낮은 값에서 1.0보다 크게 변경

규모 조정 구성 및 적절한 규모 조정 용량 제한을 선택하는 방법에 대한 자세한 내용은 [Amazon DocumentDB Serverless 규모 조정 구성](docdb-serverless-scaling-config.md) 섹션을 참조하세요.

------
#### [ Using the AWS Management Console ]

다음 AWS Management Console 구성 예제에서는 DocumentDB 서버리스 클러스터의 조정 구성 설정을 보고 편집하는 방법을 보여줍니다.

1. [AWS Management Console](https://console.aws.amazon.com/docdb/home?region=us-east-1)에 로그인하고 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

   **클러스터** 테이블이 표시됩니다.

1. **클러스터** 테이블에서 규모 조정 용량을 수정하려는 클러스터의 확인란을 선택합니다.

1. **작업**을 선택한 후 **수정**을 선택합니다.

   **클러스터 수정** 대화 상자가 표시 됩니다.

1. **서버리스 용량 설정** 섹션을 찾은 다음 대화 상자의 용량 설명에 따라 규모 조정 구성(**용량 범위**)을 설정합니다.

   규모 조정 및 용량 범위에 대한 자세한 내용은 [Amazon DocumentDB Serverless 규모 조정 구성](docdb-serverless-scaling-config.md) 섹션을 참조하세요.

1. **Continue(계속)**를 선택합니다.

1. **수정 사항 예약**에 대해 **즉시 적용**을 선택합니다.

1. **클러스터 수정**을 선택합니다.

1. 수정이 완료되면 각 서버리스 인스턴스를 재부팅해야 합니다. 라이터 사용 불가를 최소화하려면 다음 일련의 작업을 수행합니다.

   1. 각 서버리스 리더 인스턴스를 재부팅합니다.

      1. 리더 인스턴스를 선택하고 **작업**을 선택한 다음 **재부팅**을 선택합니다.

      1. 인스턴스 상태가 **사용 가능**으로 돌아갈 때까지 기다립니다.

   1. 재부팅된 서버리스 인스턴스에 장애 조치를 수행합니다.

      1. 클러스터를 선택하고 **작업**을 선택한 다음 **장애 조치**를 선택합니다.

      1. 장애 조치 작업이 완료될 때까지 기다립니다.

   1. 나머지 서버리스 인스턴스를 재부팅합니다.

      1. 나머지 인스턴스를 선택하고 **작업**을 선택한 다음 **재부팅**을 선택합니다.

      1. 인스턴스 상태가 **사용 가능**으로 돌아갈 때까지 기다립니다.

------
#### [ Using the AWS CLI ]

다음 AWS CLI 구성 예제는 현재 조정 구성을 보여줍니다.

다음은 각각의 *사용자 입력 자리 표시자*를 자신의 정보 또는 구성 파라미터로 변경하는 예제입니다.

다음 `describe-db-clusters` AWS CLI 명령을 사용하여 클러스터의 현재 조정 구성을 볼 수 있습니다.

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[0].ServerlessV2ScalingConfiguration'
```

다음은 이 명령의 출력입니다.

```
{
    "MinCapacity": 0.5,
    "MaxCapacity": 16.0
}
```

다음과 같이 `modify-db-cluster` 명령을 사용하여 클러스터의 규모 조정 구성을 수정할 수 있습니다.

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

완료되면 각 서버리스 인스턴스를 재부팅해야 합니다. 라이터 사용 불가를 최소화하기 위해 다음 일련의 작업을 수행할 수 있습니다.

```
aws docdb reboot-db-instance \
    --db-instance-identifier sample-serverless-instance-reader

aws docdb wait db-instance-available \
    --db-instance-identifier sample-serverless-instance-reader

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

aws docdb reboot-db-instance \
    --db-instance-identifier sample-serverless-instance-writer

aws docdb wait db-instance-available \
    --db-instance-identifier sample-serverless-instance-writer

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

------

## 서버리스 리더의 승격 계층 보기 및 수정
<a name="docdb-serverless-promo-tier"></a>

여러 개의 DocumentDB Serverless 인스턴스를 포함하는 클러스터 또는 프로비저닝된 인스턴스와 서버리스 인스턴스가 혼합된 클러스터의 경우 각 서버리스 인스턴스의 승격 티어 설정을 유의해야 합니다. 이 설정은 프로비저닝된 인스턴스보다 서버리스 인스턴스에 대해 더 많은 동작을 제어합니다.

프로비저닝된 인스턴스의 경우 티어 0\$115를 선택하면 Amazon DocumentDB가 장애 조치 작업 중에 라이터로 승격할 리더 인스턴스를 선택하는 순서만 결정됩니다. 그러나 서버리스 인스턴스의 경우 티어 번호에 따라 인스턴스를 라이터 인스턴스의 용량에 맞춰 스케일 업할지 아니면 자체 워크로드를 기준으로 독립적으로 규모 조정을 할지도 결정됩니다. 티어 0 또는 1의 Serverless 리더 인스턴스는 최소한 라이터 인스턴스만큼 높은 최소 용량으로 유지됩니다. 따라서 장애 조치가 발생할 경우 라이터 인스턴스에서 인계할 준비가 됩니다. 라이터 인스턴스가 프로비저닝된 인스턴스인 경우 Amazon DocumentDB는 동등한 DocumentDB Serverless 용량을 추정합니다. 이 추정치를 서버리스 리더 인스턴스의 최소 용량으로 사용합니다.

티어 2\$115의 DocumentDB Serverless 리더 인스턴스는 최소 용량에 대해 이러한 제약 조건을 가지고 있지 않습니다. 유휴 상태일 때 클러스터의 용량 범위에 지정된 최소 DocumentDB 용량 단위(DCU) 값으로 스케일 다운할 수 있습니다.

------
#### [ Using the AWS Management Console ]

다음 AWS Management Console 구성 예제에서는 DocumentDB 서버리스 인스턴스 리더의 프로모션 계층 설정을 보고 수정하는 방법을 보여줍니다.

1. [AWS Management Console](https://console.aws.amazon.com/docdb/home?region=us-east-1)에 로그인하고 Amazon DocumentDB 콘솔을 엽니다.

   각 인스턴스의 승격 티어는 AWS Management Console의 **승격 티어** 열에 표시됩니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

   **클러스터** 테이블이 표시됩니다.

1. **클러스터** 테이블에서 승격 티어를 수정하려는 인스턴스의 확인란을 선택합니다.

1. **작업**을 선택한 후 **수정**을 선택합니다.

   **인스턴스 수정** 대화 상자가 표시됩니다.

1. **장애 조치** 섹션을 찾아서 **승격 티어**를 원하는 수준으로 설정합니다.

1. **Continue(계속)**를 선택합니다.

1. **수정 사항 예약**에 대해 **즉시 적용**을 선택합니다.

1. **Modify Instance(인스턴스 수정)**를 선택합니다.

------
#### [ Using the AWS CLI ]

다음 AWS CLI 구성 예제는 현재 조정 구성을 보여줍니다.

다음은 각각의 *사용자 입력 자리 표시자*를 자신의 정보 또는 구성 파라미터로 변경하는 예제입니다.

다음 `describe-db-clusters` AWS CLI 명령을 사용하여 클러스터에 있는 모든 인스턴스의 승격 티어를 볼 수 있습니다.

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[0].DBClusterMembers' \
    --output table
```

다음은 이 명령의 출력입니다.

```
--------------------------------------------------------------------------------------------------------
|                                          DescribeDBClusters                                          |
+--------------------------------+---------------------------------+------------------+----------------+
|  DBClusterParameterGroupStatus |      DBInstanceIdentifier       | IsClusterWriter  | PromotionTier  |
+--------------------------------+---------------------------------+------------------+----------------+
|  in-sync                       |  sample-serverless-instance-2   |  False           |  1             |
|  in-sync                       |  sample-serverless-instance-1   |  True            |  1             |
+--------------------------------+---------------------------------+------------------+----------------+
```

특정 인스턴스의 승격 티어는 다음과 같이 `modify-db-instance` 명령을 사용하여 수정할 수 있습니다.

```
aws docdb modify-db-instance \
    --db-instance-identifier sample-serverless-instance-2 \
    --promotion-tier 3
```

------

# Amazon DocumentDB Serverless 인스턴스 제한
<a name="docdb-serverless-instance-limits"></a>

DocumentDB Serverless 인스턴스의 경우 다음 인스턴스당 제한은 인스턴스의 현재 규모 조정 용량에 따라 달라집니다.
+ 인스턴스 메모리(GiB)
+ 연결(모두)
+ 커서 제한
+ 트랜잭션 열기
+ 연결(활성)

다음 표에서는 인스턴스의 현재 규모 조정 용량과 관련하여 서버리스 인스턴스의 인스턴스당 제한이 어떻게 조정되는지 설명합니다.

제한 값은 클러스터의 `MinCapacity` 규모 조정 구성이 2보다 크게 설정되었는지 여부에 따라 다릅니다. `MinCapacity`가 2 이하로 설정된 경우 커서 제한, 미결 트랜잭션, 연결(활성)에 대한 제한 값은 더 낮은 최대값으로 제한됩니다. (이 한도의 기술적 이유는 '유휴' 상태로의 스케일 다운을 지원하기 위한 것입니다. 자세한 내용은 [유휴 상태(0.5DCU)](docdb-serverless-how-it-works.md#docdb-serverlerss-idle-state) 단원을 참조하십시오.

**MinCapacity가 1 이하인 경우 db.serverless 인스턴스 제한**


| 현재 용량(DCU) | 인스턴스 메모리(GiB) | 연결(모두) | 커서 제한 | 트랜잭션 열기 | 연결(활성) | 
| --- | --- | --- | --- | --- | --- | 
|  0.5  |  1  |  250  |  6  |  12  |  39  | 
|  1  |  2  |  500  |  12  |  24  |  79  | 
|  2  |  4  |  1000  |  24  |  48  |  173  | 
|  4  |  8  |  2000  |  48  |  96  |  416  | 
|  8  |  16  |  4000  |  96  |  192  |  1071  | 
|  16  |  32  |  8000  |  132  |  264  |  1550  | 
|  32  |  64  |  16000  |  132  |  264  |  1550  | 
|  64  |  128  |  32000  |  132  |  264  |  1550  | 
|  128  |  256  |  60000  |  132  |  264  |  1550  | 
|  256  |  512  |  60000  |  132  |  264  |  1550  | 

**MinCapacity가 1보다 클 경우 db.serverless 인스턴스 제한**


| 현재 용량(DCU) | 인스턴스 메모리(GiB) | 연결(모두) | 커서 제한 | 트랜잭션 열기 | 연결(활성) | 
| --- | --- | --- | --- | --- | --- | 
|  1.5  |  3  |  7250  |  18  |  36  |  124  | 
|  2  |  4  |  1000  |  24  |  48  |  173  | 
|  4  |  8  |  2000  |  48  |  96  |  416  | 
|  8  |  16  |  4000  |  96  |  192  |  1071  | 
|  16  |  32  |  8000  |  192  |  384  |  2709  | 
|  32  |  64  |  16000  |  384  |  768  |  4500  | 
|  64  |  128  |  32000  |  768  |  1536  |  4500  | 
|  128  |  256  |  60000  |  1536  |  3072  |  4500  | 
|  256  |  512  |  60000  |  3072  |  6144  |  4500  | 

다음 CloudWatch 지표를 사용하여 인스턴스당 제한을 모니터링하고 경보를 생성할 수 있습니다. Amazon DocumentDB CloudWatch 지표에 관한 더 많은 내용은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md)를 참조하세요.


| Resource | CloudWatch 제한 지표 | CloudWatch 사용량 지표(최대 1분) | CloudWatch 사용량 지표 | 
| --- | --- | --- | --- | 
| 인스턴스 메모리 | - | - | FreeableMemory | 
| 연결(모두) | DatabaseConnectionsLimit | DatabaseConnectionsMax | DatabaseConnections | 
| 커서 | DatabaseCursorsLimit | DatabaseCursorsMax | DatabaseCursors | 
| 트랜잭션 | TransactionsOpenLimit | TransactionsOpenMax | TransactionsOpen | 

# Amazon DocumentDB Serverless 규모 조정 구성
<a name="docdb-serverless-scaling-config"></a>



**Topics**
+ [DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택](#docdb-serverless-scaling-capacity-choosing)
+ [DocumentDB Serverless 클러스터에 대한 `MinCapacity` 설정 선택](#docdb-serverless-scaling-mincapacity-choosing)
+ [DocumentDB Serverless 클러스터에 대한 `MaxCapacity` 설정 선택](#docdb-serverless-scaling-maxcapacity-choosing)
+ [메모리 부족 오류 방지](#docdb-serverless-scaling-mem-errors)
+ [서버리스 인스턴스가 스케일 다운되지 않는 이유는 무엇인가요?](#docdb-serverless-scaling-down)

## DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택
<a name="docdb-serverless-scaling-capacity-choosing"></a>

Amazon DocumentDB 클러스터에 DocumentDB Serverless 인스턴스를 추가하려면 이에 앞서 클러스터에 `ServerlessV2ScalingConfiguration` 파라미터 세트도 있어야 합니다.

`ServerlessV2ScalingConfiguration` 파라미터는 클러스터 내 모든 서버리스 인스턴스의 서버리스 규모 조정 용량 범위를 정의하는 두 가지 값으로 구성됩니다.
+ **`MinCapacity`** - 클러스터 내에서 DocumentDB Serverless 인스턴스의 최소 규모 조정 용량입니다.
+ **`MaxCapacity`** - 클러스터 내에서 DocumentDB Serverless 인스턴스의 최대 규모 조정 용량입니다.

## DocumentDB Serverless 클러스터에 대한 `MinCapacity` 설정 선택
<a name="docdb-serverless-scaling-mincapacity-choosing"></a>

항상 `MinCapacity`에 0.5를 선택하는 것이 매력적으로 보입니다. 이 값을 사용하면 인스턴스가 완전히 유휴 상태일 때 활성 상태로 유지하면서도 최소 용량으로 스케일 다운할 수 있기 때문입니다. 그러나 해당 클러스터를 사용하는 방법과 구성하는 기타 설정에 따라 가장 효과적인 최소 용량은 다를 수도 있습니다. 최소 용량 설정을 선택할 때는 다음 요소를 고려하세요.
+ DocumentDB Serverless 인스턴스의 규모 조정 비율은 현재 용량에 따라 다릅니다. 현재 용량이 높을수록 더 빠르게 확장할 수 있습니다. 인스턴스를 매우 높은 용량으로 빠르게 스케일 업해야 하는 경우 규모 조정 속도가 요구 사항을 충족하는 값으로 최소 용량을 설정하는 것이 좋습니다.
+ 일반적으로 특히 높거나 낮은 워크로드를 예상하여 인스턴스의 인스턴스 클래스를 수정하는 경우 해당 경험을 사용하여 동등한 DocumentDB Serverless 용량 범위를 대략적으로 추정할 수 있습니다. 프로비저닝된 Amazon DocumentDB 인스턴스 유형의 메모리 크기를 확인하려면 [인스턴스 제한](limits.md#limits.instance) 섹션을 참조하세요.

  예를 들어 클러스터의 워크로드가 낮은 경우 `db.r6g.xlarge` 인스턴스 클래스를 사용한다고 가정해보겠습니다. 해당 인스턴스 클래스에는 32GiB의 메모리가 있습니다. 따라서 `MinCapacity`를 16으로 지정하여 거의 동일한 용량으로 스케일 다운할 수 있는 서버리스 인스턴스를 설정할 수 있습니다. 이는 각 DCU가 약 2GiB의 메모리에 해당하기 때문입니다. `db.r6g.xlarge` 인스턴스가 때때로 충분히 활용되지 않는 경우에 대비하여 인스턴스가 더 스케일 다운되도록 약간 더 낮은 값을 지정할 수 있습니다.
+ 인스턴스의 버퍼 캐시에 일정량의 데이터가 있을 때 애플리케이션이 가장 효율적으로 작동하는 경우 메모리가 자주 액세스하는 데이터를 저장할 수 있을 만큼 충분히 큰 최소 DCU 설정을 지정하는 것이 좋습니다. 그렇지 않으면 서버리스 인스턴스가 더 낮은 메모리 크기로 스케일 다운될 때 버퍼 캐시에서 일부 데이터가 제거됩니다. 그런 다음 인스턴스가 다시 스케일 업되면 시간이 지남에 따라 정보가 버퍼 캐시로 다시 읽혀집니다. 데이터를 버퍼 캐시로 다시 가져오기 위한 I/O 양이 많은 경우 최소 DCU 값을 높이는 것이 더 효과적일 수 있습니다. 자세한 내용은 [인스턴스 크기 조정](best_practices.md#best_practices-instance_sizing) 단원을 참조하십시오.
+ DocumentDB 인스턴스가 대부분 특정 용량에서 실행되는 경우 해당 기준보다 낮으면서도 너무 모자라지는 않는 최소 용량 설정을 지정하는 것이 좋습니다. 서버리스 인스턴스는 현재 용량이 필요한 용량보다 크게 낮지 않은 경우 스케일 업할 양과 속도를 가장 효과적으로 추정할 수 있습니다.
+ 프로비저닝된 워크로드에 T3 또는 T4g와 같은 소규모 인스턴스 클래스에 비해 너무 높은 메모리 요구 사항이 있는 경우 R5 또는 R6g 인스턴스에 필적하는 메모리를 제공하는 최소 DCU 설정을 선택합니다.
+ 특히 지정된 기능과 함께 사용하려면 다음과 같은 최소 `MinCapacity`를 권장합니다(이 권장 사항은 변경될 수 있음).
  + 성능 개선 도우미- 2 DCU
  + 글로벌 클러스터 - DCUs(기본 클러스터에만 적용됨 AWS 리전)
+ Amazon DocumentDB에서 복제는 스토리지 계층에서 발생하므로 리더 용량은 복제에 직접적인 영향을 미치지 않습니다. 그러나 독립적으로 규모가 조정되는 DocumentDB Serverless 리더 인스턴스의 경우, 쿼리 지연 시간을 방지하기 위해 쓰기 집약적인 기간 동안 워크로드를 처리하기에 최소 용량이 충분한지 확인합니다. 승격 티어 2\$115의 리더 인스턴스에 성능 문제가 발생하는 경우 클러스터의 최소 용량을 늘리는 것이 좋습니다. 리더 인스턴스 규모가 라이터와 함께 또는 독자적으로 조정되는지를 변경하는 방법에 대한 자세한 내용은 [서버리스 리더의 승격 계층 보기 및 수정](docdb-serverless-managing.md#docdb-serverless-promo-tier) 섹션을 참조하세요.

  DocumentDB Serverless 리더 인스턴스가 있는 클러스터가 있는 경우, 리더의 승격 티어가 0 또는 1이 아니면 리더는 라이터 인스턴스와 함께 조정되지 않습니다. 이 경우 최소 용량을 낮게 설정하면 과도한 복제 지연이 발생할 수 있습니다. 데이터베이스가 사용 중일 때 리더의 용량이 라이터의 변경 사항을 적용하기에 충분하지 않을 수 있기 때문입니다. 최소 용량을 라이터 인스턴스와 비슷한 메모리 및 CPU 용량을 나타내는 값으로 설정하는 것이 좋습니다.
+ DocumentDB Serverless 인스턴스가 최소 용량에서 최대 용량으로 조정되는 데 걸리는 시간은 최소 DCU 값과 최대 DCU 값의 차이에 따라 다릅니다. 인스턴스의 현재 용량이 클 때 DocumentDB Serverless는 인스턴스가 작은 용량에서 시작할 때보다 더 큰 증분으로 스케일 업합니다. 따라서 상대적으로 큰 최대 용량을 지정하고 인스턴스가 해당 용량 근처에서 대부분의 시간을 보내는 경우 최소 DCU 설정을 높이는 것이 좋습니다. 이렇게 하면 유휴 인스턴스가 더 빠르게 최대 용량까지 다시 스케일 업할 수 있습니다.
+ 연결 제한, 커서 제한, 미결 트랜잭션 제한과 같은 특정 인스턴스 제한은 서버리스 인스턴스의 현재 용량에 따라 결정됩니다. 인스턴스의 현재 용량이 작으면 그에 따라 제한도 작아집니다. 서버리스 인스턴스를 `MinCapacity` 값으로 스케일 다운할 때 이러한 제한이 문제가 되는 경우 더 높은 값으로 `MinCapacity`를 늘리는 것이 좋습니다. 자세한 내용은 [Amazon DocumentDB Serverless 인스턴스 제한](docdb-serverless-instance-limits.md) 단원을 참조하십시오.
+ 또한 `MinCapacity`가 1.0DCU 이하로 설정되면 활성 연결 제한, 커서 제한, 미결 트랜잭션 제한과 같은 특정 인스턴스 제한이 더 낮은 최대값으로 한정됩니다. 이러한 한정된 제한이 워크로드에 충분하지 않은 경우 1.5DCU 이상의 `MinCapacity` 값을 사용합니다. 자세한 내용은 [Amazon DocumentDB Serverless 인스턴스 제한](docdb-serverless-instance-limits.md) 단원을 참조하십시오.

클러스터의 규모 조정 구성을 수정하는 방법에 대한 지침은 [Amazon DocumentDB Serverless 관리](docdb-serverless-managing.md) 섹션을 참조하세요.

## DocumentDB Serverless 클러스터에 대한 `MaxCapacity` 설정 선택
<a name="docdb-serverless-scaling-maxcapacity-choosing"></a>

최대 DocumentDB Serverless 용량 설정에 대해 항상 높은 값을 선택하는 것이 좋습니다. 최대 용량이 크면 인스턴스가 집약적인 워크로드를 실행할 때 가장 많이 스케일 업할 수 있습니다. 낮은 값은 예기치 않은 요금의 가능성을 방지합니다. 해당 클러스터를 사용하는 방법과 구성하는 기타 설정에 따라 가장 효과적인 값은 원래 생각했던 것보다 높거나 낮을 수 있습니다. 최대 용량 설정을 선택할 때는 다음 요소를 고려하세요.
+ 최대 용량은 최소 용량보다는 커야 합니다. 최대 및 최소 용량은 동일하게 설정할 수 있습니다. 그러나 이 경우 용량은 절대 확장하거나 축소되지 않습니다. 따라서 최소 및 최대 용량에 대해 동일한 값을 사용하는 것은 테스트 상황 외에는 적절하지 않습니다.
+ 최대 용량은 최소 1.0DCU여야 하며 최대 256DCU여야 합니다.
+ 서버리스 인스턴스의 규모 조정 및 리소스 사용량을 모니터링하는 것이 좋습니다. 서버리스 인스턴스가 최대 용량으로 자주 조정되고 리소스 제약 조건에 도달하는 경우(예: 지표가 `DCUUtilization` 100.0인 경우) 더 높은 `MaxCapacity` 값을 선택하는 것이 좋습니다. 자세한 내용은 [Amazon DocumentDB Serverless 모니터링](docdb-serverless-monitoring.md) 단원을 참조하십시오.
+ 일반적으로 특히 높거나 낮은 워크로드를 예상하여 프로비저닝된 인스턴스의 인스턴스 클래스를 수정하는 경우 해당 경험을 사용하여 동등한 DocumentDB Serverless 용량 범위를 추정할 수 있습니다. 프로비저닝된 Amazon DocumentDB 인스턴스의 메모리 크기를 확인하려면 [인스턴스 제한](limits.md#limits.instance) 섹션을 참조하세요.

  예를 들어 클러스터의 워크로드가 높은 경우 `db.r6g.4xlarge` 인스턴스 클래스를 사용한다고 가정해보겠습니다. 해당 인스턴스 클래스에는 128GiB의 메모리가 있습니다. 따라서 최대 DCU 설정을 64로 지정하여 거의 동일한 용량으로 스케일 업할 수 있는 서버리스 인스턴스를 설정할 수 있습니다. 이는 각 DCU가 약 2GiB의 메모리에 해당하기 때문입니다. `db.r6g.4xlarge` 인스턴스에 워크로드를 효과적으로 처리할 수 있는 용량이 충분하지 않은 경우에 대비하여 인스턴스를 더 스케일 업할 수 있도록 다소 높은 값을 지정할 수 있습니다.
+ 데이터베이스 사용량에 대한 예산 상한이 있는 경우 모든 서버리스 인스턴스가 항상 최대 용량으로 실행되더라도 해당 상한 내에서 유지되는 값을 선택하세요. 클러스터에 n개의 서버리스 인스턴스가 있는 경우 클러스터가 언제든지 사용할 수 있는 이론상 최대 서버리스 용량은 n에 클러스터의 최대 DCU 설정을 곱한 것입니다. (예를 들어 일부 리더가 라이터와 독자적으로 확장하는 경우 실제 소비량은 더 적을 수 있습니다.)
+ 서버리스 리더 인스턴스를 사용하여 라이터 인스턴스에서 읽기 전용 워크로드의 일부를 오프로드하는 경우 더 낮은 최대 용량 설정을 선택할 수 있습니다. 클러스터에 단일 인스턴스만 포함되어 있는 것처럼 각 리더 인스턴스를 높게 조정할 필요가 없음을 반영하기 위해 이 작업을 수행합니다.
+ 애플리케이션에서 잘못 구성된 데이터베이스 파라미터터 또는 비효율적인 쿼리로 인한 과도한 사용을 방지하는 경우를 가정해 보겠습니다. 이 경우 설정할 수 있는 절대 최대값보다 낮은 최대 용량 설정을 선택하여 우발적인 남용을 방지할 수 있습니다.
+ 실제 사용자 활동으로 인한 스파이크가 드물지만 발생하는 경우 최대 용량 설정을 선택할 때 이러한 경우를 고려할 수 있습니다. 애플리케이션이 전체 성능과 확장성을 유지하여 계속 실행하는 것이 우선 순위인 경우 정상 사용에서 관찰되는 것보다 더 높은 최대 용량 설정을 지정할 수 있습니다. 활동이 극도로 급증하는 동안 애플리케이션이 감소된 처리량으로 실행되는 것이 괜찮다면 약간 더 낮은 최대 용량 설정을 선택할 수 있습니다. 애플리케이션을 계속 실행하기에 충분한 메모리와 CPU 리소스가 있는 설정을 선택했는지 확인하세요.
+ 클러스터에서 각 인스턴스의 메모리 사용량을 늘리는 설정을 켜면 최대 DCU 값을 결정할 때 해당 메모리를 고려합니다. 이러한 설정에는 성능 개선 도우미 및 글로벌 클러스터에 대한 설정이 포함됩니다. 최대 DCU 값이 서버리스 인스턴스가 해당 기능이 사용 중일 때 워크로드를 처리할 수 있을 만큼 충분히 스케일 업할 수 있도록 허용하는지 확인하세요. 낮은 최대 DCU 설정과 메모리 오버헤드를 부과하는 Amazon DocumentDB 기능의 조합으로 인해 발생하는 문제 해결에 대한 정보는 아래의 [메모리 부족 오류 방지](#docdb-serverless-scaling-mem-errors) 섹션을 참조하세요.
+ 특히 지정된 기능과 함께 사용하려면 다음과 같은 최소 `MaxCapacity`를 권장합니다(이 권장 사항은 변경될 수 있음).
  + 큰 데이터 볼륨이 있는 클러스터에서 서버리스 인스턴스 생성 - 2DCU(클러스터 복원의 일부인 서버리스 인스턴스 생성 포함)
+ 연결 제한, 커서 제한, 미결 트랜잭션 제한과 같은 특정 인스턴스 제한은 인스턴스의 현재 용량에 따라 결정됩니다. 워크로드에 `MaxCapacity` 값을 선택할 때는 이러한 제한 중 하나에 의해 병목 현상이 발생하지 않도록 이러한 인스턴스 제한을 염두에 두어야 합니다. 자세한 내용은 [Amazon DocumentDB Serverless 인스턴스 제한](docdb-serverless-instance-limits.md) 단원을 참조하십시오.

클러스터의 규모 조정 구성을 수정하는 방법에 대한 지침은 [Amazon DocumentDB Serverless 관리](docdb-serverless-managing.md) 섹션을 참조하세요.

## 메모리 부족 오류 방지
<a name="docdb-serverless-scaling-mem-errors"></a>

DocumentDB Serverless 인스턴스 중 하나가 지속적으로 최대 용량 한도에 도달하는 경우 Amazon DocumentDB는 인스턴스를 **incompatible-parameters** 상태로 설정하여 이 조건을 나타냅니다. 인스턴스가 **incompatible-parameters** 상태인 동안에는 일부 작업이 차단됩니다. 예를 들어 엔진 버전을 업그레이드할 수 없습니다. Amazon DocumentDB 인스턴스의 상태에 대한 자세한 내용은 [ Amazon DocumentDB 인스턴스 상태 모니터링](https://docs.aws.amazon.com//documentdb/latest/developerguide/monitoring_docdb-instance_status.html)을 참조하세요.

일반적으로 메모리 부족 오류로 인해 인스턴스가 자주 다시 시작되면 이 상태가 됩니다. Amazon DocumentDB는 이러한 유형의 재시작이 발생할 때 이벤트를 기록합니다. 리소스 이벤트를 보려면 [Amazon DocumentDB 이벤트 보기](managing-events.md#viewing-events) 섹션을 참조하세요. 성능 개선 도우미와 같은 설정을 켜서 발생하는 오버헤드로 인해 비정상적으로 높은 메모리 사용량이 발생할 수 있습니다. 또한 인스턴스의 과중한 워크로드 또는 많은 수의 스키마 객체와 연결된 메타데이터 관리로 인해 발생할 수 있습니다.

메모리 압력이 낮아져 인스턴스가 최대 용량에 자주 도달하지 않는 경우 Amazon DocumentDB는 자동으로 인스턴스 상태를 다시 사용 가능 상태로 변경합니다.

이 조건에서 복구하려면 다음 작업 중 일부 또는 전부를 수행할 수 있습니다.
+ 클러스터의 최소 DocumentDB 용량 단위(DCU) 값을 변경하여 서버리스 인스턴스의 용량 하한을 늘립니다. 이렇게 하면 유휴 데이터베이스가 클러스터에서 켜진 기능에 필요한 것보다 적은 메모리를 가진 용량으로 축소되는 문제를 피할 수 있습니다. 클러스터의 DCU 설정을 변경한 후 서버리스 인스턴스를 재부팅합니다. 이렇게 하면 Amazon DocumentDB가 상태를 다시 사용 가능으로 재설정할 수 있는지 여부를 평가합니다.
+ 클러스터의 최대 DCU 값을 변경하여 서버리스 인스턴스의 용량 상한을 늘립니다. 이렇게 하면 사용량이 많은 데이터베이스가 클러스터 및 데이터베이스 워크로드에서 켜진 기능을 위한 충분한 메모리로 용량을 확장할 수 없는 문제를 피할 수 있습니다. 클러스터의 DCU 설정을 변경한 후 서버리스 인스턴스를 재부팅합니다. 이렇게 하면 Amazon DocumentDB가 상태를 다시 사용 가능으로 재설정할 수 있는지 여부를 평가합니다.
+ 메모리 오버헤드가 필요한 구성 설정을 끕니다. 예를 들어 성능 개선 도우미와 같은 기능이 켜져 있지만 사용하지 않는다고 가정해보겠습니다. 이 경우 해당 기능을 끌 수 있습니다. 또는 클러스터의 최소 및 최대 용량 값을 더 높게 조정하여 그러한 유형의 기능에서 사용하는 메모리를 고려할 수 있습니다. 최소 및 최대 용량 설정 선택에 대한 지침은 [DocumentDB Serverless 클러스터의 규모 조정 용량 범위 선택](#docdb-serverless-scaling-capacity-choosing) 페이지를 참조하세요.
+ 인스턴스의 워크로드를 줄입니다. 예를 들어 클러스터에 리더 인스턴스를 추가하여 읽기 전용 쿼리의 로드를 더 많은 인스턴스에 분산할 수 있습니다.

## 서버리스 인스턴스가 스케일 다운되지 않는 이유는 무엇인가요?
<a name="docdb-serverless-scaling-down"></a>

데이터베이스에 로드가 없는데도 DocumentDB serverless가 최소값으로 스케일 다운되지 않는 경우가 있습니다. 원인은 다음과 같습니다.
+ 성능 개선 도우미는 리소스 사용량을 늘리고, 데이터베이스가 최소 용량으로 스케일 다운되는 것을 방지할 수 있습니다. 이러한 특성은 다음과 같습니다.
+ 리더 인스턴스가 최소 용량으로 스케일 다운되지 않고 라이터 인스턴스와 같거나 더 높은 용량을 유지하는 경우, 리더 인스턴스의 우선 순위 등급을 확인합니다. 티어 0 또는 1의 DocumentDB Serverless 리더 인스턴스는 최소한 라이터 인스턴스만큼 높은 최소 용량으로 유지됩니다. 리더의 우선 순위 등급을 2 이상으로 변경하여 라이터와 별개로 크기를 늘리거나 줄이십시오. 자세한 내용은 [Amazon DocumentDB Serverless 규모 조정](docdb-serverless-how-it-works.md#docdb-serverless-scaling) 단원을 참조하십시오.
+ 데이터베이스 워크로드가 많으면 리소스 사용량이 증가할 수 있습니다.
+ 데이터베이스 볼륨이 크면 리소스 사용량이 증가할 수 있습니다. Amazon DocumentDB는 클러스터 관리에 메모리와 CPU 리소스를 사용합니다. 데이터베이스 볼륨이 큰 클러스터를 관리하려면 Amazon DocumentDB에 더 많은 CPU와 메모리가 필요합니다. 클러스터의 최소 용량이 클러스터 관리에 필요한 최소 용량보다 작으면 클러스터가 최소 용량으로 스케일 다운되지 않습니다.
+ 백그라운드 유지 관리 활동은 주기적으로 리소스 사용량을 늘릴 수 있습니다.

그래도 데이터베이스가 구성된 최소 용량까지 축소되지 않는다면, 데이터베이스를 중지하고 다시 시작하여 시간이 지남에 따라 형성된 메모리 조각을 회수하십시오. 데이터베이스를 중지하고 다시 시작하면 다운타임이 발생하므로 이 작업은 최소한으로 수행하는 것이 좋습니다.

# Amazon DocumentDB Serverless 모니터링
<a name="docdb-serverless-monitoring"></a>

Amazon DocumentDB 모니터링에 대해 자세히 알아보려면 [Amazon DocumentDB 모니터링](monitoring_docdb.md) 섹션을 참조하세요.

**Topics**
+ [메모리 부족: 호환되지 않는 파라미터 상태](#w2aac41c27b7)
+ [DocumentDB Serverless에 대한 Amazon CloudWatch 지표](#w2aac41c27b9)
+ [성능 개선 도우미로 DocumentDB Serverless 성능 모니터링](#w2aac41c27c11)

## 메모리 부족: 호환되지 않는 파라미터 상태
<a name="w2aac41c27b7"></a>

Serverless 인스턴스 중 하나가 지속적으로 최대 용량 한도에 도달하는 경우 Amazon DocumentDB는 인스턴스를 incompatible-parameters 상태로 설정하여 이 조건을 나타냅니다. 자세한 내용은 [메모리 부족 오류 방지](docdb-serverless-scaling-config.md#docdb-serverless-scaling-mem-errors) 단원을 참조하십시오.

## DocumentDB Serverless에 대한 Amazon CloudWatch 지표
<a name="w2aac41c27b9"></a>

Amazon DocumentDB에 CloudWatch를 사용하는 방법에 대해 자세히 알아보려면 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md) 섹션을 참조하세요.

CloudWatch에서 서버리스 인스턴스를 보고 `ServerlessDatabaseCapacity` 지표를 통해 각 인스턴스에서 소비한 용량을 모니터링할 수 있습니다. `DatabaseConnections` 및 Queries와 같은 모든 표준 DocumentDB CloudWatch 지표를 모니터링할 수도 있습니다. Amazon DocumentDB에 대해 모니터링할 수 있는 CloudWatch 지표의 전체 목록은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md) 섹션을 참조하세요. 다음 CloudWatch 인스턴스 수준 지표는 DocumentDB Serverless 인스턴스가 스케일 업 및 스케일 다운되는 방식을 이해하기 위해 모니터링하는 데 중요합니다. 이러한 모든 지표는 매초마다 계산됩니다. 그렇게 하면 서버리스 인스턴스의 현재 상태를 모니터링할 수 있습니다. 서버리스 인스턴스가 용량과 관련된 지표 임계값에 도달하면 알림을 받도록 경보를 설정할 수 있습니다. 최소 및 최대 용량 설정이 적절한지 또는 조정이 필요한지 결정할 수 있습니다. 데이터베이스의 효율성을 최적화하기 위해 집중할 부분을 결정할 수 있습니다.
+ **`ServerlessDatabaseCapacity`** - 인스턴스 수준 지표로서 현재 인스턴스 용량이 나타내는 DCU 숫자를 보고합니다. 클러스터 수준의 지표로 클러스터 내 모든 DocumentDB Serverless 인스턴스의 `ServerlessDatabaseCapacity` 값 평균을 나타냅니다.
+ **`DCUUtilization.`** - 이 지표는 DocumentDB Serverless의 새로운 지표입니다. 이 값은 백분율로 표시됩니다. `ServerlessDatabaseCapacity` 지표의 값을 클러스터의 최대 DCU 값으로 나눈 값으로 계산됩니다. 이 지표를 해석하고 조치를 취하려면 다음 지침을 고려하세요.
  + 이 지표가 `100.0` 값에 가까워지면 인스턴스가 가능한 한 높게 스케일 업된 것입니다. 클러스터에 대한 최대 DCU 설정을 늘리는 것이 좋습니다. 이렇게 하면 라이터와 리더 인스턴스 모두 더 높은 용량으로 조정할 수 있습니다.
  + 읽기 전용 워크로드로 인해 리더 인스턴스가 `100.0`의 `DCUUtilization`에 접근하는 반면 라이터 인스턴스는 최대 용량에 근접하지 않는다고 가정해보겠습니다. 이 경우 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 워크로드의 읽기 전용 부분을 더 많은 인스턴스에 분산시켜 각 리더 인스턴스의 로드를 줄일 수 있습니다.
  + 성능과 확장성이 주요 고려 사항인 프로덕션 애플리케이션을 실행하고 있다고 가정합니다. 이 경우 클러스터의 최대 DCU 값을 높은 값으로 설정할 수 있습니다. 목표는 `DCUUtilization` 지표가 항상 100.0 아래에 있도록 하는 것입니다. 최대 DCU 값이 높으면 데이터베이스 활동이 예기치 않게 급증하는 경우에 충분한 공간이 확보되어 있다는 확신을 가질 수 있습니다. 실제로는 사용한 데이터베이스 용량에 대해서만 요금이 청구됩니다.
+ **`CPUUtilization`** - 이 지표는 프로비저닝된 인스턴스와 DocumentDB Serverless에서 다르게 해석됩니다. DocumentDB Serverless의 경우 이 값은 현재 사용 중인 CPU의 양을 클러스터의 최대 DCU 값 아래에서 사용 가능한 CPU 용량으로 나눈 값입니다. Amazon DocumentDB는 이 값을 자동으로 모니터링하고 인스턴스가 CPU 용량의 높은 비율을 지속적으로 사용하는 경우 서버리스 인스턴스를 스케일 업합니다.

  이 지표가 `100.0` 값에 가까워지면 인스턴스가 최대 CPU 용량에 도달한 것입니다. 클러스터에 대한 최대 DCU 설정을 늘리는 것이 좋습니다. 이 지표가 리더 인스턴스에서 `100.0` 값에 가까워지는 경우 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 워크로드의 읽기 전용 부분을 더 많은 인스턴스에 분산시켜 각 리더 인스턴스의 로드를 줄일 수 있습니다.
+ **`FreeableMemory`** - 이 값은 DocumentDB Serverless 인스턴스가 최대 용량으로 조정될 때 사용 가능한 미사용 메모리의 양을 나타냅니다. 현재 용량이 최대 용량 미만인 모든 DCU에 대해 이 값은 약 2GiB씩 증가합니다. 따라서 인스턴스가 가능한 한 높게 스케일 업될 때까지 이 지표는 0에 접근하지 않습니다.

  이 지표가 0 값에 접근하면 인스턴스가 가능한 한 스케일 업되었으며 사용 가능한 메모리 한도에 근접한 것입니다. 클러스터에 대한 최대 DCU 설정을 늘리는 것이 좋습니다. 이 지표가 리더 인스턴스에서 0 값에 가까워지는 경우 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 워크로드의 읽기 전용 부분을 더 많은 인스턴스에 분산하여 각 리더 인스턴스의 메모리 사용량을 줄일 수 있습니다.
+ **`TempStorageIops`** - 인스턴스에 연결된 로컬 스토리지에서 수행된 IOPS 수입니다. 여기에는 읽기와 쓰기에 모두 대한 IOPS가 포함됩니다. 이 지표는 개수를 나타내며 초당 한 번 측정됩니다. DocumentDB Serverless에 대한 새로운 지표입니다. 자세한 내용은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md)을 참조하세요.
+ **`TempStorageThroughput`** - 인스턴스와 연결된 로컬 스토리지에서 전송되는 데이터의 양입니다. 이 지표는 개수를 나타내며 초당 한 번 측정됩니다. DocumentDB Serverless에 대한 새로운 지표입니다. 자세한 내용은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md)을 참조하세요.

일반적으로 DocumentDB Serverless 인스턴스에 대한 대부분의 확장은 메모리 사용량과 CPU 활동으로 인해 발생합니다. `TempStorageIops` 및 `TempStorageThroughput` 지표는 인스턴스와 로컬 스토리지 디바이스 간의 전송에 대한 네트워크 활동이 예상치 못한 용량 증가의 원인이 되는 드문 경우를 진단하는 데 도움이 될 수 있습니다. 다른 네트워크 활동을 모니터링하려면 다음과 같은 기존 지표를 사용할 수 있습니다.
+ `NetworkReceiveThroughput`
+ `NetworkThroughput`
+ `NetworkTransmitThroughput`
+ `StorageNetworkReceiveThroughput`
+ `StorageNetworkThroughput`
+ `StorageNetworkTransmitThroughput`

### DocumentDB 서버리스 CloudWatch 지표가 AWS 청구서에 적용되는 방법
<a name="w2aac41c27b9c13"></a>

 AWS 청구서의 DocumentDB 서버리스 요금은 모니터링할 수 있는 것과 동일한 `ServerlessDatabaseCapacity` 지표를 기반으로 계산됩니다. DocumentDB Serverless 용량을 한 시간의 일부만 사용하는 경우 청구 메커니즘은 이 지표에 대해 계산된 CloudWatch 평균과 다를 수 있습니다. 시스템 문제로 인해 CloudWatch 지표를 짧은 기간 동안 사용할 수 없는 경우에도 다를 수 있습니다. 따라서 청구서에 DCU-시간 값이 `ServerlessDatabaseCapacity` 평균값에서 직접 계산하는 경우와 약간 다를 수 있습니다.

### DocumentDB Serverless 지표에 대한 Amazon CloudWatch CLI 명령의 예
<a name="w2aac41c27b9c15"></a>

다음 AWS CLI 예제에서는 DocumentDB 서버리스와 관련된 가장 중요한 CloudWatch 지표를 모니터링하는 방법을 보여줍니다. 각 경우에 `--dimensions` 파라미터의 `Value=` 문자열을 고유한 DocumentDB Serverless 인스턴스의 식별자로 바꿉니다.

다음 Linux 예제는 1시간 동안 10분마다 측정된 인스턴스의 최소, 최대 및 평균 용량 값을 표시합니다. Linux date 명령은 현재 날짜 및 시각을 기준으로 시작 및 종료 시각을 지정합니다. `--query` 파라미터의 `sort_by` 함수는 `Timestamp` 필드를 기준으로 결과를 시간순으로 정렬합니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "ServerlessDatabaseCapacity" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

다음 Linux 예제는 클러스터에 있는 인스턴스의 용량 모니터링을 보여줍니다. 인스턴스의 최소, 최대 및 평균 용량 사용률을 측정합니다. 측정은 3시간 동안 매시간에 한 번씩 측정됩니다. 이 예에서는 고정된 수의 DCU를 나타내는 `ServerlessDatabaseCapacity` 대신 DCU에 대한 상한의 백분율을 나타내는 `DCUUtilization` 지표를 사용합니다. 이렇게 하면 용량 범위에서 최소 및 최대 DCU 값의 실제 수치를 알 필요가 없습니다. 0에서 100 사이의 백분율을 볼 수 있습니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "DCUUtilization" \
    --start-time "$(date -d '3 hours ago')" \
    --end-time "$(date -d 'now')" \
    --period 3600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

다음 Linux 예제는 이전 예제와 유사한 측정을 수행합니다. 이 경우 측정은 `CPUUtilization` 지표에 대한 것입니다. 측정은 1시간 동안 10분마다 수행됩니다. 이 수치는 인스턴스의 최대 용량 설정까지 사용 가능한 CPU 리소스를 기준으로 사용된 사용 가능한 CPU의 백분율을 나타냅니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "CPUUtilization" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

다음 Linux 예제는 이전 예제와 유사한 측정을 수행합니다. 이 경우 측정은 `FreeableMemory` 지표에 대한 것입니다. 측정은 1시간 동안 10분마다 수행됩니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "FreeableMemory" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

## 성능 개선 도우미로 DocumentDB Serverless 성능 모니터링
<a name="w2aac41c27c11"></a>

성능 개선 도우미를 사용하여 DocumentDB Serverless 인스턴스의 성능을 모니터링할 수 있습니다. 성능 개선 도우미 프로시저는 [성능 개선 도우미로 모니터링](performance-insights.md) 페이지를 참조하세요.

다음과 같은 새로운 성능 개선 도우미 카운터가 DocumentDB Serverless 인스턴스에 적용됩니다.
+ **`os.general.serverlessDBCapacity`** - 인스턴스의 현재 용량(DCU 단위)입니다. 인스턴스에 대한 `ServerlessDatabaseCapacity` CloudWatch 지표에 해당하는 값입니다.
+ **`os.general.dcuUtilization`** - 구성된 최대 용량에서 현재 용량의 백분율입니다. 인스턴스에 대한 `DCUUtilization` CloudWatch 지표에 해당하는 값입니다.
+ **`os.general.maxConfiguredDcu`** - 이 DocumentDB Serverless 인스턴스에 대해 구성한 최대 용량입니다. DCU로 측정됩니다.
+ **`os.general.minConfiguredDcu`** - 이 DocumentDB Serverless 인스턴스에 대해 구성한 최소 용량입니다. DCU로 측정됩니다.

성능 개선 도우미 카운터의 전체 목록은 [카운터 지표에 대한 성능 개선 도우미](performance-insights-counter-metrics.md) 페이지를 참조하세요.

성능 개선 도우미에서 DocumentDB Serverless 인스턴스에 대해 vCPU 값이 표시되는 경우 해당 값은 인스턴스에 대한 DCU 값을 기반으로 한 추정치를 나타냅니다. 기본 간격인 1분 간격으로 모든 분수 vCPU 값은 가장 가까운 정수로 반올림됩니다. 더 긴 간격의 경우 표시된 vCPU 값은 분당 정수 vCPU 값의 평균입니다.