Amazon DynamoDB 테이블의 용량 모드를 변경하고 싶습니다.
간략한 설명
DynamoDB 테이블을 생성할 때 프로비저닝된 용량 모드 또는 온디맨드 용량 모드를 지정해야 합니다.
기존 테이블의 용량 모드를 변경하려면 다음 방법 중 하나를 사용하십시오.
- DynamoDB 콘솔
- AWS Command Line Interface(AWS CLI)
- Python
용량 모드를 전환하기 전에 용량 모드 전환 시 고려 사항을 참조하십시오.
해결 방법
**참고:AWS CLI 명령을 실행할 때 오류가 발생하면, **AWS CLI 오류 문제 해결을 참조하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
DynamoDB 콘솔
다음 단계를 완료합니다.
- DynamoDB 콘솔을 엽니다.
- 탐색 창에서 Tables(테이블)을 선택합니다.
- 수정하려는 테이블을 선택합니다.
- Update(업데이트)를 선택합니다.
- Capacity mode(용량 모드)에서 사용할 새 용량 모드를 선택합니다.
Provisioned(프로비저닝된)의 경우 읽기 및 쓰기 용량 단위를 입력합니다.
On-Demand(온디맨드)의 경우 DynamoDB는 애플리케이션의 요구 사항에 따라 프로비저닝된 용량을 자동으로 늘리거나 줄입니다.
- Update table(테이블 업데이트)을 선택합니다.
AWS CLI
기존 DynamoDB 테이블의 용량 모드를 Provisioned(프로비저닝된)로 전환하려면 다음 명령을 실행합니다.
aws dynamodb update-table --table-name <YOUR_TABLE_NAME> --billing-mode PROVISIONED --provisioned-throughput ReadCapacityUnits=<YOUR_READ_CAPACITY>,WriteCapacityUnits=<YOUR_WRITE_CAPACITY>
기존 DynamoDB 테이블의 용량 모드를 On-demand(온디맨드)로 전환하려면 다음 명령을 실행합니다.
aws dynamodb update-table --table-name <YOUR_TABLE_NAME> --billing-mode PAY_PER_REQUEST
Python
Amazon Elastic Compute Cloud(EC2) 인스턴스 또는 AWS Lambda를 사용하여 Python 스크립트를 실행할 수 있습니다. 기존 DynamoDB 테이블의 용량 모드를 Provisioned(프로비저닝된)로 전환하려면 다음 명령을 실행합니다.
import boto3
# Create a DynamoDB client
dynamodb = boto3.client('dynamodb', region_name=region_name, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
# Name of your DynamoDB table
table_name = 'YOUR_TABLE_NAME'
# Change the capacity mode to PROVISIONED
response = dynamodb.update_table(
TableName=table_name,
BillingMode='PROVISIONED',
ProvisionedThroughput={
'ReadCapacityUnits': 5, # Set your desired read capacity units
'WriteCapacityUnits': 5 # Set your desired write capacity units
}
)
print("Capacity mode changed to PROVISIONED")
기존 DynamoDB 테이블의 용량 모드를 On-demand(온디맨드)로 전환하려면 다음 명령을 실행합니다.
import boto3
# Create a DynamoDB client
dynamodb = boto3.client('dynamodb', region_name=region_name, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
# Name of your DynamoDB table
table_name = 'YOUR_TABLE_NAME'
# Change the capacity mode to PAY_PER_REQUEST
response = dynamodb.update_table(
TableName=table_name,
BillingMode='PAY_PER_REQUEST'
)
print("Capacity mode changed to PAY_PER_REQUEST")
관련 정보
DynamoDB 처리량 용량