Amazon DocumentDB 서버리스 작동 방식 - Amazon DocumentDB

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

Amazon DocumentDB 서버리스 작동 방식

개요

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

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

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

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

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

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

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

Amazon DocumentDB 클러스터에 대한 구성

각 Amazon DocumentDB 클러스터에 대해 DocumentDB 서버리스 용량, 프로비저닝된 용량 또는 둘 다의 조합을 선택할 수 있습니다.

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

DocumentDB 서버리스에서 모든 용량을 관리하는 클러스터를 설정할 수도 있습니다. 이렇게 하려면 새 클러스터를 생성하고 처음부터 DocumentDB 서버리스를 사용할 수 있습니다. 또는 기존 클러스터의 프로비저닝된 모든 용량을 DocumentDB 서버리스로 바꿀 수 있습니다. DocumentDB 서버리스를 사용하여 새 클러스터를 생성하거나 기존 클러스터를 DocumentDB 서버리스로 전환하는 절차는 Amazon DocumentDB 서버리스를 사용하는 클러스터 생성 및 섹션을 참조하세요Amazon DocumentDB 서버리스로 마이그레이션.

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

Amazon DocumentDB 서버리스 규모 조정 용량

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

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

언제든지 각 DocumentDB 서버리스 라이터 또는 리더에는 용량이 있습니다. 용량은 DCUs. 라이터 또는 리더가 확장될 때마다 용량이 증가하거나 감소합니다. 이 값은 매초마다 측정됩니다. DocumentDB 서버리스를 사용하려는 각 클러스터에 대해 용량 범위, 즉 각 DocumentDB 서버리스 라이터 또는 리더가 확장할 수 있는 최소 및 최대 용량 값을 정의합니다. 용량 범위는 클러스터의 각 DocumentDB 서버리스 라이터 또는 리더에 대해 동일합니다. 각 DocumentDB 서버리스 라이터 또는 리더에는 자체 용량이 있으므로 해당 범위에 속합니다.

DocumentDB 서버리스는 용량 범위가 0.5~256DCU인 DocumentDB 5.0.0 이상에서 지원됩니다. DCUs

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

각 라이터 또는 리더가 버퍼 풀에 애플리케이션의 작업 세트를 보유할 수 있도록 최소값을 값으로 설정하는 것이 좋습니다. 이렇게 하면 유휴 기간 동안 버퍼 풀의 내용이 삭제되지 않습니다. 조정 용량 범위를 선택할 때의 모든 고려 사항은 섹션을 참조하세요DocumentDB 서버리스 클러스터의 조정 용량 범위 선택.

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

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

DocumentDB 서버리스 용량에 대한 요금은 DCU 시간으로 측정됩니다. DocumentDB 서버리스 요금 계산 방법에 대한 자세한 내용은 Amazon DocumentDB 요금을 참조하세요. 클러스터의 총 라이터 및 리더 수가 n개라고 가정해 보겠습니다. 이 경우 데이터베이스 작업을 실행하지 않을 때 클러스터는 최소 DCUs의 약 n배를 소비합니다. Amazon DocumentDB 자체는 약간의 부하를 유발하는 모니터링 또는 유지 관리 작업을 실행할 수 있습니다. 데이터베이스가 전체 용량으로 실행 중일 때 해당 클러스터는 최대 DCUs의 수를 n개 이하로 소비합니다.

적절한 최소 및 최대 DCU 값 선택에 대한 자세한 내용은 섹션을 참조하세요DocumentDB 서버리스 클러스터의 조정 용량 범위 선택. 지정하는 최소 및 최대 DCU 값도 일부 Amazon DocumentDB 인스턴스 제한에 영향을 미칩니다. 용량 범위와 인스턴스 제한 간의 상호 작용에 대한 자세한 내용은 섹션을 참조하세요Amazon DocumentDB 서버리스 인스턴스 제한.

Amazon DocumentDB 서버리스 규모 조정

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

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

크기 조정은 데이터베이스의 DocumentDB 서버리스 용량을 늘리거나 줄이는 작업입니다. DocumentDB 서버리스를 사용하면 각 라이터와 리더에는 DCUs. DocumentDB 서버리스는 현재 용량이 너무 낮아 로드를 처리할 수 없는 경우 라이터 또는 리더를 더 높은 용량으로 확장합니다. 현재 용량이 필요 이상으로 높으면 라이터 또는 리더를 더 낮은 용량으로 축소합니다.

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

DocumentDB 서버리스 규모 조정은 매우 빈번하고 세분화되며 중단되지 않기 때문에에서 개별 이벤트가 발생하지 않습니다 AWS Management Console. 대신 serverlessDatabaseCapacity 및와 같은 Amazon CloudWatch 지표를 측정하고 시간 경과에 따른 최소DCUUtilization, 최대 및 평균 값을 추적할 수 있습니다. DocumentDB 서버리스 모니터링에 대한 자세한 내용은 섹션을 참조하세요Amazon DocumentDB 서버리스 모니터링.

확장 또는 축소는 다음과 같은 원인으로 발생할 수 있습니다.

  • 메모리 사용률

  • CPU 사용률

  • 네트워크 사용률

  • 스토리지 사용률

DocumentDB 서버리스 인스턴스에서 이러한 스케일 업/다운의 원인을 모니터링할 수 있습니다. 자세한 내용은 Amazon DocumentDB 서버리스 모니터링 단원을 참조하십시오.

연결된 라이터와 동시에 또는 라이터와 독립적으로 리더를 확장하도록 선택할 수 있습니다. 해당 리더에 대한 프로모션 티어를 지정하면 됩니다.

  • 승격 티어 0 및 1의 DocumentDB 서버리스 리더는 라이터와 동시에 확장됩니다. 이러한 확장 동작은 우선 순위 티어 0 및 1의 리더가 가용성에 이상적입니다. 장애 조치(failover)의 경우 라이터의 워크로드를 인계할 수 있도록 적절한 용량으로 항상 크기가 조정되기 때문입니다.

  • 프로모션 티어 2~15의 리더는 라이터와 독립적으로 확장됩니다. 각 리더는 클러스터에 지정한 최소 및 최대 DCU 값 내에 유지됩니다. 리더가 연결된 라이터 DB와 독립적으로 확장되면 라이터가 계속해서 많은 양의 트랜잭션을 처리하는 동안 유휴 상태가 되어 축소될 수 있습니다. 더 낮은 프로모션 티어에서 사용할 수 있는 다른 판독기가 없는 경우 장애 조치 대상으로 계속 사용할 수 있습니다. 그러나 라이터로 프로모션되는 경우 라이터의 전체 워크로드를 처리하기 위해 확장해야 할 수 있습니다.

서버리스 인스턴스의 승격 티어 보기 및 변경에 대한 자세한 내용은 섹션을 참조하세요서버리스 리더의 승격 계층 보기 및 수정.

데이터베이스 연결이 열려 있는 동안과 트랜잭션이 처리 중인 동안 DocumentDB 서버리스 조정이 발생할 수 있습니다. DocumentDB 서버리스는 조용한 지점이 조정을 시작할 때까지 기다리지 않습니다. 확장은 진행 중인 데이터베이스 작업을 방해하지 않습니다.

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

DocumentDB 서버리스가 조정을 수행하는지 여부와 시작 후 조정이 수행되는 속도도 클러스터의 최소 및 최대 DCU 설정에 따라 달라집니다. 또한 리더가 라이터와 함께 확장되도록 구성되었는지 또는 독자적으로 구성되었는지에 따라 다릅니다. 조정 구성에 대한 자세한 내용은 섹션을 참조하세요Amazon DocumentDB 서버리스 조정 구성.

유휴 상태(0.5DCUs)

Amazon DocumentDB 서버리스 라이터 또는 리더가 유휴 상태인 경우 클러스터의 MinCapacity가 0.5로 구성된 경우 DocumentDB 서버리스 인스턴스는 0.5DCUs의 유휴 상태로 스케일 다운을 지원합니다.

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

유휴 시 0.5DCUs로 축소할 수 있도록 MinCapacity가 1.0DCUs 이하로 구성된 경우 인스턴스 제한이 제한됩니다. MinCapacity 구성의 영향을 받는 제한에 대한 자세한 내용은 섹션을 참조하세요Amazon DocumentDB 서버리스 인스턴스 제한.