DynamoDB 지표 및 차원
DynamoDB는 사용자와 상호 작용할 때 지표와 차원을 CloudWatch로 전송합니다.
DynamoDB 출력은 1분 동안 프로비저닝된 처리량을 소비했습니다. Auto Scaling은 소비된 용량이 구성된 목표 사용률을 2분 연속으로 초과할 때 트리거됩니다. CloudWatch 경보가 Auto Scaling을 트리거하기 전에 최대 몇 분의 짧은 지연이 있을 수 있습니다. 이러한 지연을 통해 정확한 CloudWatch 지표 평가가 이루어집니다. 하지만 소비된 처리량의 급증 간격이 1분보다 크면 Auto Scaling이 트리거되지 않을 수 있습니다. 마찬가지로 15개의 연속 데이터 포인트가 목표 사용률보다 낮을 때 스케일 다운 이벤트가 발생할 수 있습니다. 두 경우 모두 Auto Scaling이 트리거된 후 UpdateTable가 간접적으로 호출됩니다. 그런 다음 테이블 또는 인덱스의 프로비저닝된 용량을 업데이트하는 데 몇 분 정도 걸립니다. 이 기간 동안 테이블의 이전 프로비저닝된 용량을 초과하는 모든 요청은 제한됩니다.
지표 및 차원 보기
CloudWatch에 DynamoDB에 대한 다음 지표가 표시됩니다.
DynamoDB 지표
참고
Amazon CloudWatch에서는 1분 간격으로 다음과 같은 지표를 집계합니다.
-
ConditionalCheckFailedRequests
-
ConsumedReadCapacityUnits
-
ConsumedWriteCapacityUnits
-
ReadThrottleEvents
-
ReturnedBytes
-
ReturnedItemCount
-
ReturnedRecordsCount
-
SuccessfulRequestLatency
-
SystemErrors
-
TimeToLiveDeletedItemCount
-
ThrottledRequests
-
TransactionConflict
-
UserErrors
-
WriteThrottleEvents
다른 모든 DynamoDB 지표의 경우 집계 단위는 5분입니다.
Average나 Sum처럼 모든 지표에 적용되지 않는 통계도 있습니다. 하지만 이 값은 모두 Amazon DynamoDB 콘솔, CloudWatch 콘솔, AWS CLI 또는 AWS SDK(모든 지표에 대해)를 통해 사용할 수 있습니다.
다음 목록에는 각 지표에 적용되는 유효한 통계 집합이 있습니다.
사용 가능한 지표 목록
- AccountMaxReads
- AccountMaxTableLevelReads
- AccountMaxTableLevelWrites
- AccountMaxWrites
- AccountProvisionedReadCapacityUtilization
- AccountProvisionedWriteCapacityUtilization
- AgeOfOldestUnreplicatedRecord
- ConditionalCheckFailedRequests
- ConsumedChangeDataCaptureUnits
- ConsumedReadCapacityUnits
- ConsumedWriteCapacityUnits
- FailedToReplicateRecordCount
- MaxProvisionedTableReadCapacityUtilization
- MaxProvisionedTableWriteCapacityUtilization
- OnDemandMaxReadRequestUnits
- OnDemandMaxWriteRequestUnits
- OnlineIndexConsumedWriteCapacity
- OnlineIndexPercentageProgress
- OnlineIndexThrottleEvents
- PendingReplicationCount
- ProvisionedReadCapacityUnits
- ProvisionedWriteCapacityUnits
- ReadThrottleEvents
- ReplicationLatency
- ReturnedBytes
- ReturnedItemCount
- ReturnedRecordsCount
- SuccessfulRequestLatency
- SystemErrors
- TimeToLiveDeletedItemCount
- ThrottledPutRecordCount
- ThrottledRequests
- TransactionConflict
- UserErrors
- WriteThrottleEvents
AccountMaxReads
계정에서 사용할 수 있는 읽기 용량 유닛의 최대 수입니다. 이 제한은 온디맨드 테이블 또는 글로벌 보조 인덱스에는 적용되지 않습니다.
단위: Count
유효한 통계:
-
Maximum
- 계정에서 사용할 수 있는 읽기 용량 단위의 최대 수입니다.
AccountMaxTableLevelReads
계정의 테이블 또는 글로벌 보조 인덱스에서 사용할 수 있는 읽기 용량 유닛의 최대 수입니다. 온디맨드 테이블의 경우 이 제한이 테이블 또는 글로벌 보조 인덱스에서 사용할 수 있는 읽기 요청 유닛의 최대 수에 영향을 미칩니다.
단위: Count
유효한 통계:
-
Maximum
- 계정의 테이블 또는 글로벌 보조 인덱스에서 사용할 수 있는 읽기 용량 단위의 최대 수입니다.
AccountMaxTableLevelWrites
계정의 테이블 또는 글로벌 보조 인덱스에서 사용할 수 있는 쓰기 용량 유닛의 최대 수입니다. 온디맨드 테이블의 경우 이 제한이 테이블 또는 글로벌 보조 인덱스에서 사용할 수 있는 쓰기 요청 유닛의 최대 수에 영향을 미칩니다.
단위: Count
유효한 통계:
-
Maximum
- 계정의 테이블 또는 글로벌 보조 인덱스에서 사용할 수 있는 쓰기 용량 단위의 최대 수입니다.
AccountMaxWrites
계정에서 사용할 수 있는 쓰기 용량 유닛의 최대 수입니다. 이 제한은 온디맨드 테이블 또는 글로벌 보조 인덱스에는 적용되지 않습니다.
단위: Count
유효한 통계:
-
Maximum
- 계정에서 사용할 수 있는 쓰기 용량 단위의 최대 수입니다.
AccountProvisionedReadCapacityUtilization
계정에서 사용하는 프로비저닝된 읽기 용량 단위의 백분율입니다.
단위: Percent
유효한 통계:
-
Maximum
- 계정에서 사용하는 프로비저닝된 읽기 용량 단위의 최대 백분율입니다. -
Minimum
- 계정에서 사용하는 프로비저닝된 읽기 용량 단위의 최소 백분율입니다. -
Average
- 계정에서 사용하는 프로비저닝된 읽기 용량 단위의 평균 백분율입니다. 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 읽기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
AccountProvisionedWriteCapacityUtilization
계정에서 사용하는 프로비저닝된 쓰기 용량 단위의 백분율입니다.
단위: Percent
유효한 통계:
-
Maximum
- 계정에서 사용하는 프로비저닝된 쓰기 용량 단위의 최대 백분율입니다. -
Minimum
- 계정에서 사용하는 프로비저닝된 쓰기 용량 단위의 최소 백분율입니다. -
Average
- 계정에서 사용하는 프로비저닝된 쓰기 용량 단위의 평균 백분율입니다. 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 쓰기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
AgeOfOldestUnreplicatedRecord
아직 Kinesis 데이터 스트림에 복제되지 않은 레코드가 DynamoDB 테이블에 처음 나타난 이후의 경과 시간입니다.
단위: Milliseconds
차원: TableName, DelegatedOperation
유효한 통계:
-
Maximum
. -
Minimum
. -
Average
.
ConditionalCheckFailedRequests
조건부 쓰기 실패 횟수입니다. PutItem
, UpdateItem
및 DeleteItem
작업에서는 해당 작업이 진행하려면 먼저 true로 평가되어야 하는 논리적 조건을 사용자가 제공하도록 합니다. 이 조건이 false로 평가되면 ConditionalCheckFailedRequests
가 1씩 증분됩니다. ConditionalCheckFailedRequests
도 논리적 조건이 제공되고 해당 조건이 false로 평가되는 PartiQL Update 및 Delete 문에 대해 1씩 증분됩니다.
참고
조건부 쓰기가 실패하면 HTTP 400 오류(잘못된 요청)가 발생합니다. 이러한 이벤트는 ConditionalCheckFailedRequests
지표에만 반영되고, UserErrors
지표에는 반영되지 않습니다.
단위: Count
차원: TableName
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
-
Sum
ConsumedChangeDataCaptureUnits
사용된 변경 데이터 캡처 단위의 수입니다.
단위: Count
차원: TableName, DelegatedOperation
유효한 통계:
-
Minimum
-
Maximum
-
Average
ConsumedReadCapacityUnits
일정 기간 동안 사용된 프로비저닝 용량과 온디맨드 용량의 읽기 용량 단위 수로, 이를 통해 처리량이 얼마나 많이 사용되는지 추적할 수 있습니다. 또한 테이블과 테이블의 모든 글로벌 보조 인덱스 또는 특정 글로벌 보조 인덱스에 대해 소비된 총 읽기 용량을 가져올 수 있습니다. 자세한 내용은 읽기/쓰기 용량 모드를 참조하세요.
테이블일 때는 TableName
차원이 ConsumedReadCapacityUnits
를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 ConsumedReadCapacityUnits
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
참고
Amazon DynamoDB에서는 소비된 용량 지표가 1분 간격으로 CloudWatch에 평균값으로 보고됩니다. 즉, 단 1초의 짧은 시간 동안 급증하는 용량 소비는 CloudWatch 그래프에 정확하게 반영되지 않아 해당 분 동안 표시 소비율이 낮아질 수 있습니다.
Sum
통계를 사용하여 사용된 처리량을 계산합니다. 예를 들어, 1분 동안의 Sum
값을 가져와서 이를 1분의 초 수(60)로 나누어 초당 평균 ConsumedReadCapacityUnits
를 계산합니다. 계산된 값을 DynamoDB에 제공하는 프로비저닝된 처리량 값과 비교할 수 있습니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
- 테이블 또는 인덱스에 대한 개별 요청에 의해 사용된 읽기 용량 단위의 최소 수입니다. -
Maximum
- 테이블 또는 인덱스에 대한 개별 요청에 의해 사용된 읽기 용량 단위의 최대 수입니다. -
Average
- 사용된 요청당 읽기 용량 평균입니다.참고
Average
값은 샘플 값이 0이 될 비활동 기간의 영향을 받습니다. -
Sum
- 사용된 총 읽기 용량 단위입니다.ConsumedReadCapacityUnits
지표에 가장 유용한 통계입니다. -
SampleCount
- DynamoDB에 대한 읽기 요청 수입니다. 읽기 용량이 사용되지 않은 경우 0을 반환합니다.참고
SampleCount
값은 샘플 값이 0이 될 비활동 기간의 영향을 받습니다.
ConsumedWriteCapacityUnits
일정 기간 동안 사용된 프로비저닝 용량과 온디맨드 용량의 쓰기 용량 단위 수로, 이를 통해 처리량이 얼마나 많이 사용되는지 추적할 수 있습니다. 또한 테이블과 테이블의 모든 글로벌 보조 인덱스 또는 특정 글로벌 보조 인덱스에 대해 소비된 총 쓰기 용량을 가져올 수 있습니다. 자세한 내용은 읽기/쓰기 용량 모드를 참조하세요.
테이블일 때는 TableName
차원이 ConsumedWriteCapacityUnits
를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 ConsumedWriteCapacityUnits
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
참고
Sum
통계를 사용하여 사용된 처리량을 계산합니다. 예를 들어 1분간 Sum
값을 가져와 60초로 나눠 초당 평균 ConsumedWriteCapacityUnits
를 계산합니다(이 평균값은 1분간 발생한 쓰기 작업이 많지만 짧은 순간에 급증한다는 것을 의미하지는 않음). 계산된 값을 DynamoDB에 제공하는 프로비저닝된 처리량 값과 비교할 수 있습니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
- 테이블 또는 인덱스에 대한 개별 요청에 의해 사용된 쓰기 용량 단위의 최소 수입니다. -
Maximum
- 테이블 또는 인덱스에 대한 개별 요청에 의해 사용된 쓰기 용량 단위의 최대 수입니다. -
Average
- 사용된 요청당 쓰기 용량 평균입니다.참고
Average
값은 샘플 값이 0이 될 비활동 기간의 영향을 받습니다. -
Sum
- 사용된 총 쓰기 용량 단위입니다.ConsumedWriteCapacityUnits
지표에 가장 유용한 통계입니다. -
SampleCount
- DynamoDB에 대한 쓰기 요청 수입니다(쓰기 용량이 사용되지 않은 경우도 해당).참고
SampleCount
값은 샘플 값이 0이 될 비활동 기간의 영향을 받습니다.
FailedToReplicateRecordCount
DynamoDB가 Kinesis 데이터 스트림으로 복제하지 못한 레코드 수입니다.
단위: Count
Dimensions: TableName
, DelegatedOperation
유효한 통계:
-
Sum
MaxProvisionedTableReadCapacityUtilization
계정의 가장 높은 프로비저닝된 읽기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 읽기 용량의 백분율입니다.
단위: Percent
유효한 통계:
-
Maximum
– 계정의 가장 높은 프로비저닝된 읽기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 읽기 용량 단위의 최대 백분율입니다. -
Minimum
– 계정의 가장 높은 프로비저닝된 읽기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 읽기 용량 단위의 최소 백분율입니다. -
Average
- 계정의 가장 높은 프로비저닝된 읽기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 읽기 용량 단위의 평균 백분율입니다. 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 읽기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
MaxProvisionedTableWriteCapacityUtilization
계정의 가장 높은 프로비저닝된 쓰기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 쓰기 용량의 백분율입니다.
단위: Percent
유효한 통계:
-
Maximum
- 계정의 가장 높은 프로비저닝된 쓰기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 쓰기 용량 단위의 최대 백분율입니다. -
Minimum
- 계정의 가장 높은 프로비저닝된 쓰기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 쓰기 용량 단위의 최소 백분율입니다. -
Average
- 계정의 가장 높은 프로비저닝된 쓰기 테이블 또는 글로벌 보조 인덱스에서 사용하는 프로비저닝된 쓰기 용량 단위의 평균 백분율입니다. 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 쓰기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
OnDemandMaxReadRequestUnits
테이블 또는 글로벌 보조 인덱스에 대해 지정된 온디맨드 읽기 요청 단위 수입니다.
테이블의 OnDemandMaxReadRequestUnits
를 보려면 TableName
을 지정해야 합니다. 글로벌 보조 인덱스일 때 OnDemandMaxReadRequestUnits
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
단위: 개
Dimensions: TableName
, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
- 온디맨드 읽기 요청 단위에 대한 가장 낮은 설정입니다.UpdateTable
을 사용하여 읽기 요청 단위를 늘리는 경우 이 지표는 해당 기간 동안 온디맨드ReadRequestUnits
의 최저값을 보여 줍니다. -
Maximum
- 온디맨드 읽기 요청 단위에 대한 가장 높은 설정입니다.UpdateTable
을 사용하여 읽기 요청 단위를 줄이는 경우 이 지표는 해당 기간 동안 온디맨드ReadRequestUnits
의 최고값을 보여 줍니다. -
Average
- 평균 온디맨드 읽기 요청 단위입니다.OnDemandMaxReadRequestUnits
지표는 5분 간격으로 게시됩니다. 따라서 온디맨드 읽기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
OnDemandMaxWriteRequestUnits
테이블 또는 글로벌 보조 인덱스에 대해 지정된 온디맨드 쓰기 요청 단위 수입니다.
테이블의 OnDemandMaxWriteRequestUnits
를 보려면 TableName
을 지정해야 합니다. 글로벌 보조 인덱스일 때 OnDemandMaxWriteRequestUnits
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
단위: Count
Dimensions: TableName
, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
- 온디맨드 쓰기 요청 단위에 대한 가장 낮은 설정입니다.UpdateTable
을 사용하여 쓰기 요청 단위를 늘리는 경우 이 지표는 해당 기간 동안 온디맨드WriteRequestUnits
의 최저값을 보여 줍니다. -
Maximum
- 온디맨드 쓰기 요청 단위에 대한 가장 높은 설정입니다.UpdateTable
을 사용하여 쓰기 요청 단위를 줄이는 경우 이 지표는 해당 기간 동안 온디맨드WriteRequestUnits
의 최고값을 보여 줍니다. -
Average
- 평균 온디맨드 쓰기 요청 단위입니다.OnDemandMaxWriteRequestUnits
지표는 5분 간격으로 게시됩니다. 따라서 온디맨드 쓰기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
OnlineIndexConsumedWriteCapacity
새 글로벌 보조 인덱스를 테이블에 추가할 때 사용되는 쓰기 용량 단위의 수입니다. 인덱스의 쓰기 용량이 너무 낮으면 채움(backfill) 단계에서 수신되는 쓰기 작업이 병목 현상을 일으켜 인덱스 생성 시간이 늘어날 수 있습니다. 따라서 인덱스 빌드 중에는 이 통계를 모니터링하여 인덱스 쓰기 용량의 언더프로비저닝 여부를 확인해야 합니다.
인덱스가 계속 빌드 중인 경우에도 UpdateTable
작업을 사용하여 인덱스의 쓰기 용량을 조정할 수 있습니다.
인덱스 생성 중 사용된 쓰기 처리량은 인덱스의 ConsumedWriteCapacityUnits
지표에 포함되지 않습니다.
참고
새 글로벌 보조 인덱스의 채우기 단계가 빠르게(몇 분 미만) 완료되는 경우 이 지표가 생성되지 않을 수 있습니다. 이는 기본 테이블에 인덱스에서 채울 항목이 거의 없거나 전혀 없는 경우에 발생할 수 있습니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
-
Sum
OnlineIndexPercentageProgress
새 글로벌 보조 인덱스가 테이블에 추가되고 있는 진행률입니다. DynamoDB는 먼저 리소스를 새 인덱스에 할당한 다음 테이블의 속성을 인덱스에 채워야 합니다. 테이블 용량이 클 때는 이 프로세스 시간이 오래 걸릴 수도 있습니다. DynamoDB가 인덱스를 빌드할 때는 이 통계를 모니터링하여 상대적인 진행률을 확인해야 합니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
-
Sum
OnlineIndexThrottleEvents
새 글로벌 보조 인덱스를 테이블에 추가할 때 발생하는 쓰기 병목 이벤트의 수입니다. 이러한 이벤트는 수신 쓰기 작업이 인덱스의 프로비저닝된 쓰기 처리량을 초과하기 때문에 인덱스를 생성할 때 시간이 더 걸릴 것임을 나타냅니다.
인덱스가 계속 빌드 중인 경우에도 UpdateTable
작업을 사용하여 인덱스의 쓰기 용량을 조정할 수 있습니다.
인덱스 생성 중 발생한 제한 이벤트는 인덱스의 WriteThrottleEvents
지표에 포함되지 않습니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
-
Sum
PendingReplicationCount
글로벌 테이블 버전 2017.11.29(레거시)에 대한 지표(글로벌 테이블만 해당) 한 복제본 테이블에 쓰여졌지만 전역 테이블의 다른 복제본에는 아직 쓰여지지 않은 항목 업데이트 수입니다.
단위: Count
차원: TableName, ReceivingRegion
유효한 통계:
-
Average
-
Sample Count
-
Sum
ProvisionedReadCapacityUnits
테이블 또는 글로벌 보조 인덱스에 대해 프로비저닝된 읽기 용량 단위의 수입니다. 테이블일 때는 TableName
차원이 ProvisionedReadCapacityUnits
를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 ProvisionedReadCapacityUnits
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
- 프로비저닝된 읽기 용량에 대한 가장 낮은 설정입니다.UpdateTable
을 사용하여 읽기 용량을 늘리는 경우 이 지표는 해당 기간 동안 프로비저닝된ReadCapacityUnits
의 최저값을 보여 줍니다. -
Maximum
- 프로비저닝된 읽기 용량에 대한 가장 높은 설정입니다.UpdateTable
을 사용하여 읽기 용량을 줄이는 경우 이 지표는 해당 기간 동안 프로비저닝된ReadCapacityUnits
의 최고값을 보여 줍니다. -
Average
- 프로비저닝된 읽기 용량 평균입니다.ProvisionedReadCapacityUnits
지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 읽기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
ProvisionedWriteCapacityUnits
테이블 또는 글로벌 보조 인덱스에 대해 프로비저닝된 쓰기 용량 단위의 수입니다.
테이블일 때는 TableName
차원이 ProvisionedWriteCapacityUnits
를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 ProvisionedWriteCapacityUnits
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Minimum
- 프로비저닝된 쓰기 용량에 대한 가장 낮은 설정입니다.UpdateTable
을 사용하여 쓰기 용량을 늘리는 경우 이 지표는 해당 기간 동안 프로비저닝된WriteCapacityUnits
의 최저값을 보여 줍니다. -
Maximum
- 프로비저닝된 쓰기 용량에 대한 가장 높은 설정입니다.UpdateTable
을 사용하여 쓰기 용량을 줄이는 경우 이 지표는 해당 기간 동안 프로비저닝된WriteCapacityUnits
의 최고값을 보여 줍니다. -
Average
- 프로비저닝된 쓰기 용량 평균입니다.ProvisionedWriteCapacityUnits
지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 쓰기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
ReadThrottleEvents
테이블 또는 글로벌 보조 인덱스에 대해 프로비저닝된 읽기 용량 단위를 초과하는 DynamoDB에 대한 요청입니다.
단일 요청으로 여러 이벤트가 발생할 수 있습니다. 예를 들어 10개 항목을 읽는 BatchGetItem
이 10개의 GetItem
이벤트로 처리됩니다. 그리고 각 이벤트마다 병목 현상이 발생하면 ReadThrottleEvents
가 1씩 증분됩니다. 모두 10개의 GetItem
이벤트에서 병목 현상이 일어나지 않는 한 전체 BatchGetItem
의 ThrottledRequests
지표는 증분되지 않습니다.
테이블일 때는 TableName
차원이 ReadThrottleEvents
를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 ReadThrottleEvents
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
SampleCount
-
Sum
ReplicationLatency
(이 지표는 DynamoDB 전역 테이블용입니다.) 하나의 복제본 테이블에 대한 DynamoDB 스트림에 나타나는 업데이트된 항목과 전역 테이블의 다른 복제본에 나타나는 해당 항목 사이의 경과된 시간입니다.
단위: Milliseconds
차원: TableName, ReceivingRegion
유효한 통계:
-
Average
-
Minimum
-
Maximum
ReturnedBytes
지정된 기간 동안 GetRecords
작업(Amazon DynamoDB Streams)에 의해 반환되는 바이트 수입니다.
단위: Bytes
차원: Operation, StreamLabel, TableName
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
-
Sum
ReturnedItemCount
지정된 기간 동안 Query
, Scan
또는 ExecuteStatement
(select) 작업에 의해 반환되는 항목 수입니다.
반환되는 항목 수가 평가된 항목 수와 반드시 일치하지는 않습니다. 예를 들어 항목이 100개인 테이블또는 인덱스에 대해 Scan
을 요청했지만 결과를 좁히는 FilterExpression
을 지정하여 15개의 항목만 반환되도록 한 경우, Scan
의 응답에 100개 ScanCount
및 15개 Count
의 반환된 항목이 포함됩니다.
단위: Count
차원: TableName, Operation
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
-
Sum
ReturnedRecordsCount
지정된 기간 동안 GetRecords
작업(Amazon DynamoDB Streams)에 의해 반환되는 스트림 레코드 수입니다.
단위: Count
차원: Operation, StreamLabel, TableName
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
-
Sum
SuccessfulRequestLatency
지정된 기간 동안 DynamoDB 또는 Amazon DynamoDB Streams에 대해 성공한 요청의 지연 시간입니다. SuccessfulRequestLatency
는 다음과 같이 두 가지 종류의 정보를 제공할 수 있습니다.
-
성공한 요청의 경과 시간(
Minimum
,Maximum
,Sum
또는Average
) -
성공한 요청의 수(
SampleCount
)
SuccessfulRequestLatency
는 DynamoDB 또는 Amazon DynamoDB Streams 내의 활동만 반영하며, 네트워크 지연 시간이나 클라이언트 측 활동은 고려하지 않습니다.
단위: Milliseconds
차원: TableName, Operation, StreamLabel
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
SystemErrors
지정된 기간 동안 HTTP 500 상태 코드를 생성하는 DynamoDB 또는 Amazon DynamoDB Streams에 대한 요청입니다. HTTP 500은 대개 내부 서비스 오류를 나타냅니다.
단위: Count
차원: TableName, Operation
유효한 통계:
-
Sum
-
SampleCount
TimeToLiveDeletedItemCount
지정된 기간 동안 TTL(Time To Live)에서 삭제된 항목 수입니다. 이 지표는 테이블에서 TTL 삭제 비율을 모니터링하는 데 효과적입니다.
단위: Count
측정 기준: TableName
유효한 통계:
-
Sum
ThrottledPutRecordCount
Kinesis Data Streams 용량이 부족하여 Kinesis Data Streams에 복제하지 못한 레코드 수입니다.
단위: Count
차원: TableName, DelegatedOperation
유효한 통계:
-
Minimum
-
Maximum
-
Average
-
SampleCount
ThrottledRequests
리소스(테이블 또는 인덱스 등)에 대해 프로비저닝된 처리량 제한을 초과하는 DynamoDB에 대한 요청입니다.
요청에 포함된 이벤트가 프로비저닝된 처리량 제한을 초과하면 ThrottledRequests
가 1씩 증분됩니다. 예를 들어 테이블의 항목을 글로벌 보조 인덱스로 업데이트하는 경우 테이블에 쓰기, 각 인덱스에 쓰기 등과 같은 여러 이벤트가 발생합니다. 이때 이 이벤트 중 하나 이상에서 병목 현상이 발생하면 ThrottledRequests
가 1씩 증분됩니다.
참고
배치 요청(BatchGetItem
또는 BatchWriteItem
)에서는 배치의 모든 요청에서 병목 현상이 발생하는 경우에만 ThrottledRequests
가 증분됩니다.
배치 내의 개별 요청에서 병목 현상이 발생하면 다음 지표 중 하나가 증분됩니다.
-
ReadThrottleEvents
-BatchGetItem
내의GetItem
이벤트에서 병목 현상이 발생한 경우 -
WriteThrottleEvents
-BatchWriteItem
내의PutItem
또는DeleteItem
이벤트에서 병목 현상이 발생한 경우
요청의 병목 현상 원인이 되는 이벤트는 ThrottledRequests
를 테이블과 테이블 인덱스의 ReadThrottleEvents
및 WriteThrottleEvents
와 비교해보면 알 수 있습니다.
참고
병목 현상이 발생한 요청에 의해 HTTP 400 상태 코드가 생성됩니다. 이러한 이벤트는 모두 ThrottledRequests
지표에만 반영되고 UserErrors
지표에는 반영되지 않습니다.
단위: Count
차원: TableName, Operation
유효한 통계:
-
Sum
-
SampleCount
TransactionConflict
동일한 항목의 동시 요청 간 트랜잭션 충돌로 인해 거부된 항목 수준의 요청입니다. 자세한 내용은 DynamoDB의 트랜잭션 충돌 처리를 참조하세요.
단위: Count
차원: TableName
유효한 통계:
-
Sum
- 트랜잭션 충돌로 인해 거부된 항목 수준의 요청 수입니다.참고
TransactWriteItems
또는TransactGetItems
에 대한 호출 내 여러 항목 수준 요청이 거부된 경우 각 항목 수준Put
,Update
,Delete
또는Get
에 대해 1씩Sum
이 증분됩니다. -
SampleCount
- 트랜잭션 충돌로 인해 거부된 요청 수입니다.참고
TransactWriteItems
또는TransactGetItems
에 대한 호출 내 여러 항목 수준 요청이 거부된 경우SampleCount
만 1씩 증분됩니다. -
Min
-TransactWriteItems
,TransactGetItems
,PutItem
,UpdateItem
또는DeleteItem
에 대한 호출 내 거부된 항목 수준 요청의 최소 수입니다. -
Max
-TransactWriteItems
,TransactGetItems
,PutItem
,UpdateItem
또는DeleteItem
에 대한 호출 내 거부된 항목 수준 요청의 최대 수입니다. -
Average
-TransactWriteItems
,TransactGetItems
,PutItem
,UpdateItem
또는DeleteItem
에 대한 호출 내 거부된 항목 수준 요청의 평균 수입니다.
UserErrors
지정된 기간 동안 HTTP 400 상태 코드를 생성하는 DynamoDB 또는 Amazon DynamoDB Streams에 대한 요청입니다. HTTP 400은 유효하지 않은 파라미터 조합, 존재하지 않는 테이블을 업데이트하려는 시도, 잘못된 요청 서명 등 대개 클라이언트 측 오류를 나타냅니다.
UserErrors
와 관련된 지표를 로깅하는 예외의 몇 가지 예는 다음과 같습니다.
ResourceNotFoundException
ValidationException
TransactionConflict
이러한 이벤트는 모두 다음을 제외하고 UserErrors
지표에 반영됩니다.
-
ProvisionedThroughputExceededException - 이 단원의
ThrottledRequests
지표를 참조하세요. -
ConditionalCheckFailedException - 이 단원의
ConditionalCheckFailedRequests
지표를 참조하세요.
UserErrors
는 현재 AWS 리전 및 현재 AWS 계정의 DynamoDB 또는 Amazon DynamoDB Streams 요청에 대한 HTTP 400 오류의 집계를 나타냅니다.
단위: Count
유효한 통계:
-
Sum
-
SampleCount
WriteThrottleEvents
테이블 또는 글로벌 보조 인덱스에 대해 프로비저닝된 쓰기 용량 단위를 초과하는 DynamoDB에 대한 요청입니다.
단일 요청으로 여러 이벤트가 발생할 수 있습니다. 예를 들어 글로벌 보조 인덱스를 사용하는 테이블에 대한 PutItem
요청으로 테이블 쓰기, 각 3개의 인덱스 쓰기와 같은 4개 이벤트가 발생합니다. 그리고 각 이벤트마다 병목 현상이 발생하면 WriteThrottleEvents
지표가 1씩 증분됩니다. 하나의 PutItem
요청에 대해 어떤 이벤트에서든지 병목 현상이 발생하면 ThrottledRequests
역시 1씩 증분됩니다. BatchWriteItem
에 대해서는 모든 개별 PutItem
또는 DeleteItem
이벤트에서 병목 현상이 일어나지 않는 한 전체 BatchWriteItem
의 ThrottledRequests
지표는 증분되지 않습니다.
테이블일 때는 TableName
차원이 WriteThrottleEvents
를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 WriteThrottleEvents
를 확인하려면 TableName
과 GlobalSecondaryIndexName
를 모두 지정해야 합니다.
단위: Count
차원: TableName, GlobalSecondaryIndexName
유효한 통계:
-
Sum
-
SampleCount
사용량 지표
CloudWatch의 사용량 지표를 사용하면 CloudWatch 콘솔에서 지표를 시각화하고 사용자 지정 대시보드를 생성하며 CloudWatch 이상 탐지를 통해 활동의 변화를 감지하고 사용량이 임계값에 근접할 때 이를 알려 주는 경보를 구성함으로써 사용량을 사전에 관리할 수 있습니다.
또한 DynamoDB는 이러한 사용량 지표를 Service Quotas와 통합합니다. CloudWatch를 사용하여 계정의 서비스 할당량 사용을 관리할 수 있습니다. 자세한 내용은 서비스 할당량 시각화 및 경보 설정을 참조하세요.
AccountProvisionedWriteCapacityUnits
계정의 모든 테이블 및 글로벌 보조 인덱스에 대해 프로비저닝된 쓰기 용량 단위의 합계입니다.
단위: Count
유효한 통계:
-
Minimum
- 일정 기간 동안 프로비저닝된 쓰기 용량 단위의 가장 큰 수입니다. -
Maximum
- 일정 기간 동안 프로비저닝된 쓰기 용량 단위의 가장 작은 수입니다. -
Average
- 일정 기간 동안 계정에 프로비저닝된 쓰기 용량 단위의 평균 수입니다.
이 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 쓰기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
AccountProvisionedReadCapacityUnits
계정의 모든 테이블 및 글로벌 보조 인덱스에 대해 프로비저닝된 읽기 용량 단위의 합계입니다.
단위: Count
유효한 통계:
-
Minimum
- 일정 기간 동안 프로비저닝된 읽기 용량 단위의 가장 작은 수입니다. -
Maximum
- 일정 기간 동안 프로비저닝된 읽기 용량 단위의 가장 큰 수입니다. -
Average
- 일정 기간 동안 계정에 프로비저닝된 읽기 용량 단위의 평균 수입니다.
이 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 읽기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.
TableCount
계정의 활성 테이블 수입니다.
단위: Count
유효한 통계:
-
Minimum
- 일정 기간 동안 테이블의 가장 적은 수입니다. -
Maximum
- 일정 기간 동안 테이블의 가장 큰 수입니다. -
Average
- 일정 기간 동안 테이블의 평균 수입니다.
DynamoDB의 지표 및 차원 이해
DynamoDB의 지표는 계정, 테이블 이름, 글로벌 보조 인덱스 이름 또는 작업 값으로 한정됩니다. CloudWatch 콘솔을 사용하면 아래 표의 어떤 차원이든지 함께 DynamoDB 데이터를 가져올 수 있습니다.
사용 가능한 차원 목록
DelegatedOperation
이 차원은 DynamoDB가 사용자 대신 수행하는 작업에 대한 데이터를 제한합니다. 다음 작업은 캡처됩니다.
-
Kinesis Data Streams에 대한 변경 데이터 캡처
GlobalSecondaryIndexName
이 차원은 테이블의 글로벌 보조 인덱스에 대한 데이터를 제한합니다. GlobalSecondaryIndexName
을 지정하면 TableName
도 함께 지정해야 합니다.
Operation
이 차원은 다음의 DynamoDB 작업 중 하나에 대한 데이터를 제한합니다.
-
PutItem
-
DeleteItem
-
UpdateItem
-
GetItem
-
BatchGetItem
-
Scan
-
Query
-
BatchWriteItem
-
TransactWriteItems
-
TransactGetItems
-
ExecuteTransaction
-
BatchExecuteStatement
-
ExecuteStatement
또한 다음의 Amazon DynamoDB Streams 작업에 대한 데이터를 제한할 수도 있습니다.
-
GetRecords
OperationType
이 차원은 다음 작업 유형 중 하나에 대한 데이터를 제한합니다.
-
Read
-
Write
이 차원은 ExecuteTransaction
및 BatchExecuteStatement
요청에 대해 내보내집니다.
동사
이 차원은 다음의 DynamoDB PartiQL 동사 중 하나에 대한 데이터를 제한합니다.
-
Insert:
PartiQLInsert
-
Select:
PartiQLSelect
-
Update:
PartiQLUpdate
-
Delete:
PartiQLDelete
이 차원은 ExecuteStatement
작업에 대해 내보내집니다.
ReceivingRegion
이 차원은 데이터를 특정 AWS 리전으로 제한합니다. 이 지표는 DynamoDB 전역 테이블 내 복제 테이블에서 비롯된 지표와 함께 사용됩니다.
StreamLabel
이 차원은 특정 스트림 라벨에 대한 데이터를 제한합니다. 이것은 Amazon DynamoDB Streams GetRecords
작업에서 비롯된 지표와 함께 사용됩니다.
TableName
이 차원은 특정 테이블에 대한 데이터를 제한합니다. 이 값은 현재 리전 및 현재 AWS 계정의 테이블 이름일 수 있습니다.