Amazon DynamoDB의 서비스, 계정 및 테이블 할당량
이 단원에서는 Amazon DynamoDB 내의 현재 할당량(이전에는 제한이라고 함)에 대해 설명합니다. 각 할당량은 다르게 지정되지 않는 한 리전별로 적용됩니다.
주제
읽기/쓰기 용량 모드 및 처리량
테이블은 언제든지 온디맨드 모드에서 프로비저닝된 용량 모드로 전환할 수 있습니다. 용량 모드 간에 여러 번 전환하는 경우 다음 조건이 적용됩니다.
-
온디맨드 모드에서 새로 생성된 테이블은 언제든지 프로비저닝된 용량 모드로 전환할 수 있습니다. 하지만 테이블 생성 타임스탬프 이후 24시간이 지난 뒤에야 온디맨드 모드로 다시 전환할 수 있습니다.
-
온디맨드 모드의 기존 테이블은 언제든지 프로비저닝된 용량 모드로 전환할 수 있습니다. 하지만 온디맨드로의 전환을 나타내는 마지막 타임스탬프가 발생한 지 24시간이 지난 후에야 다시 온디맨드 모드로 전환할 수 있습니다.
읽기 및 쓰기 용량 모드 간 전환에 대한 자세한 내용은 DynamoDB에서 용량 모드 전환 시 고려 사항 섹션을 참조하세요.
용량 단위 크기(프로비저닝된 테이블의 경우)
읽기 용량 단위 1 = 초당 강력히 일관된 읽기 1 또는 초당 최종적으로 일관된 읽기 2(최대 4KB 크기 항목의 경우).
쓰기 용량 단위 1 = 초당 쓰기 1(최대 1KB 크기 항목의 경우)
트랜잭션 읽기 요청은 최대 4KB 크기 항목의 초당 1회 읽기를 수행하는 데 2개의 읽기 용량 단위가 필요합니다.
트랜잭션 쓰기 요청은 최대 1KB 크기 항목의 초당 1회 쓰기를 수행하는 데 2개의 쓰기 용량 단위가 필요합니다.
요청 단위 크기(온디맨드 테이블의 경우)
읽기 요청 단위 1 = 초당 강력히 일관된 읽기 1 또는 초당 최종적으로 일관된 읽기 2(최대 4KB 크기 항목의 경우).
쓰기 요청 단위 1 = 초당 쓰기 1(최대 1KB 크기 항목의 경우)
트랜잭션 읽기 요청은 최대 4KB 크기 항목의 초당 1회 읽기를 수행하는 데 2개의 읽기 요청 단위가 필요합니다.
트랜잭션 쓰기 요청은 최대 1KB 크기 항목의 초당 1회 쓰기를 수행하는 데 2개의 쓰기 요청 단위가 필요합니다.
처리량 기본 할당량
AWS는 계정이 한 리전 내에서 프로비저닝하고 소비할 수 있는 처리량에 몇 가지 기본 할당량을 둡니다.
계정 수준 읽기 처리량 및 계정 수준 쓰기 처리량 할당량은 계정 수준에서 적용됩니다. 이러한 계정 수준 할당량은 해당 리전의 모든 계정 테이블 및 글로벌 보조 인덱스에 대해 프로비저닝된 처리량 용량의 합계에 적용됩니다. 모든 계정의 사용 가능 처리량은 한 테이블 또는 여러 테이블에 프로비저닝할 수 있습니다. 이러한 할당량은 프로비저닝된 용량 모드를 사용하는 테이블에만 적용됩니다.
테이블 수준 읽기 처리량 할당량 및 테이블 수준 쓰기 처리량 할당량은 프로비저닝된 용량 모드를 사용하는 테이블과 온디맨드 용량 모드를 사용하는 테이블에 다르게 적용됩니다.
프로비저닝된 용량 모드 테이블 및 GSI의 경우 할당량은 리전의 모든 테이블 또는 해당 GSI에 프로비저닝할 수 있는 최대 읽기 및 쓰기 용량 단위입니다. 개별 테이블과 모든 GSI의 합계도 계정 수준의 읽기 및 쓰기 처리량 할당량 이하로 유지되어야 합니다. 이는 프로비저닝된 모든 테이블과 해당 GSI의 합계가 계정 수준의 읽기 및 쓰기 처리량 할당량 이하로 유지되어야 한다는 요구 사항에 추가됩니다.
온디맨드 용량 모드 테이블 및 GSI의 경우 테이블 수준 할당량은 모든 테이블 또는 해당 테이블 내의 개별 GSI에 사용할 수 있는 최대 읽기 및 쓰기 용량 단위입니다. 온디맨드 모드의 테이블에는 계정 수준의 읽기 및 쓰기 처리량 할당량이 적용되지 않습니다.
다음은 기본적으로 계정에 적용되는 처리량 할당량입니다.
처리량 할당량 이름 | 온디맨드 | 프로비저닝됨 | 조정 가능 |
---|---|---|---|
|
|
|
예 |
|
|
|
예 |
|
|
|
예 |
Service Quotas 콘솔
계정 수준 처리량 할당량의 경우 Service Quotas 콘솔AccountProvisionedReadCapacityUnits
및 AccountProvisionedWriteCapacityUnits
AWS 사용량 지표를 확인하여 사용량을 모니터링할 수도 있습니다. 사용량 지표에 대한 자세한 내용은 AWS 사용량 지표를 참조하세요.
처리량 늘리기 또는 줄이기(프로비저닝된 테이블의 경우)
프로비저닝된 처리량 늘리기
AWS Management Console 또는 UpdateTable
작업을 사용하여 필요한 만큼 자주 ReadCapacityUnits
또는 WriteCapacityUnits
를 늘릴 수 있습니다. 단일 호출에서 테이블, 해당 테이블의 모든 글로벌 보조 인덱스 또는 테이블과 인덱스 조합의 할당된 처리량을 늘릴 수 있습니다. 새 설정은 UpdateTable
작업이 완료된 후에 적용됩니다.
프로비저닝된 용량을 추가할 때는 계정당 할당량을 초과할 수 없으며, DynamoDB가 프로비저닝된 용량이 너무 빠르게 늘지 않도록 제한합니다. 이러한 제한 사항을 만족하는 경우에는 원하는 만큼 테이블의 할당된 용량을 늘릴 수 있습니다. 계정당 할당량에 대한 자세한 내용은 앞의 처리량 기본 할당량 단원을 참조하세요.
프로비저닝된 처리량 줄이기
UpdateTable
작업의 모든 테이블 및 글로벌 보조 인덱스에 대해 ReadCapacityUnits
또는 WriteCapacityUnits
(또는 둘 다)를 줄일 수 있습니다. 새 설정은 UpdateTable
작업이 완료된 후에 적용됩니다.
DynamoDB 테이블에서 하루에 수행할 수 있는 프로비저닝된 용량 감소 횟수에는 기본 할당량이 있습니다. 하루는 협정 세계시(UTC)에 따라 정의됩니다. 특정 일에 아직 용량 감소를 수행하지 않은 경우 한 시간 내에 최대 4회 용량 감소를 수행할 수 있습니다. 그 후에는 시간당 1회 추가 감소를 수행할 수 있습니다(60분에 1회). 이렇게 하면 하루 최대 감소 횟수가 27회까지 줄어듭니다.
Service Quotas 콘솔
중요
테이블 감소 제한과 글로벌 보조 인덱스 감소 제한은 별개이므로 특정 테이블에 대한 모든 글로벌 보조 인덱스는 자체 감소 제한을 갖습니다. 그러나 단일 요청이 테이블 및 글로벌 보조 인덱스에 대한 처리량을 감소시키는 경우에는 둘 중 하나가 현재 제한을 초과하게 되면 요청이 거부됩니다. 요청은 부분적으로 처리되지 않습니다.
예
하루의 첫 4시간 동안에는 글로벌 보조 인덱스가 있는 테이블을 다음과 같이 수정할 수 있습니다.
-
테이블의
WriteCapacityUnits
또는ReadCapacityUnits
(또는 둘 다)를 네 번 감소합니다. -
글로벌 보조 인덱스의
WriteCapacityUnits
또는ReadCapacityUnits
(또는 둘 다)를 네 번 감소합니다.
같은 날의 종료 시간에 테이블 및 글로벌 보조 인덱스 처리량은 잠재적으로 각각 총 27회 감소될 수 있습니다.
예약 용량
AWS는 계정에서 구매할 수 있는 활성 예약 용량에 기본 할당량을 지정합니다. 할당량 한도는 쓰기 용량 단위(WCU)와 읽기 용량 단위(RCU)의 예약 용량 조합입니다.
예약 용량 할당량 | 활성 예약 용량 | 조정 가능 |
---|---|---|
계정당 |
1,000,000개의 프로비저닝 용량 단위(WCUs _ RCUs) |
예 |
한 번의 구매로 1,000,000개 이상의 프로비저닝 용량 단위를 구매하려고 하면 이 서비스 할당량 한도에 대한 오류 메시지가 표시됩니다. 활성 예약 용량이 있는 상태에서 활성 프로비저닝 용량 단위가 1,000,000개를 초과하도록 추가 예약 용량을 구매하려고 할 경우 이 서비스 할당량 한도에 대한 오류 메시지가 표시됩니다.
1,000,000개가 넘는 프로비저닝 용량 단위에 대한 예약 용량이 필요한 경우 지원
가져오기 할당량
Amazon S3에서 DynamoDB 가져오기는 us-east-1, us-west-2 및 eu-west-1 리전에서 한 번에 총 가져오기 소스 객체 크기가 15TB인 최대 50개의 동시 가져오기 작업을 지원할 수 있습니다. 다른 모든 리전에서는 총 크기가 1TB인 최대 50개의 동시 가져오기 작업이 지원됩니다. 각 가져오기 작업은 모든 리전에서 최대 5만 개의 Amazon S3 객체를 가져올 수 있습니다. 가져오기 및 검증에 대한 자세한 내용은 가져오기 형식 할당량 및 검증을 참조하세요.
Contributor Insights
DynamoDB 테이블에서 고객 인사이트를 활성화해도 Contributor Insights 규칙 제한이 계속 적용됩니다. 자세한 내용은 CloudWatch Logs 서비스 할당량을 참조하세요.
표
테이블 크기
테이블 크기는 실제로 제한이 없습니다. 테이블의 항목 수 또는 바이트 수에는 제약이 없습니다.
계정당 최대 테이블 수(리전당)
임의의 AWS 계정에 대해 AWS 리전당 2,500개 테이블의 초기 할당량이 있습니다.
단일 계정에 2,500개 이상의 테이블이 필요한 경우 AWS 계정 팀에 문의하여 최대 1만 개의 테이블까지 늘릴 수 있는 방안을 모색하세요. 1만 개 이상의 경우 권장되는 모범 사례는 여러 계정을 설정하는 것입니다. 각 계정은 최대 1만 개의 테이블을 제공할 수 있습니다.
Service Quotas 콘솔
Service Quotas 콘솔TableCount
AWS 사용량 지표를 확인하여 사용량을 모니터링할 수도 있습니다. 사용량 지표에 대한 자세한 내용은 AWS 사용량 지표를 참조하세요.
전역 테이블
AWS는 전역 테이블을 사용할 때 프로비저닝하거나 활용할 수 있는 처리량에 몇 가지 기본 할당량을 두고 있습니다.
기본 글로벌 테이블 할당량 | 온디맨드 | 프로비저닝됨 |
---|---|---|
|
|
|
|
|
|
트랜잭션 작업은 원래 쓰기 작업이 실행된 AWS 리전에서만 ACID(원자성, 일관성, 격리 및 내구성) 보장을 제공합니다. 전역 테이블에서는 트랜잭션이 리전 간에 지원되지 않습니다. 예를 들어 미국 동부(오하이오) 및 미국 서부(오레곤) 리전에 복제본이 있는 전역 테이블이 있고 미국 동부(버지니아 북부) 리전에서 TransactWriteItems 작업을 수행한다고 가정합니다. 이 경우 변경 사항이 복제될 때 미국 서부(오레곤) 리전에서 부분적으로 완료된 트랜잭션을 관찰할 수 있습니다. 변경 사항은 소스 리전에서 커밋된 이후에만 다른 리전에 복제됩니다.
참고
AWS Support를 통해 할당량 한도 증가를 요청해야 하는 경우가 있을 수 있습니다. 다음 중 하나라도 해당하는 경우 https://aws.amazon.com/support
-
쓰기 용량 단위(WCU) 40,000 이상을 사용하도록 구성된 테이블에 대한 복제본을 추가하는 경우 추가 복제본 WCU 할당량에 대한 서비스 할당량 증가를 요청해야 합니다.
-
24시간 내에 하나의 대상 리전에 총 합계가 10TB를 초과하는 복제본을 추가하는 경우 추가 복제본 데이터 채우기 할당량에 대한 서비스 할당량 증가를 요청해야 합니다.
-
다음과 비슷한 오류가 발생하는 경우
-
'example_region_B' 리전의 현재 계정 한도를 초과하므로 'example_region_A' 리전에 'example_table' 테이블의 복제본을 생성할 수 없습니다.
-
보조 인덱스
테이블당 보조 인덱스
최대 5개 로컬 보조 인덱스를 정의할 수 있습니다.
기본적으로 테이블당 20개의 글로벌 보조 인덱스 할당량이 있습니다. Service Quotas 콘솔
UpdateTable
작업마다 생성 또는 삭제할 수 있는 글로벌 보조 인덱스는 1개로 제한됩니다.
테이블당 프로젝션된 보조 인덱스 속성
테이블의 모든 로컬 및 글로벌 보조 인덱스에 속성을 총 100개까지 프로젝션할 수 있습니다. 사용자 지정 프로젝션 속성에만 이 제한이 적용됩니다.
CreateTable
작업에서 INCLUDE
의 ProjectionType
을 지정할 경우 모든 보조 인덱스에서 합계한 NonKeyAttributes
에 지정되는 속성의 총 개수는 100을 초과하지 않아야 합니다. 동일한 속성을 2개의 다른 인덱스에 프로젝션할 경우 합계를 확인할 때 2개의 서로 다른 속성으로 계산됩니다.
이 제한은 ProjectionType
이 KEYS_ONLY
또는 ALL
인 보조 인덱스에 적용되지 않습니다.
파티션 키와 정렬 키
파티션 키 길이
파티션 키 값의 최소 길이는 1바이트입니다. 최대 길이는 2,048바이트입니다.
파티션 키 값
고유 파티션 키 값의 수는 테이블 또는 보조 인덱스에 대해 실제로 제한이 없습니다.
정렬 키 길이
정렬 키 값의 최소 길이는 1바이트입니다. 최대 길이는 1,024바이트입니다.
정렬 키 값
일반적으로 파티션 키 값당 고유 정렬 키 값의 수는 실제로 제한이 없습니다.
보조 인덱스를 포함하는 테이블은 예외입니다. 항목 컬렉션은 동일한 파티션 키 속성 값을 가진 항목 세트입니다. 글로벌 보조 인덱스에서 항목 컬렉션은 기본 테이블과 독립적이며 다른 파티션 키 속성을 가질 수 있지만, 로컬 보조 인덱스에서는 인덱싱된 뷰가 테이블의 항목과 동일한 파티션에 콜로케이션되며 동일한 파티션 키 속성을 공유합니다. 이 로컬리티 때문에 테이블에 하나 이상의 LSI가 있는 경우 항목 컬렉션을 여러 파티션에 배포할 수 없습니다.
LSI가 하나 이상 있는 테이블의 경우 항목 컬렉션 크기는 10GB를 초과할 수 없습니다. 여기에는 모든 기본 테이블 항목과 파티션 키 속성의 값이 동일한 모든 프로젝션된 LSI 뷰가 포함됩니다. 파티션의 최대 크기는 10GB입니다. 더 자세한 내용은 항목 컬렉션 크기 제한섹션을 참조하세요.
이름 지정 규칙
테이블 이름 및 보조 인덱스 이름
테이블 및 보조 인덱스의 이름은 3자 이상이어야 하며 255자를 초과할 수 없습니다. 다음은 허용된 문자입니다.
-
A-Z
-
a-z
-
0-9
-
_
(밑줄) -
-
(하이픈) -
.
(점)
속성 이름
일반적으로 속성 이름은 1자 이상이어야 하며 64KB를 초과할 수 없습니다.
다음과 같은 예외가 있습니다. 이러한 속성 이름은 255자 이내여야 합니다.
-
보조 인덱스 파티션 키 이름
-
보조 인덱스 정렬 키 이름
-
사용자 지정 프로젝션 속성 이름(로컬 보조 인덱스에만 적용 가능).
CreateTable
작업에서INCLUDE
의ProjectionType
을 지정할 경우NonKeyAttributes
파라미터에 있는 속성 이름의 길이가 제한됩니다.KEYS_ONLY
및ALL
프로젝션 유형에는 적용되지 않습니다.
이러한 속성 이름은 UTF-8로 인코딩해야 하며, 인코딩 후 각 이름의 총 크기가 255바이트를 초과할 수 없습니다.
데이터 타입
String
문자열 길이는 최대 항목 크기 400KB의 제한을 받습니다.
문자열은 UTF-8 이진수 인코딩을 사용하는 유니코드입니다. UTF-8은 가변 폭 인코딩이므로, DynamoDB는 문자열의 길이를 UTF-8 바이트 기준으로 결정합니다.
숫자
숫자는 최대 38자리 정밀도의 양수, 음수 또는 0이 될 수 있습니다.
-
양의 범위:
1E-130
~9.9999999999999999999999999999999999999E+125
-
음의 범위:
-9.9999999999999999999999999999999999999E+125
~-1E-130
DynamoDB는 요청 및 응답에서 JSON 문자열을 사용하여 숫자 데이터를 표시합니다. 자세한 내용은 DynamoDB 하위 수준 API 단원을 참조하십시오.
숫자 정밀도가 중요한 경우에는 숫자 형식에서 변환된 문자열을 사용하여 숫자를 DynamoDB로 전달해야 합니다.
바이너리
이진수 길이는 최대 항목 크기 400KB의 제한을 받습니다.
이진 속성을 처리하는 애플리케이션에서는 데이터를 DynamoDB로 보내기 전에 Base64 형식으로 인코딩해야 합니다. DynamoDB가 데이터를 받아 부호가 없는 바이트 배열로 디코딩하고 속성 길이로 사용합니다.
Items
항목 크기
DynamoDB에서 최대 항목 크기가 400KB를 초과할 수 없습니다. 여기에는 속성 이름 이진 길이(UTF-8 길이)와 속성 값 길이(이진 길이)가 모두 포함됩니다. 속성 이름은 크기 제한에 포함됩니다.
예를 들어 속성이 2개인 항목이 있습니다. 한 속성은 이름이 "shirt-color"이고 값이 "R"이며 다른 속성은 이름이 "shirt-size"이고 값이 "M"입니다. 해당 항목의 총 크기는 23바이트입니다.
로컬 보조 인덱스가 있는 테이블의 항목 크기
테이블에 있는 각 로컬 보조 인덱스의 경우 다음의 전체 크기에 400KB의 제한이 적용됩니다.
-
테이블에 있는 항목의 데이터 크기
-
모든 로컬 보조 인덱스에서 해당 항목(키 값 및 프로젝션 속성 포함)의 크기입니다.
속성
항목별 속성 이름-값 페어
항목당 속성 누적 크기는 최대 DynamoDB 항목 크기(400KB) 이내여야 합니다.
목록, 맵 또는 세트의 값 수
목록, 맵 또는 집합 내 값의 수에는 제한이 없습니다. 단, 값을 포함하는 항목이 400KB 항목 크기 제한을 초과하지 않아야 합니다.
속성 값
속성이 테이블 또는 인덱스의 키 속성으로 사용되지 않는 경우 빈 문자열 및 이진 속성 값을 사용할 수 있습니다. 빈 문자열 및 이진 값은 집합, 목록 및 맵 형식 내에서 사용할 수 있습니다. 속성 값은 빈 집합(문자열 집합, 숫자 집합 또는 이진 집합)일 수 없습니다. 하지만 빈 목록 및 맵은 허용됩니다.
속성 중첩 깊이
DynamoDB는 최대 32개 수준 깊이까지 중첩된 속성을 지원합니다.
표현식 파라미터
표현식 파라미터는 ProjectionExpression
, ConditionExpression
, UpdateExpression
및 FilterExpression
을 포함합니다.
길이
표현식 문자열의 최대 길이는 4KB입니다. 예를 들어, ConditionExpression
a=b
의 크기는 3바이트입니다.
표현식 속성 이름 또는 표현식 속성 값 하나의 최대 길이는 255바이트입니다. 예를 들어, #name
은 5바이트이고, :val
은 4바이트입니다.
한 표현식에서 모든 치환 변수의 최대 길이는 2MB입니다. 이 길이는 모든 ExpressionAttributeNames
및 ExpressionAttributeValues
의 길이의 합계입니다.
연산자 및 피연산자
UpdateExpression
에 허용된 최대 연산자 또는 함수의 수는 300개입니다. 예를 들어 UpdateExpression SET a = :val1 + :val2 + :val3
에 2개의 "+
" 연산자가 포함됩니다.
IN
비교기의 최대 피연산자 수는 100개입니다.
예약어
DynamoDB는 예약어와 충돌하는 이름의 사용을 금지하지 않습니다. (전체 목록은 DynamoDB의 예약어 단원을 참조하세요.)
하지만 표현식 파라미터에 예약어를 사용하는 경우에는 ExpressionAttributeNames
도 지정해야 합니다. 자세한 내용은 DynamoDB의 표현식 속성 이름(별칭) 단원을 참조하십시오.
DynamoDB Transactions
DynamoDB 트랜잭션 API 작업의 제약 조건은 다음과 같습니다.
-
트랜잭션은 고유 항목을 100개 이상 포함할 수 없습니다.
-
트랜잭션은 4MB를 초과하는 데이터를 포함할 수 없습니다.
-
트랜잭션에서 동일한 테이블의 동일한 항목에 대해 두 작업을 동시에 수행할 수 없습니다. 예를 들어 동일한 트랜잭션에서 동일한 항목에 대해
ConditionCheck
작업과Update
작업을 동시에 수행할 수 없습니다. -
하나의 트랜잭션을 여러 AWS 계정 또는 리전의 테이블에서 작동할 수 없습니다.
-
트랜잭션 작업은 원래 쓰기 작업이 실행된 AWS 리전에서만 ACID(원자성, 일관성, 격리 및 내구성) 보장을 제공합니다. 전역 테이블에서는 트랜잭션이 리전 간에 지원되지 않습니다. 예를 들어 미국 동부(오하이오) 및 미국 서부(오레곤) 리전에 복제본이 있는 전역 테이블이 있고 미국 동부(버지니아 북부) 리전에서
TransactWriteItems
작업을 수행한다고 가정합니다. 이 경우 변경 사항이 복제될 때 미국 서부(오레곤) 리전에서 부분적으로 완료된 트랜잭션을 관찰할 수 있습니다. 변경 사항은 소스 리전에서 커밋된 이후에만 다른 리전에 복제됩니다.
DynamoDB Streams
DynamoDB Streams 내 샤드의 동시 리더
글로벌 테이블이 아닌 단일 리전 테이블의 경우 최대 2개의 프로세스가 동시에 동일 DynamoDB Streams 샤드에서 읽기 작업을 수행하도록 설계할 수 있습니다. 이 제한을 초과하면 요청 병목이 발생할 수 있습니다. 글로벌 테이블의 경우 요청 제한을 피하기 위해 동시 리더 수를 1로 제한하는 것이 좋습니다.
DynamoDB Streams가 활성화된 테이블에 대한 최대 쓰기 용량
AWS는 DynamoDB Streams이 활성화된 DynamoDB 테이블에 대한 쓰기 용량에 몇 가지 기본 할당량을 둡니다. 이러한 기본 할당량은 프로비저닝된 읽기/쓰기 용량 모드의 테이블에만 적용됩니다. 다음은 기본적으로 계정에 적용되는 처리량 할당량입니다.
-
미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(캘리포니아 북부), 미국 서부(오레곤), 남아메리카(상파울루), EU(프랑크푸르트), EU(아일랜드), 아시아 태평양(도쿄), 아시아 태평양(서울), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 중국(베이징) 리전:
-
테이블당 - 쓰기 용량 단위 40,000
-
-
기타 모든 리전:
-
테이블당 - 쓰기 용량 단위 10,000
-
Service Quotas 콘솔
참고
프로비저닝된 처리량 할당량은 DynamoDB Streams가 활성화된 DynamoDB 테이블에도 적용됩니다. Streams가 활성화된 테이블의 쓰기 용량에 대한 할당량 증가를 요청하는 경우 이 테이블에 대해 프로비저닝된 처리량 용량 증가도 요청해야 합니다. 자세한 내용은 처리량 기본 할당량을 참조하세요. 또한 더 높은 처리량의 DynamoDB Streams를 처리할 때는 다른 할당량이 적용됩니다. 자세한 내용은 Amazon DynamoDB Streams API 참조 가이드를 참조하세요.
DynamoDB Accelerator(DAX)
AWS 리전 가용성
DAX를 사용할 수 있는 AWS 리전 목록은 AWS 일반 참조의 DynamoDB Accelerator(DAX)를 참조하세요.
노드
DAX 클러스터는 정확히 1개의 프라이머리 노드와 0~10개 사이의 읽기 전용 복제본 노드로 구성됩니다.
하나의 AWS 리전에서 AWS 계정당 총 노드 수는 50개를 초과할 수 없습니다.
파라미터 그룹
리전마다 최대 20개의 DAX 파라미터 그룹을 생성할 수 있습니다.
서브넷 그룹
리전마다 최대 50개의 DAX 서브넷 그룹을 생성할 수 있습니다.
하나의 서브넷 그룹 내에서는 최대 20개까지 서브넷을 정의할 수 있습니다.
API별 제한
CreateTable
/UpdateTable
/DeleteTable
/PutResourcePolicy
/DeleteResourcePolicy
-
일반적으로 CreateTable, UpdateTable, DeleteTable, PutResourcePolicy, DeleteResourcePolicy 요청을 어떤 조합으로든 최대 500개까지 동시에 실행할 수 있습니다. 따라서
CREATING
,UPDATING
또는DELETING
상태의 총 테이블 수가 500을 초과할 수 없습니다.테이블 그룹 간에 변경 가능한(
CreateTable
,DeleteTable
,UpdateTable
,PutResourcePolicy
,DeleteResourcePolicy
) 컨트롤 플레인 API 요청을 초당 최대 2,500개까지 제출할 수 있습니다. 하지만PutResourcePolicy
및DeleteResourcePolicy
요청의 개별 한도는 더 낮습니다. 자세한 내용은PutResourcePolicy
및DeleteResourcePolicy
에 대한 다음 할당량 세부 정보를 참조하세요.리소스 기반 정책을 포함하는
CreateTable
및PutResourcePolicy
요청은 정책의 KB마다 2개의 추가 요청으로 계산됩니다. 예를 들어 정책 크기가 5KB인CreateTable
또는PutResourcePolicy
요청은 요청 11개로 계산됩니다.CreateTable
요청이 1개, 리소스 기반 정책이 10개(2 x 5KB)입니다. 마찬가지로 크기가 20KB인 정책은 41개의 요청으로 계산됩니다.CreateTable
요청이 1개, 리소스 기반 정책이 40개(2 x 20KB)입니다.PutResourcePolicy
-
테이블 그룹에서 초당 최대 25개의
PutResourcePolicy
API 요청을 제출할 수 있습니다. 개별 테이블에 대한 요청이 성공하면 이후 15초 동안 새PutResourcePolicy
요청이 지원되지 않습니다.리소스 기반 정책 문서에 지원되는 최대 크기는 20KB입니다. DynamoDB는 이 한도를 기준으로 정책의 크기를 계산할 때 공백을 계산합니다.
DeleteResourcePolicy
-
테이블 그룹에서 초당 최대 50개의
DeleteResourcePolicy
API 요청을 제출할 수 있습니다. 개별 테이블에 대한PutResourcePolicy
요청이 성공하면 이후 15초 동안DeleteResourcePolicy
요청이 지원되지 않습니다.
BatchGetItem
-
단일
BatchGetItem
작업은 최대 100개의 항목까지 가져올 수 있습니다. 가져온 모든 항목의 전체 크기는 16MB를 초과할 수 없습니다.
BatchWriteItem
-
단일
BatchWriteItem
작업은 최대 25개의PutItem
또는DeleteItem
요청을 포함할 수 있습니다. 쓰여진 모든 항목의 전체 크기는 16MB를 초과할 수 없습니다.
DescribeStream
-
DescribeStream
을 초당 최대 10회 직접 호출할 수 있습니다.
DescribeTableReplicaAutoScaling
-
DescribeTableReplicaAutoScaling
방법은 초당 10개의 요청만 지원합니다.
DescribeLimits
-
DescribeLimits
는 주기적으로만 호출해야 합니다. 1분에 두 번 이상 호출하는 경우 병목 오류가 발생할 수 있습니다.
DescribeContributorInsights
/ListContributorInsights
/UpdateContributorInsights
-
DescribeContributorInsights
,ListContributorInsights
,UpdateContributorInsights
는 주기적으로만 호출해야 합니다. 각 API에 대해 DynamoDB 는 초당 5개의 요청만 지원합니다.
DescribeTable
/ListTables
/GetResourcePolicy
-
어떤 조합으로든 읽기 전용(
DescribeTable
,ListTables
,GetResourcePolicy
) 컨트롤 플레인 API 요청을 초당 최대 2,500개까지 제출할 수 있습니다.GetResourcePolicy
API의 개별 하한은 초당 요청 100개입니다.
Query
-
Query
의 결과 집합은 호출당 1MB로 제한됩니다. 쿼리 응답의LastEvaluatedKey
를 사용하여 더 많은 결과를 가져올 수 있습니다.
Scan
-
Scan
의 결과 집합은 호출당 1MB로 제한됩니다. 스캔 응답의LastEvaluatedKey
를 사용하여 더 많은 결과를 가져올 수 있습니다.
UpdateKinesisStreamingDestination
-
UpdateKinesisStreamingDestination
작업을 수행할 때 24시간 동안 최대 3회까지ApproximateCreationDateTimePrecision
에 새 값을 설정할 수 있습니다.
UpdateTableReplicaAutoScaling
-
UpdateTableReplicaAutoScaling
메서드는 초당 10개의 요청만 지원합니다.
UpdateTableTimeToLive
-
UpdateTableTimeToLive
메서드는 시간당 지정된 테이블당Time to Live (TTL)
활성화 또는 비활성화 요청을 하나만 지원합니다. 이 변경을 완전히 처리하는 데 최대 1시간까지 걸릴 수 있습니다. 이 1시간 동안 동일한 테이블에 대한 추가UpdateTimeToLive
호출을 수행하면 ValidationException이 발생합니다.
DynamoDB 저장 데이터 암호화
AWS 소유 키, AWS 관리형 키 및 고객 관리형 키 간의 전환은 테이블 생성 시점을 기점으로 테이블당 24시간마다 최대 4회까지 언제든 허용됩니다. 지난 6시간 내 변경 사항이 없는 경우 추가 변경이 허용됩니다. 이에 따라 하루에 변경할 수 있는 최대 횟수를 8회로 설정할 수 있습니다(처음 6시간 동안 4회 변경, 이후 6시간마다 1회 변경(당일 기준)).
위의 할당량을 모두 사용한 경우에도 필요한 횟수만큼 AWS 소유 키를 사용하도록 암호화 키를 전환할 수 있습니다.
이러한 할당량은 용량 증가를 요청하지 않은 경우에 적용됩니다. 서비스 할당량 증가를 요청하려면 https://aws.amazon.com/support
Amazon S3로 테이블 내보내기
전체 내보내기: 최대 300개의 동시 내보내기 태스크 또는 모든 진행 중인 테이블 내보내기에서 최대 총 100TB를 내보낼 수 있습니다. 이러한 두 제한 모두 내보내기가 대기열에 추가되기 전에 확인됩니다.
증분 내보내기: 최소 15분에서 최대 24시간 사이의 내보내기 기간 내에서 최대 300개의 동시 작업 또는 100TB 크기의 테이블을 동시에 내보낼 수 있습니다.
백업 및 복원
DynamoDB 온디맨드 백업을 통해 복원하는 경우 총 50TB에 해당하는 최대 50개의 동시 복원을 실행할 수 있습니다. AWS Backup을 통해 복원하는 경우 총 25TB에 해당하는 최대 50개의 동시 복원을 실행할 수 있습니다. 백업에 대한 자세한 내용은 DynamoDB에 대한 백업 및 복원 섹션을 참조하세요.