자동 확장 구성
이 페이지의 내용
참고
기능 가용성
Atlas 클러스터 계층 자동 크기 조정은 General 및 Low-CPU 클러스터 클래스의 모든 전용 클러스터 계층에 사용할 수 있습니다.
Atlas가 클러스터 사용량에 따라 클러스터 계층, 저장 용량 또는 두 가지 모두를 자동 확장하는 데 사용할 수 있는 클러스터 계층 범위를 구성하세요.
Atlas Auto Scaling은 실시간 리소스 사용량을 기반으로 클러스터 계층을 조정합니다. 개선된 자동 확장 엔진은 이제 지속적인 수요 증가와 단기적인 최대 트래픽을 보다 정확하게 감지하여 확장 결정을 내릴 수 있습니다. 마찬가지로 Atlas는 보다 최적화된 리소스 사용률과 비용 프로필을 위해 다운스케일링을 보다 신속하게 선택합니다.
비용을 제어할 수 있도록 cluster를 자동으로 확장할 수 있는 최대 및 최소 cluster 크기 범위를 지정할 수 있습니다.
자동 확장은 순차적으로 작동해 프로세스에서 다운타임이 발생하지 않습니다. Atlas는 이 과정에서 프라이머리를 유지하지만 노드는 하나씩 업그레이드되며 업그레이드되는 동안에는 사용할 수 없습니다.
Atlas로 클러스터 계층을 확장하는 법
참고
계층 가용성
자동 확장은 General 및 Low-CPU 클래스의 클러스터 계층에서는 작동하지만 Local NVMe SSD 클래스의 클러스터에서는 작동하지 않습니다.
Atlas는 다음 클러스터 지표를 분석하여 클러스터를 확장할 시기와 클러스터 계층을 확장 또는 축소할지 여부를 결정합니다.
정규화된 시스템 CPU 사용률
시스템 메모리 사용률
Atlas는 사용 가능한 노드 메모리와 총 메모리를 기준으로 시스템 메모리 사용률을 다음과 같이 계산합니다.
(memoryTotal
- (memoryFree
+ memoryBuffers
+ memoryCached
)) / (memoryTotal
) * 100
앞의 계산에서 memoryFree
, memoryBuffers
, memoryCached
는 Atlas가 기타 목적으로 확보할 수 있는 사용 가능한 메모리의 양입니다. 자세한 내용은 사용 가능한 지표 검토의 System Memory를 참조하세요.
새 클러스터 계층이 지정된 Minimum 및 Maximum Cluster Size 범위를 벗어나는 경우 Atlas는 클러스터 계층을 확장하지 않습니다.
Atlas는 클러스터를 같은 클래스의 다른 계층으로 확장합니다. 예를 들어 Atlas는 General 클러스터를 다른 General 클러스터 클래스로 확장하지만 General 클러스터를 Low-CPU 클러스터 클래스로 확장하지는 않습니다.
정확한 자동 확장 기준은 적절한 클러스터 리소스 사용률을 보장하기 위해 변경될 수 있습니다.
중요
마이그레이션 중에 대상 클러스터의 저장 용량보다 큰 스냅샷을 복원하면 클러스터가 자동으로 확장되지 않습니다.
읽기 전용 노드를 배포하고 클러스터의 확장 속도를 높이고 싶다면 복제본 세트 확장 모드를 조정해 보세요.
클러스터 계층 확장
애플리케이션의 동적 워크로드를 효과적으로 관리하기 위해 Atlas는 이 섹션에 설명된 조건에 따라 클러스터의 노드를 확장합니다.
다음 클러스터 계층이 Maximum Cluster Size 범위 내에 있으면, Atlas는 클러스터에서 지정된 유형의 어떠한 노드에서든 다음 기준 중 하나 이상이 충족되는 경우 클러스터의 노드를 다음 계층까지 확장합니다.
M10
클러스터의 운영 노드의 경우 평균 Normalized System CPU Utilization 또는 System Memory Utilization이 지난 1시간 동안 클러스터에서 사용할 수 있는 리소스의 75%를 초과했습니다.M20
클러스터의 운영 노드의 경우 평균 Normalized System CPU Utilization 또는 System Memory Utilization이 최소 20분 동안 클러스터에서 사용할 수 있는 리소스의 90%를 초과했거나 적어도 한 시간 동안 클러스터에서 사용할 수 있는 리소스의 75%를 초과했습니다.M30+
클러스터의 운영 노드의 경우 평균 Normalized System CPU Utilization 또는 System Memory Utilization이 지난 10분 동안 클러스터에서 사용할 수 있는 리소스의 90%를 초과했거나 적어도 한 시간 동안 클러스터에서 사용할 수 있는 리소스의 75%를 초과했습니다.이러한 임계값은 클러스터가 높은 부하에 대응하여 빠르게 확장되고 애플리케이션이 트래픽 또는 사용량의 급증을 처리하여 성능과 안정성을 유지할 수 있도록 보장합니다.
평균 Normalized System CPU Utilization 또는 System Memory Utilization이 지난 1시간 동안 클러스터에서 사용할 수 있는 리소스의 75%를 초과했습니다.
Atlas는 다음 조건에 따라 클러스터가 확장되지 않은 경우 해당 클러스터를 다음 계층으로 확장합니다.
지난 1시간 동안
M10+
클러스터가 확장되지 않았습니다.M20+
클러스터는 임계값에 따라 지난 20분 또는 1시간 동안 확장되지 않았습니다.M30+
클러스터는 임계값에 따라 지난 10분 또는 1시간 동안 확장되지 않았습니다.
예를 들어 클러스터의 현재 정규화된 시스템 CPU 사용률이 90%보다 큰 경우 Atlas는 M30+
클러스터를 T+10
수준으로 확장합니다.
중요
급격한 워크로드 급증
더 큰 클러스터 계층으로 확장하려면 백업 리소스를 준비하는 데 충분한 시간이 필요합니다. 클러스터가 대량 삽입과 같은 급증 활동을 수신하는 경우 자동 확장이 이루어지지 않을 수 있습니다. 리소스 부족 위험을 줄이려면 대량 삽입 및 기타 워크로드 급증이 발생하기 전에 클러스터를 확장할 계획을 세워야 합니다.
클러스터 계층 축소
비용을 최적화하기 위해 Atlas는 이 섹션에 설명된 조건에 따라 클러스터의 노드를 축소합니다.
다음으로 낮은 클러스터 계층이 Minimum Cluster Size 범위 내에 있는 경우 Atlas는 지정된 클러스터 유형의 모든 노드에 대해 다음 기준이 모두 해당되는 경우 클러스터의 노드를 다음으로 낮은 계층으로 축소합니다.
평균 Normalized System CPU Utilization 값은 적어도 지난 4시간 동안 클러스터에서 사용할 수 있는 리소스의 50% 미만입니다.
현재 클러스터 계층 크기에서 평균 WiredTiger 캐시 사용량이 최소 4시간 동안 최대 WiredTiger 캐시 크기의 90% 미만입니다. 이는 현재 클러스터가 과부하되지 않았음을 Atlas에 알려줍니다.
새로운 하위 클러스터 계층의 예상 총 시스템 메모리 사용률이 최소 4시간 동안 60% 미만입니다. Atlas는 이전 문장에서 언급한 예상 총 메모리 사용량을 다음과 같이 계산합니다.
Atlas는 현재 메모리 사용량을 측정하고 새로운 하위 계층 클러스터에서 현재 WiredTiger 캐시 사용량 크기를 WiredTiger 캐시 크기의 80%로 대체합니다.
다음으로, Atlas는 새로운 계층 크기에서 예상 총 메모리 사용량이 적어도 4시간 동안 60% 미만으로 유지되는지 확인합니다.
참고
Atlas는 메모리 계산에 WiredTiger 캐시를 포함시켜, 캐시가 가득 차 있지만 트래픽이 낮은 클러스터가 스케일 다운될 가능성을 높입니다. 즉, Atlas는 클러스터의 WiredTiger 캐시 크기를 분석하여, 클러스터의 WiredTiger 캐시가 클러스터 최대 WiredTiger 캐시 크기의 90%에 도달할 수 있는 경우, 정규화된 시스템 CPU 사용률이 낮은 유휴 클러스터를 안전하게 스케일 다운할 수 있는지를 판단합니다.
지난 24시간 동안 cluster가 수동 또는 자동으로 확장되지 않았습니다.
이러한 조건은 Atlas가 클러스터의 운영 노드를 축소하여 사용률이 높아지지 않도록 방지합니다.
지난 24시간 동안의 평균 Normalized System CPU Utilization 및 System Memory Utilization이 클러스터에서 사용 가능한 리소스의 50% 미만입니다.
지난 24시간 동안 cluster가 수동 또는 자동으로 확장되지 않았습니다.
참고
M10
및M20
클러스터는 버스트 기간 이후 클라우드 공급자가 설정한 CPU 사용량 상한선을 고려하여 더 낮은 임계값을 사용합니다. 이러한 임계값은 클라우드 공급자와 클러스터 계층에 따라 다릅니다.
클러스터 계층 및 스토리지의 하향 자동 확장에 대한 고려 사항
Atlas가 클러스터의 스토리지 용량을 축소하는 경우, 확장 프로세스의 메커니즘으로 인해 스토리지 용량을 확장하는 것보다 시간이 더 오래 걸릴 수 있습니다.
배포의 워크로드 범위를 예상한 다음, 배포의 워크로드를 처리하기에 충분한 용량을 가진 클러스터 계층에 Minimum Cluster Size 값을 설정합니다. 클러스터 활동의 급격한 증가 또는 감소 가능성을 고려하세요.
M10
보다 작은 클러스터 계층으로 확장할 수 없습니다.클러스터의 현재 디스크 구성보다 낮은 최소 클러스터 계층은 선택할 수 없습니다. 만약 스토리지가 최소 클러스터 계층에서 지원하는 용량을 초과하게 되면 Atlas는 클러스터의 스토리지 구성을 현재 최소 클러스터 계층에서 지원하는 용량을 넘어설 수 있도록 조정합니다. 그 후, Atlas는 자동으로 현재 클러스터의 스토리지 요구 사항을 충족하는 계층으로 최소 클러스터 계층을 조정합니다.
예시
자동 확장 범위를
M20
~M60
으로 설정했으며, 현재 클러스터 계층은M40
이고 디스크 용량은 200GB입니다. 현재 디스크 사용량이 200GB 용량의 90% 이상인 180GB를 초과하기 때문에 Atlas는 디스크 자동 확장 이벤트를 트리거하여 용량을 320GB로 늘립니다.Atlas:
최소 클러스터 계층을 새 스토리지 용량을 수용할 수 있는 가장 낮은 계층
M30
으로 올립니다.M20
은 최대 256GB의 스토리지 용량을 지원하므로 이상 유효한 자동 확장 한계가 아닙니다.Atlas는 현재 인스턴스 크기
M40
가 새 디스크 구성을 지원한다고 판단합니다. 디스크 자동 확장 이벤트가 성공했습니다.
샤딩된 클러스터 확장
Atlas는 복제본 세트와 동일한 기준을 사용하여 샤딩된 클러스터에 대한 클러스터 계층을 자동으로 확장합니다. Atlas는 다음 규칙을 적용합니다.
샤드 내의 운영 또는 분석 노드가 자동 확장 기준을 충족하는 경우, 해당 특정 샤드 의 운영/ 분석 노드만 계층 변경합니다.
config 서버 복제본 세트는 자동 확장되지 않습니다.
클러스터에서 샤드를 독립적으로 확장하기 위한 새로운 API
버전이 지정된 Atlas 관리 API 개요 의 API 리소스 버전 2024-08- 부터 각 샤드 의 클러스터 계층 개별적으로 독립적으로 확장하다 할 수 있습니다. 이 API 버전은 Atlas cluster의 기본 확장 모델에 대한 중요한 변경 사항입니다.05
경고
2024-08-05 API 버전은 중요한 호환성이 손상되는 변경 입니다. 클러스터 내의 샤드를 비대칭으로 설명하기 위해 새 API 사용하여 요청 보내는 경우이전 대칭 전용 API 해당 클러스터 에서 더 이상 사용할 수 없습니다. 이전 API 버전으로 돌아가려면 먼저 모든 샤드가 동일한 계층 에서 작동하도록 클러스터 재구성합니다.
새로운 API 비대칭 클러스터를 설명할 수 있습니다. 새 API 스키마 에 replicationSpec.numShards
필드 없습니다. 대신 모든 샤드가 동일하게 구성된 대칭 클러스터의 경우에도 각 샤드 별도의 replicationSpec
로 지정됩니다.
Atlas가 클러스터 스토리지를 확장하는 방법
Atlas는 기본값으로 클러스터 스토리지 자동 확장을 활성화합니다. 클러스터의 모든 노드에서 사용된 디스크 공간이 90%에 도달하면 Atlas가 자동으로 클러스터 스토리지를 늘립니다.
다음 고려 사항이 적용됩니다.
Atlas는 클러스터 스토리지를 자동으로 확장합니다. 클러스터 편집 페이지에서 클러스터 스토리지를 수동으로 줄일 수 있습니다.
AWS, Azure 및 GCP 클러스터에서 Atlas 클러스터 저장 용량 늘려 70%의 디스크 공간 사용을 달성합니다. 자세한 학습 AWS에서 저장 용량 또는 IOPS 변경, Azure 에서 저장 용량 및 IOPS 변경, Google Cloud에서 저장 용량 변경을 참조하세요.
클러스터를 확장할 계획이라면 고속 쓰기 활동을 피하세요. 클러스터를 더 큰 저장 용량으로 확장하려면 데이터를 준비하고 새 디스크에 복사하는 데 충분한 시간이 필요합니다. 클러스터에 대량 삽입과 같은 고속 쓰기 활동이 급증하는 경우 디스크 스토리지 용량의 일시적인 급증으로 인해 자동 확장이 수행되지 않을 수 있습니다. 디스크 스토리지가 소진되는 위험을 줄이려면 클러스터 관리자는 대량 삽입 및 기타 고속 쓰기 활동 인스턴스가 발생하기 전에 클러스터를 확장할 계획을 세워야 합니다.
기본 노드에 클러스터 계층 클래스 하나를 지정하고 분석 노드에 다른 클러스터 계층 클래스를 지정하는 경우 Atlas는 디스크 자동 크기 조정을 비활성화합니다. 예를 들어 Base Tier에서 운영 노드에 대해 General 클러스터 클래스를 지정하고 Analytics Tier에서 분석 노드에 대해 Low-CPU 클러스터 클래스를 지정하면, Atlas는 디스크 자동 확장을 다음 오류 메시지와 함께 비활성화합니다:
Disk auto-scaling is not yet available for clusters with mixed instance classes
.Base Tier 및 Analytics Tier 노드를 서로 다른 클라우드 공급자 리전에 배포하는 경우 Atlas는 디스크 자동 확장을 비활성화합니다.
클러스터 티어와 클러스터 스토리지를 동시에 확장할 수 있음
Atlas가 클러스터 저장소 용량을 자동으로 확장하려고 하면 현재 클러스터 계층에서 지원하는 범위 밖으로 저장소를 확장해야 할 수 있습니다. 클러스터에 다운타임이 발생하지 않도록 Atlas는 클러스터 저장소 외에도 클러스터 계층을 확장하여 새로운 저장 용량을 수용합니다.
Azure 에서 확장 저장 지원 리전 중 하나에 배포된 클러스터 에서 자동 확장 활성화 하고 현재 IOPS가 자동 확장된 디스크 크기에 대한 기본값 IOPS보다 낮은 경우 Atlas 에서 할당된 IOPS 수를 IOPS 늘립니다. 슬라이더를 클릭하고 UI 에 알림을 보냅니다. 자세한 학습 은 Azure 에서 저장 용량 및 IOPS 변경을 참조하세요.
예시
M30
클러스터의 최대 스토리지 용량은 480GB입니다. 최대 스토리지가 할당된 M30
클러스터가 있고 사용 중인 디스크 공간이 90%에 도달하면 스토리지 자동 확장 이벤트로 인해 스토리지 용량을 600GB로 늘려야 합니다. 이 경우 Atlas는 클러스터 계층을 최대 M40
까지 확장하는데, 이는 새로 필요한 스토리지 용량을 지원할 수 있는 가장 낮은 클러스터 계층이기 때문입니다. Azure에서 확장 스토리지를 지원하는 리전 중 하나에 클러스터를 배포한 경우 Atlas는 해당 계층 클러스터의 IOPS 수준에 맞게 IOPS도 자동으로 증가시킵니다.
지정된 최대 클러스터 계층이 새 스토리지 용량을 지원할 수 없는 경우 Atlas는 다음을 수행합니다.
최대 클러스터 계층을 새 스토리지 용량을 수용할 수 있으며 다음으로 낮은 계층으로 올립니다.
클러스터 계층을 새로운 최대 계층으로 확장합니다.
참고
Atlas가 최대 클러스터 계층을 재정의하면 클러스터가 자동으로 축소되는 것도 비활성화됩니다. 하향 자동 확장을 다시 활성화하려면 클러스터 설정에서 이 설정을 구성할 수 있습니다. 클러스터 계층 및 스토리지의 하향 자동 확장에 대한 고려 사항도 함께 참조하세요.
Atlas가 클러스터 계층을 확장하려고 하는 경우 대상 계층이 현재 디스크 용량, 프로비저닝된 IOPS 또는 둘 다를 지원할 수 없다면 Atlas는 cluster를 축소하지 않습니다. 이러한 시나리오에서는 Atlas가 현재 클러스터 계층과 구성된 최대 클러스터 계층 간의 관계를 토대로 자동 확장 설정을 업데이트합니다.
클러스터가 현재 구성된 최대 클러스터 계층에 있는 경우, 더 작은 계층에서는 필요한 스토리지 설정을 모두 수용할 수 없으므로 Atlas는 클러스터가 자동으로 축소되지 않도록 설정합니다. 하향 자동 확장을 다시 활성화하려면 클러스터 설정에서 수동으로 설정해야 합니다.
cluster가 현재 구성된 최대 클러스터 계층에 속하지 않는 경우 Atlas는 최소 클러스터 계층을 현재 클러스터 계층으로 상향 조정합니다. 이 경우 Atlas는 하향 자동 확장을 비활성화하지 않습니다.
이 자동 확장 로직은 스토리지 설정이 워크로드와 일치하지 않는 경우 다운타임을 줄여줍니다.
Oplog 고려 사항
Atlas는 스토리지 자동 확장의 사용 여부에 따라 최소 oplog 보존 기간 또는 oplog 크기를 기반으로 oplog 항목을 관리합니다. 자세한 내용은 Oplog 크기 동작을 참조하세요. Atlas는 기본값으로 스토리지 자동 확장을 활성화합니다.
자동 확장 옵션 구성
클러스터를 생성하거나 수정할 때 자동 확장 옵션을 구성할 수 있습니다. 새로운 cluster 의 경우 Atlas는 클러스터 계층 자동 확장 및 저장 자동 확장을 자동으로 허용합니다.
다음 중 하나를 수행할 수 있습니다.
클러스터를 자동 확장할 때 Atlas가 사용해야 하는 상위 및 하위 클러스터 계층을 검토하고 조정하거나
자동 크기 조정 사용을 옵트아웃합니다.
Atlas는 General 및 Low-CPU 계층 클러스터에 대한 클러스터 빌더의 Auto-scale 섹션에 자동 확장 옵션을 표시합니다.
기본값으로 자동 확장 활성화
새 클러스터를 생성하면 Atlas는 클러스터 계층 및 클러스터 스토리지에 대한 자동 확장을 활성화합니다. 자동 확장을 명시적으로 활성화할 필요는 없습니다. 원하는 경우 클러스터 계층 및 클러스터 스토리지를 사용하지 않도록 선택 할 수 있습니다.
참고
Atlas UI에서 클러스터를 만들면 기본적으로 클러스터 계층 자동 확장이 활성화됩니다. API를 사용하여 클러스터를 생성하는 경우 기본적으로 클러스터 계층 자동 확장이 비활성화됩니다.
자동 확장을 활성화하면 클러스터가 자동으로 확장됩니다.
더 높은 클러스터 계층으로 확장하여 기능을 강화합니다.
현재 클러스터 계층을 더 낮은 클러스터 계층으로 축소합니다.
Auto-scale 옵션의 Cluster tier 섹션에서 클러스터가 자동으로 확장할 수 있는 Maximum Cluster Size 및 Minimum Cluster Size 값을 지정할 수 있습니다. Atlas는 이러한 값을 다음과 같이 설정합니다.
Maximum Cluster Size는 현재 클러스터 계층보다 한 계층 위로 설정되어 있습니다.
Minimum Cluster Size 이(가) 현재 클러스터 계층으로 설정되어 있습니다.
클러스터 계층 자동 확장 옵션 검토하기
클러스터 계층 및 스토리지에 대해 활성화된 자동 확장 옵션을 검토하려면 다음 단계를 따르세요.
선택한 Auto-Scale 확인란에서 Maximum Cluster Size 및 Minimum Cluster Size 값을 검토하고 필요한 경우 조정합니다.
새 클러스터를 만들 때 기본적으로 선택되어 있는 Allow cluster to be scaled down 옵션을 검토합니다.
기본적으로 선택되어 있는 Storage Scaling 확인란 아래의 옵션을 검토합니다.
클러스터 계층 및 저장 자동 확장을 옵트아웃합니다.
cluster 자동 확장(클러스터 계층 증가)을 옵트아웃하려면 새로운 cluster를 생성하는 경우 Cluster Tier 메뉴로 이동하여 Auto-scale 섹션의 Cluster Tier Scaling 확인란을 선택 취소합니다.
클러스터 자동 확장(클러스터 계층 감소)을 옵트아웃하려면 새로운 클러스터를 생성할 때 Cluster Tier 메뉴로 이동하여 Auto-scale 섹션의 Allow cluster to be scaled down 확인란을 선택 취소합니다.
클러스터 스토리지 확장을 사용하지 않으려면 Auto-scale 섹션에서 Storage Scaling 확인란을 선택 취소합니다.
자동 확장 활동 피드 검토하기
각 Atlas 프로젝트의 이벤트를 검토하려면 활동 피드를 확인하세요. 자동 확장 이벤트가 발생하면 Atlas는 프로젝트 Activity Feed에 이벤트를 기록합니다.
자동 스케일링 이벤트만 보거나 다운로드하려면 다음을 수행합니다.
Activity Feed 에서 Filter by event(s) 메뉴를 클릭하고 Atlas를 선택합니다.
목록 위의 검색 상자에
auto-scaling
을 입력합니다.메뉴의 오른쪽에는 모든 자동 확장 이벤트가 표시됩니다. 보고 싶지 않은 항목은 선택 해제하세요. 피드 목록은 변경할 때마다 자동으로 업데이트됩니다.
자동 확장 이벤트에 대한 경고 구성
중요
2024년 8월 초, Atlas는 기존 자동 크기 조정 알림 이메일을 구성 가능한 자동 크기 조정 이벤트로 대체했습니다. 기본적으로 Atlas는 모든 알림을 프로젝트 소유자에게 계속 보냅니다. 알림 수신자나 배포 방법을 변경하기 위해 자동 크기 조정 알림 배포를 사용자 정의할 수 있습니다.
자동 확장 활동은 Atlas 경고의 일부입니다.
Atlas는 자동 크기 조정 이벤트에 대한 기본 알림을 자동으로 설정합니다. 프로젝트 수준에서 일부 또는 모든 자동 스케일링 이벤트에 대한 알림 구성을 선택 해제하거나 변경할 수 있습니다.
경고 구성을 수정하려면 Category 섹션에서 Atlas Auto Scaling을 선택한 후 목록에서 Condition/Metric을 선택합니다. 그런 다음, 경고 수신자의 역할을 수정하고, 이메일 또는 SMS와 같은 알림 방법을 변경하고, Slack과 같은 알림 도구를 추가할 수 있습니다. 자세히 알아보려면 자동 확장 경고 구성을 참조하세요.