자동 스케일링 처리량을 사용하여 Azure Cosmos 컨테이너 및 데이터베이스 만들기
적용 대상: NoSQL MongoDB Cassandra Gremlin 테이블
Azure Cosmos DB를 사용하면 데이터베이스 및 컨테이너에서 표준(수동) 또는 프로비전된 처리량 자동 크기 조정을 설정할 수 있습니다. Azure Cosmos DB에서 프로비전된 처리량 지동 크기 조정을 사용하면 데이터베이스 또는 컨테이너의 처리량(RU/s)을 자동으로 즉시 크기 조정할 수 있습니다.
자동 크기 조정 프로비저닝된 처리량은 변수 또는 예측할 수 없는 트래픽 패턴이 있는 중요 업무용 워크로드에 적합하며 고성능과 규모에 대한 SLA가 필요합니다. 자동 크기 조정은 기본적으로 가장 활성 지역 및 파티션에 따라 워크로드 크기를 조정합니다. 지역 및 파티션 전반에 걸쳐 워크로드 패턴이 서로 다른 균일하지 않은 워크로드의 경우 이러한 스케일 업으로 인해 불필요한 스케일 업이 발생할 수 있습니다. 동적 크기 조정 또는 동적 자동 크기 조정은 지역별 및 파티션 수준에서 사용량에 따라 독립적으로 이러한 비유형 워크로드의 크기를 조정하는 데 도움이 되는 전체에서 프로비전된 자동 크기 조정의 향상된 기능입니다. 동적 크기 조정을 사용하면 핫 파티션이 자주 발생하거나 여러 지역이 있는 경우 비용을 절감할 수 있습니다.
자동 크기 조정의 이점
자동 크기 조정 프로비전된 처리량으로 구성된 Azure Cosmos DB 데이터베이스 및 컨테이너의 이점은 다음과 같습니다.
단순: 자동 스케일링을 사용하면 사용자 지정 스크립팅 또는 수동 용량 스케일링으로 RU/s 관리의 복잡성이 제거됩니다.
스케일링 가능: 데이터베이스와 컨테이너는 필요에 따라 프로비저닝된 처리량을 자동으로 스케일링합니다. 클라이언트 연결, 애플리케이션 또는 Azure Cosmos DB SLA가 중단되지 않습니다.
비용 효율성:자동 스케일링은 사용하지 않을 때 축소하여 RU/s 사용량 및 비용 사용량을 최적화하는 데 도움이 됩니다. 워크로드에 필요한 리소스에 대해서만 시간당 기준으로 비용을 지불합니다. 한 달의 모든 시간 중에서 자동 크기 조정 최대 초당 RU/s(Tmax)를 설정하고 시간의 66% 이내에서 전체 크기 Tmax를 사용하는 경우 자동 크기 조정으로 비용을 절감할 수 있습니다. 동적 크기 조정 외에도 고가용성을 위해 보조 지역을 추가하는 것은 각 지역 및 파티션이 실제 사용량에 따라 독립적으로 확장되므로 비용 효율성이 더 높습니다. 자세한 내용은 프로비전된 처리량 표준(수동) 및 자동 크기 조정 중에서 선택하는 방법 문서를 참조하세요.
고가용성: 자동 스케일링을 사용하는 데이터베이스 및 컨테이너는 데이터 내구성 및 고가용성을 보장하기 위해 전 세계적으로 분산된 내결함성이 있으며 가용성이 높은 동일한 Azure Cosmos DB 백 엔드를 사용합니다.
자동 크기 조정 사용 사례
자동 크기 조정 사용 사례는 다음과 같습니다.
가변적이거나 예측 불가능한 워크로드:워크로드의 사용량이 가변적이거나 예측할 수 없는 급증의 경우 자동 스케일링은 사용량에 따라 자동으로 확장 및 축소하여 지원합니다. 계절성에 따라 서로 다른 트래픽 패턴을 가진 소매점 웹 사이트, 하루 중 다양한 시간에 급증하는 IOT 워크로드, 월 또는 연도와 같이 몇 번 최고 사용량을 보이는 기간 업무 애플리케이션 등을 예로 들 수 있습니다. 자동 크기 조정을 사용하면 더 이상 최대 또는 평균 용량을 수동으로 프로비저닝할 필요가 없습니다.
새 애플리케이션:새 애플리케이션을 개발하고 필요한 처리량(RU/s)에 대해 잘 모르는 경우 자동 스케일링을 사용하면 쉽게 시작할 수 있습니다. 100~1000RU/s의 자동 크기 조정 진입점으로 시작하고, 사용량을 모니터링하고, 시간에 따라 올바른 RU/s를 결정할 수 있습니다.
자주 사용되지 않는 애플리케이션: 저용량 애플리케이션/웹/블로그 사이트와 같이 하루에 몇 시간, 주 또는 한 달에 몇 시간 동안만 사용되는 애플리케이션이 있는 경우 자동 크기 조정은 최대 사용량을 처리하도록 용량을 조정하고 끝나면 축소합니다.
개발 및 테스트 워크로드:사용자 또는 팀에서 근무 시간 동안 Azure Cosmos DB 데이터베이스 및 컨테이너를 사용하지만 야간 또는 주말에는 필요하지 않은 경우 자동 크기 조정을 통해 사용하지 않을 때 최소로 축소하여 비용을 절감할 수 있습니다.
예약된 프로덕션 워크로드/쿼리: 유휴 기간 동안 실행하려는 일련의 예약된 요청, 작업 또는 쿼리가 있는 경우 자동 스케일링을 사용하여 쉽게 수행할 수 있습니다. 워크로드를 실행해야 하는 경우 처리량이 자동으로 필요한 값으로 스케일 업되고 나중에 스케일 다운됩니다.
이러한 문제에 대한 사용자 지정 솔루션을 구축하려면 상당한 시간이 필요할 뿐만 아니라 애플리케이션의 구성 또는 코드에 복잡성을 야기할 수 있습니다. 자동 크기 조정은 위의 시나리오를 즉시 사용하도록 설정하고 용량에 대한 사용자 지정 또는 수동 크기 조정의 필요성을 제거합니다.
동적 크기 조정의 사용 사례
동적 크기 조정의 사용 사례는 다음과 같습니다.
- 트래픽이 많은 주 지역과 재해 복구를 위한 보조 수동 지역이 있는 데이터베이스 워크로드입니다.
- 동적 크기 조정을 사용하면 여러 지역에서 고가용성을 달성하는 것이 더 비용 효율적입니다. 보조 지역은 유휴 상태일 때 독립적으로 자동 축소됩니다. 또한 보조 지역은 활성화되고 주 지역에서 쓰기 복제 트래픽을 처리하는 동안 자동으로 크기 조정됩니다.
- 다중 지역 데이터베이스 워크로드.
- 이러한 워크로드는 하루 종일 자연스러운 트래픽 증가 및 감소로 인해 지역 간 요청 배포가 균등하지 않은 경우가 많습니다. 예를 들어, 데이터베이스는 전 세계적으로 분산된 표준 시간대에 걸쳐 업무 시간 동안 활성화될 수 있습니다.
자동 크기 조정 프로비저닝된 처리량의 작동 방식
자동 크기 조정을 사용하여 컨테이너 및 데이터베이스를 구성할 때 필요한 최대 처리량 Tmax
를 지정합니다. Azure Cosmos DB는 0.1*Tmax <= T <= Tmax
와 같은 처리량 T
를 크기 조정합니다. 예를 들어 최대 처리량을 20,000RU/s로 설정하면 처리량은 2000에서 20,000RU/s 사이로 스케일됩니다. 크기 조정은 언제든지 자동으로 또한 즉각적으로 진행되므로 지연 없이 프로비저닝된 Tmax
까지 사용할 수 있습니다.
매 시간마다 시스템이 해당 시간 내에 스케일링된 최고 처리량 T
에 대한 요금이 청구됩니다. 동적 크기 조정을 사용하는 경우 크기 조정은 각 실제 파티션 및 지역의 RU/s 사용량을 기반으로 합니다. 각 파티션과 지역이 독립적으로 확장되면 불필요한 스케일 업이 방지되기 때문에 비유형 워크로드에 대한 비용 절감이 발생할 수 있습니다.
자동 크기 조정 최대 처리량 Tmax
의 진입점은 100~1000RU/s 범위에서 크기 조정되는 1000RU/s에 시작합니다. Tmax
를 1000RU/s 단위로 설정하고 언제든지 값을 변경할 수 있습니다.
예를 들어, 1000RU/s 및 2 파티션으로 구성된 컬렉션이 있는 경우 각 파티션은 최대 500RU/s까지 가능합니다. 1시간 동안의 작업에 대한 사용률은 다음과 같습니다.
지역 | 파티션 | 처리량 | 사용률 | 주의 |
---|---|---|---|---|
쓰기 | P1 | <= 500 RU/s | 100% | 500RU/s는 쓰기 작업에 사용되는 50RU/s와 읽기 작업에 사용되는 450RU/s로 구성됩니다. |
쓰기 | P2 | <= 200 RU/s | 40% | 모든 읽기 작업으로 구성된 200RU/s. |
읽음 | P1 | <= 150 RU/s | 30% | 쓰기 지역에서 복제된 쓰기에 사용되는 50RU/s로 구성된 150RU/s입니다. 이 지역의 읽기 작업에는 100RU/s가 사용됩니다. |
읽음 | P2 | <= 50 RU/s | 10% |
동적 크기 조정이 없으면 가장 핫한 파티션에 따라 모든 파티션의 크기가 균일하게 조정됩니다. 이 예제에서는 가장 핫한 파티션의 사용률이 100%이므로 쓰기 및 읽기 영역의 모든 파티션이 1000RU/s로 확장되어 총 RU/s가 2000RU/s로 확장됩니다.
동적 크기 조정을 사용하면 각 파티션과 지역의 처리량이 독립적으로 크기 조정되므로 총 RU/s의 크기가 900RU/s로 조정되므로 실제 트래픽 패턴을 더 잘 반영하고 비용을 절감할 수 있습니다.
기존 리소스에서 자동 크기 조정 사용
Azure Portal, CLI, PowerShell을 통해 기존 데이터베이스 또는 컨테이너에서 자동 크기 조정을 사용하도록 설정할 수 있습니다. 언제든지 자동 크기 조정과 표준(수동) 프로비저닝된 처리량 사이를 전환할 수 있습니다. 자세한 내용은 이 설명서를 참조하세요.
자동 스케일링에 대한 처리량 및 스토리지 제한
Tmax
의 값의 경우 데이터베이스나 컨테이너는 총 0.1 * Tmax GB
를 저장할 수 있습니다. 이 스토리지 용량에 도달하면 애플리케이션에 영향을 주지 않고 새 스토리지 값에 따라 최대 RU/s가 자동으로 증가합니다.
예를 들어 최대 RU/s를 50,000RU/s(5000~50,000RU/s 범위에서 크기 조정)에서 시작하는 경우 최대 5000GB까지 데이터를 저장할 수 있습니다. 5,000GB를 초과하는 경우(예: 이제 스토리지가 6,000GB) 새 최대 RU/s는 60,000RU/s(6,000~60,000RU/s 범위에서 크기 조정)가 됩니다.
자동 크기 조정으로 데이터베이스 수준 처리량을 사용하는 경우 100GB의 스토리지를 초과하지 않는 한 처음 25개 컨테이너가 1000의 자동 크기 조정 최대 RU/s(100~1000RU/s 범위에서 크기 조정)를 공유할 수 있습니다. 자세한 내용은 이 설명서를 참조하세요.
동적 크기 조정 사용
동적 크기 조정은 2024년 9월 25일 이후에 만든 모든 Azure Cosmos DB 계정에 대해 기본적으로 사용하도록 설정됩니다. 이전 계정에서 이 기능을 사용하도록 설정하려는 고객은 다음과 같이 Azure PowerShell/CLI/Rest API를 통해 또는 Azure Portal의 기능 창에서 프로그래밍 방식으로 이 기능을 사용하도록 설정할 수 있습니다.
Azure Portal에서 Azure Cosmos DB 계정으로 이동합니다.
기능 페이지로 이동합니다.
동적 크기 조정(지역별 및 파티션별 자동 크기 조정) 기능을 찾아 사용하도록 설정합니다.
Important
이 기능은 계정 수준에서 사용하도록 설정되므로 계정 내의 모든 자동 크기 조정 컨테이너와 공유 처리량 데이터베이스에 이 기능이 자동으로 적용됩니다. 이 기능을 사용하도록 설정해도 수동 처리량을 사용하는 계정의 리소스에는 영향을 주지 않습니다. 동적 크기 조정을 활용하려면 수동 리소스를 자동 크기 조정으로 변경해야 합니다. 이 기능을 사용하도록 설정해도 가동 중지 시간 또는 성능에 영향이 전혀 없습니다. 이 기능은 서버리스 계정에는 적용되지 않습니다.
모니터링 메트릭
다음 메트릭을 사용하여 자동 크기 조정 및 동적 크기 조정을 모니터링할 수 있습니다.
메트릭 이름 | 정의 | 메트릭 사용량 |
---|---|---|
프로비저닝된 처리량 | 시간 전체에 걸쳐 집계된 가장 높은 RU/s를 표시하고 시간 단위로 크기가 조정된 총 RU/s를 나타냅니다. | Provisioned Throughput 메트릭을 사용하여 매시간 청구되는 RU/s를 볼 수 있습니다. 자동 크기 조정을 사용하면 매시간 가장 활성 파티션에 따라 요금이 청구되며 모든 파티션 및 지역에도 동일하게 적용됩니다. 동적 자동 크기 조정을 사용하면 각 파티션 및 지역 수준에서 매시간 집계된 가장 높은 RU/s에 대한 요금이 청구됩니다. |
정규화된 RU 사용량 | 이 메트릭은 각 파티션 및 지역 수준에서 프로비전된 RU/s에 사용되는 RU/s의 비율을 나타냅니다. | 이 메트릭을 사용하여 자동 크기 조정 최대 처리량이 프로비저닝된 정도보다 낮거나 높은지 확인합니다. 메트릭 값이 일관되게 100%이고 애플리케이션에 속도 제한(429 오류 코드)이 표시되는 경우 더 많은 RU/s가 필요할 수 있습니다. 반면, 이 메트릭 값이 낮고 속도 제한이 없는 경우 RU/s를 최적화하고 축소할 여지가 있을 수 있습니다. 429 속도 제한 오류를 해석하고 디버그하는 방법에 대해 자세히 알아보세요. Normalized RU Consumption 메트릭은 보조 지역의 읽기 트래픽 외에도 주 지역의 쓰기 복제 트래픽으로 인해 보조 지역에서 사용되는 RU/s를 반영합니다. |
자동 크기 조정된 RU | 동적 자동 크기 조정을 사용하는 계정에 대해서만 각 파티션 및 지역 수준에서 동적으로 확장된 프로비저닝 처리량을 표시합니다. | 이 메트릭을 사용하면 각 지역의 파티션이 사용량에 따라 독립적으로 크기 조정되는 방식을 확인할 수 있습니다. Azure Monitor 메트릭 - Autoscaled RU 을 사용하여 새로운 자동 크기 조정이 파티션과 지역 전체에 어떻게 적용되는지 분석합니다. 원하는 데이터베이스 계정 및 컨테이너로 필터링한 다음 Physical PartitionID 메트릭으로 필터링하거나 분할합니다. 이 메트릭은 다양한 지역의 모든 파티션을 표시합니다. |
비교 - 수동 vs 자동 크기 조정 처리량으로 구성된 컨테이너
자세한 내용은 표준(수동) 및 자동 크기 조정 처리량 중에서 선택하는 방법에 대한 이 설명서를 참조하세요.
표준(수동) 처리량을 사용하는 컨테이너 | 자동 크기 조정 처리량을 사용하는 컨테이너 | |
---|---|---|
프로비저닝된 처리량(RU/s) | 수동으로 프로비저닝됨 | 워크로드 사용량 패턴을 기반으로 자동으로 즉시 크기 조정됩니다. |
요청/작업의 속도 제한(429) | 소비가 프로비저닝된 용량을 초과하는 경우 발생할 수 있습니다. | 구성한 자동 스케일링 처리량 범위 내에서 RU/s를 사용하는 경우에는 발생하지 않습니다. |
용량 계획 | 용량 계획을 수행하고 필요한 정확한 처리량을 설정해야 합니다. | 시스템은 용량 계획 및 용량 관리를 자동으로 처리합니다. |
가격 | 시간당 표준(수동) RU/s 비율을 사용하여 시간당 수동 프로비저닝된 RU/s에 대해 요금을 지불합니다. | 시스템이 해당 시간 내로 확장된 최대 RU/s에 대해 시간당 요금이 청구됩니다. 단일 쓰기 지역 계정의 경우 시간당 자동 크기 조정 RU/s 비율을 사용하여 시간 단위로 사용되는 RU/s에 대해 요금을 지불합니다. 여러 쓰기 지역이 있는 계정의 경우에는 자동 스케일링에 대한 추가 요금이 부과되지 않습니다. 동일한 시간당 다중 영역 쓰기 RU/s 비율을 사용하여 시간 단위로 사용되는 처리량에 대해 요금이 청구됩니다. |
워크로드 유형에 가장 적합함 | 예측 가능하고 안정적인 워크로드 | 예측 불가능하고 가변적인 워크로드 |
표준 프로비전 처리량을 자동 크기 조정으로 마이그레이션
표준 프로비전 처리량에서 자동 크기 조정으로 대량의 리소스를 마이그레이션하려는 사용자는 Azure 구독의 모든 처리량 리소스를 자동 크기 조정으로 마이그레이션하는 Azure CLI 스크립트를 사용할 수 있습니다. 자세한 내용은 자동 크기 조정으로 변환을 참조하세요.
다음 단계
- 자동 크기 조정 FAQ를 검토합니다.
- 수동 및 자동 크기 조정 처리량 중 선택하는 방법을 알아봅니다.
- Azure Cosmos DB 데이터베이스 또는 컨테이너에서 자동 크기 조정 처리량을 프로비전하는 방법을 알아봅니다.
- Azure Cosmos DB의 분할에 대해 자세히 알아봅니다.
- Azure Cosmos DB로 마이그레이션하기 위한 용량 계획을 수행하려고 하시나요? 용량 계획을 위해 기존 데이터베이스 클러스터에 대한 정보를 사용할 수 있습니다.
- 기존 데이터베이스 클러스터의 vCore 및 서버의 수만 알고 있는 경우 vCore 또는 vCPU를 사용하여 요청 단위 예측을 참조하세요
- 현재 데이터베이스 워크로드에 대한 일반적인 요청 비율을 알고 있는 경우 Azure Cosmos DB 용량 계획 도구를 사용하여 요청 단위 예측에 대해 읽어보세요.