

# DynamoDB에서 용량 모드 전환 시 고려 사항
<a name="bp-switching-capacity-modes"></a>

DynamoDB 테이블을 생성할 때 온디맨드 또는 프로비저닝된 용량 모드를 선택해야 합니다.

테이블을 프로비저닝된 용량 모드에서 온디맨드 모드로 전환할 수 있으며, 24시간 이동 시간 창 내에서 최대 4회까지 전환이 가능합니다. 테이블은 언제든지 온디맨드 모드에서 프로비저닝된 용량 모드로 전환할 수 있습니다.

**Topics**
+ [프로비저닝된 용량 모드에서 온디맨드 용량 모드로 전환](#switch-provisioned-to-ondemand)
+ [온디맨드 용량 모드에서 프로비저닝된 용량 모드로 전환](#switch-ondemand-to-provisioned)

## 프로비저닝된 용량 모드에서 온디맨드 용량 모드로 전환
<a name="switch-provisioned-to-ondemand"></a>

프로비저닝된 모드에서는 예상 애플리케이션 요구 사항에 따라 읽기 및 쓰기 용량을 설정합니다. 테이블을 프로비저닝된 모드에서 온디맨드 모드로 업데이트할 경우 애플리케이션에서 수행할 것으로 예상되는 읽기 및 쓰기 처리량을 지정할 필요가 없습니다. DynamoDB 온디맨드는 읽기 및 쓰기 요청에 대해 요청당 지불 요금이 부과되므로 사용하는 만큼에 대해서만 비용을 지불하면 됩니다. 따라서 비용과 성능의 균형을 쉽게 맞출 수 있습니다. 선택적으로, 개별 온디맨드 테이블 및 연결된 글로벌 보조 인덱스의 최대 읽기 또는 쓰기(또는 둘 다) 처리량을 구성하여 비용과 사용량을 제한할 수도 있습니다. 특정 테이블 또는 인덱스의 최대 처리량 설정에 대한 자세한 내용은 [온디맨드 테이블의 최대 처리량](on-demand-capacity-mode-max-throughput.md) 섹션을 참조하세요.

프로비저닝된 용량 모드에서 온디맨드 용량 모드로 전환할 경우 DynamoDB에서 테이블 및 파티션의 구조가 다양하게 변경됩니다. 이 프로세스는 몇 분 정도 걸릴 수 있습니다. 전환 기간 동안 테이블은 이전에 프로비저닝된 쓰기 용량 단위 및 읽기 용량 단위량과 일치하는 처리량을 제공합니다.

### 온디맨드 용량 모드의 초기 처리량
<a name="initial-throughput-ondemand-mode"></a>

최근에 처음으로 기존 테이블을 온디맨드 용량 모드로 전환한 경우, 이전에 온디맨드 용량 모드를 사용하여 테이블에서 트래픽을 처리한 적이 없더라도 테이블의 이전 피크 설정은 다음과 같습니다.

다음은 가능한 시나리오의 예입니다.
+ **프로비저닝된 테이블이 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 설정
<a name="autoscaling-settings"></a>

테이블을 프로비저닝된 모드에서 온디맨드 모드로 업데이트하는 경우:
+ 콘솔을 사용 중인 경우 모든 Auto Scaling 설정(있는 경우)이 삭제됩니다.
+ AWS CLI 또는 AWS SDK를 사용 중인 경우 모든 Auto Scaling 설정이 유지됩니다. 테이블을 프로비저닝된 청구 모드로 다시 업데이트할 때 이러한 설정을 적용할 수 있습니다.

### [DynamoDB 콘솔](https://console.aws.amazon.com/dynamodb)에서 용량 대량 편집 모드
<a name="bulk-edit-capacity-mode"></a>

[DynamoDB 콘솔](https://console.aws.amazon.com/dynamodb)을 사용하여 여러 테이블을 대량 편집하여 프로비저닝된 용량 모드에서 온디맨드 용량 모드로 전환할 수 있습니다. 용량 모드를 대량 편집하려면 다음을 수행하세요.

1. DynamoDB 콘솔에서 **테이블** 페이지를 엽니다.

1. 온디맨드 용량 모드로 업데이트하려는 테이블의 확인란을 선택합니다.

1. **작업**을 선택한 다음 **온디맨드 용량 모드로 업데이트**를 선택합니다.

이 대량 작업은 각 테이블을 개별적으로 업데이트할 필요 없이 여러 테이블을 효율적으로 온디맨드 용량 모드로 전환할 수 있게 해 줍니다.

## 온디맨드 용량 모드에서 프로비저닝된 용량 모드로 전환
<a name="switch-ondemand-to-provisioned"></a>

온디맨드 용량 모드에서 프로비저닝된 용량 모드로 다시 전환할 경우 테이블이 온디맨드 용량 모드로 설정되었을 때 도달한 이전 피크와 일치하는 처리량을 제공합니다.

### 용량 관리
<a name="switch-ondemand-capacity"></a>

테이블을 온디맨드 모드에서 프로비저닝된 모드로 업데이트할 때 다음을 고려하세요.
+  AWS CLI 또는 AWS SDK를 사용 중인 경우 Amazon CloudWatch로 사용 내역(`ConsumedWriteCapacityUnits` 및 `ConsumedReadCapacityUnits` 지표)을 조회하여 테이블 및 글로벌 보조 인덱스에 적절한 프로비저닝된 용량 설정을 선택하여 새로운 처리량 설정을 결정합니다.
**참고**  
글로벌 테이블을 프로비저닝 모드로 전환할 경우, 새 처리량 설정을 결정할 때 기본 테이블과 글로벌 보조 인덱스에 대한 모든 리전 복제본에서 최대 사용량을 조회하세요.
+ 온디맨드 모드에서 프로비저닝 모드로 다시 전환하는 경우, 전환 중에 테이블 또는 인덱스 용량을 처리할 수 있을 만큼 충분히 높게 초기 프로비저닝 단위를 설정해야 합니다.

### Auto Scaling 관리
<a name="switch-ondemand-autoscaling"></a>

테이블을 온디맨드 모드에서 프로비저닝된 모드로 업데이트하는 경우:
+ 콘솔을 사용 중인 경우 다음 기본값을 사용하여 Auto Scaling을 활성화하는 것이 좋습니다.
  + 목표 사용률: 70%
  + 최소 프로비저닝 용량: 5 단위
  + 최대 프로비저닝 용량: 리전 최대값
+  AWS CLI 또는 SDK를 사용 중인 경우 이전 Auto Scaling 설정(있는 경우)이 유지됩니다.