DynamoDB에서 용량 모드 전환 시 고려 사항
DynamoDB 테이블을 생성할 때 온디맨드 또는 프로비저닝된 용량 모드를 선택해야 합니다.
테이블은 언제든지 온디맨드 모드에서 프로비저닝된 용량 모드로 전환할 수 있습니다. 용량 모드 간에 여러 번 전환하는 경우 다음 조건이 적용됩니다.
-
온디맨드 모드에서 새로 생성된 테이블은 언제든지 프로비저닝된 용량 모드로 전환할 수 있습니다. 하지만 테이블 생성 타임스탬프 이후 24시간이 지난 뒤에야 온디맨드 모드로 다시 전환할 수 있습니다.
-
온디맨드 모드의 기존 테이블은 언제든지 프로비저닝된 용량 모드로 전환할 수 있습니다. 하지만 온디맨드로의 전환을 나타내는 마지막 타임스탬프가 발생한 지 24시간이 지난 후에야 다시 온디맨드 모드로 전환할 수 있습니다.
프로비저닝된 용량 모드에서 온디맨드 용량 모드로 전환
프로비저닝된 모드에서는 예상 애플리케이션 요구 사항에 따라 읽기 및 쓰기 용량을 설정합니다. 테이블을 프로비저닝된 모드에서 온디맨드 모드로 업데이트할 경우 애플리케이션에서 수행할 것으로 예상되는 읽기 및 쓰기 처리량을 지정할 필요가 없습니다. DynamoDB 온디맨드는 읽기 및 쓰기 요청에 대해 요청당 지불 요금이 부과되므로 사용하는 만큼에 대해서만 비용을 지불하면 됩니다. 따라서 비용과 성능의 균형을 쉽게 맞출 수 있습니다. 선택적으로, 개별 온디맨드 테이블 및 연결된 글로벌 보조 인덱스의 최대 읽기 또는 쓰기(또는 둘 다) 처리량을 구성하여 비용과 사용량을 제한할 수도 있습니다. 특정 테이블 또는 인덱스의 최대 처리량 설정에 대한 자세한 내용은 온디맨드 테이블의 최대 처리량 섹션을 참조하세요.
프로비저닝된 용량 모드에서 온디맨드 용량 모드로 전환할 경우 DynamoDB에서 테이블 및 파티션의 구조가 다양하게 변경됩니다. 이 프로세스는 몇 분 정도 걸릴 수 있습니다. 전환 기간 동안 테이블은 이전에 프로비저닝된 쓰기 용량 단위 및 읽기 용량 단위량과 일치하는 처리량을 제공합니다.
온디맨드 용량 모드의 초기 처리량
최근에 처음으로 기존 테이블을 온디맨드 용량 모드로 전환한 경우, 이전에 온디맨드 용량 모드를 사용하여 테이블에서 트래픽을 처리한 적이 없더라도 테이블의 이전 피크 설정은 다음과 같습니다.
다음은 가능한 시나리오의 예입니다.
-
프로비저닝된 테이블이 4,000WCU 및 12,000RCU 미만으로 구성되었고 이전에 추가로 프로비저닝된 적이 없습니다. 이 테이블이 처음 온디맨드로 전환되면 DynamoDB는 적어도 초당 4,000개의 쓰기 단위와 초당 12,000개의 읽기 단위를 유지할 수 있도록 테이블을 즉시 스케일 아웃합니다.
-
프로비저닝된 테이블이 8,000WCU 및 24,000RCU로 구성되었습니다. 이 테이블이 온디맨드로 전환되면 언제든지 적어도 초당 8,000개의 쓰기 단위와 초당 24,000개의 읽기 단위를 계속해서 유지할 수 있습니다.
-
8,000WCU와 24,000RCU로 구성된 프로비저닝된 테이블이 일정 기간 동안 초당 6,000개의 쓰기 단위와 초당 18,000개의 읽기 단위를 소비했습니다. 이 테이블이 온디맨드로 전환되면 적어도 초당 8,000개의 쓰기 단위와 초당 24,000개의 읽기 단위를 계속해서 유지할 수 있습니다. 또한 이전 트래픽을 통해 테이블은 제한 없이 훨씬 더 높은 수준의 트래픽을 유지할 수 있습니다.
-
테이블이 이전에는 10,000WCU와 10,000RCU로 프로비저닝되었지만 현재는 10RCU와 10WCU로 프로비저닝되었습니다. 이 테이블이 온디맨드로 전환되면 적어도 초당 10,000개의 쓰기 단위와 초당 10,000개의 읽기 단위를 유지할 수 있습니다.
Auto Scaling 설정
테이블을 프로비저닝된 모드에서 온디맨드 모드로 업데이트하는 경우:
-
콘솔을 사용 중인 경우 모든 Auto Scaling 설정(있는 경우)이 삭제됩니다.
-
AWS CLI 또는 AWS SDK를 사용 중인 경우 모든 Auto Scaling 설정이 유지됩니다. 테이블을 프로비저닝된 청구 모드로 다시 업데이트할 때 이러한 설정을 적용할 수 있습니다.
온디맨드 용량 모드에서 프로비저닝된 용량 모드로 전환
온디맨드 용량 모드에서 프로비저닝된 용량 모드로 다시 전환할 경우 테이블이 온디맨드 용량 모드로 설정되었을 때 도달한 이전 피크와 일치하는 처리량을 제공합니다.
용량 관리
테이블을 온디맨드 모드에서 프로비저닝된 모드로 업데이트할 때 다음을 고려하십시오.
-
AWS CLI 또는 AWS SDK를 사용 중인 경우 Amazon CloudWatch로 사용 내역(
ConsumedWriteCapacityUnits
및ConsumedReadCapacityUnits
지표)을 조회하여 테이블 및 글로벌 보조 인덱스에 적절한 프로비저닝된 용량 설정을 선택하여 새로운 처리량 설정을 결정합니다.참고
글로벌 테이블을 프로비저닝 모드로 전환할 경우, 새 처리량 설정을 결정할 때 기본 테이블과 글로벌 보조 인덱스에 대한 모든 리전 복제본에서 최대 사용량을 조회하십시오.
-
온디맨드 모드에서 프로비저닝 모드로 다시 전환하는 경우, 전환 중에 테이블 또는 인덱스 용량을 처리할 수 있을 만큼 충분히 높게 초기 프로비저닝 단위를 설정해야 합니다.
Auto Scaling 관리
테이블을 온디맨드 모드에서 프로비저닝된 모드로 업데이트하는 경우:
-
콘솔을 사용 중인 경우 다음 기본값을 사용하여 Auto Scaling을 활성화하는 것이 좋습니다.
-
목표 사용률: 70%
-
최소 프로비저닝 용량: 5 단위
-
최대 프로비저닝 용량: 리전 최대값
-
-
AWS CLI 또는 SDK를 사용 중인 경우 이전 Auto Scaling 설정(있는 경우)이 유지됩니다.