DynamoDB 지표 및 차원 - Amazon DynamoDB

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분입니다.

AverageSum처럼 모든 지표에 적용되지 않는 통계도 있습니다. 하지만 이 값은 모두 Amazon DynamoDB 콘솔, CloudWatch 콘솔, AWS CLI 또는 AWS SDK(모든 지표에 대해)를 통해 사용할 수 있습니다.

다음 목록에는 각 지표에 적용되는 유효한 통계 집합이 있습니다.

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, UpdateItemDeleteItem 작업에서는 해당 작업이 진행하려면 먼저 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를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

참고

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를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

참고

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를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

단위: 개

Dimensions: TableName, GlobalSecondaryIndexName

유효한 통계:

  • Minimum - 온디맨드 읽기 요청 단위에 대한 가장 낮은 설정입니다. UpdateTable을 사용하여 읽기 요청 단위를 늘리는 경우 이 지표는 해당 기간 동안 온디맨드 ReadRequestUnits의 최저값을 보여 줍니다.

  • Maximum - 온디맨드 읽기 요청 단위에 대한 가장 높은 설정입니다. UpdateTable을 사용하여 읽기 요청 단위를 줄이는 경우 이 지표는 해당 기간 동안 온디맨드 ReadRequestUnits의 최고값을 보여 줍니다.

  • Average - 평균 온디맨드 읽기 요청 단위입니다. OnDemandMaxReadRequestUnits 지표는 5분 간격으로 게시됩니다. 따라서 온디맨드 읽기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.

OnDemandMaxWriteRequestUnits

테이블 또는 글로벌 보조 인덱스에 대해 지정된 온디맨드 쓰기 요청 단위 수입니다.

테이블의 OnDemandMaxWriteRequestUnits를 보려면 TableName을 지정해야 합니다. 글로벌 보조 인덱스일 때 OnDemandMaxWriteRequestUnits를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

단위: 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를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

단위: Count

차원: TableName, GlobalSecondaryIndexName

유효한 통계:

  • Minimum - 프로비저닝된 읽기 용량에 대한 가장 낮은 설정입니다. UpdateTable을 사용하여 읽기 용량을 늘리는 경우 이 지표는 해당 기간 동안 프로비저닝된 ReadCapacityUnits의 최저값을 보여 줍니다.

  • Maximum - 프로비저닝된 읽기 용량에 대한 가장 높은 설정입니다. UpdateTable을 사용하여 읽기 용량을 줄이는 경우 이 지표는 해당 기간 동안 프로비저닝된 ReadCapacityUnits의 최고값을 보여 줍니다.

  • Average - 프로비저닝된 읽기 용량 평균입니다. ProvisionedReadCapacityUnits 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 읽기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.

ProvisionedWriteCapacityUnits

테이블 또는 글로벌 보조 인덱스에 대해 프로비저닝된 쓰기 용량 단위의 수입니다.

테이블일 때는 TableName 차원이 ProvisionedWriteCapacityUnits를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 ProvisionedWriteCapacityUnits를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

단위: Count

차원: TableName, GlobalSecondaryIndexName

유효한 통계:

  • Minimum - 프로비저닝된 쓰기 용량에 대한 가장 낮은 설정입니다. UpdateTable을 사용하여 쓰기 용량을 늘리는 경우 이 지표는 해당 기간 동안 프로비저닝된 WriteCapacityUnits의 최저값을 보여 줍니다.

  • Maximum - 프로비저닝된 쓰기 용량에 대한 가장 높은 설정입니다. UpdateTable을 사용하여 쓰기 용량을 줄이는 경우 이 지표는 해당 기간 동안 프로비저닝된 WriteCapacityUnits의 최고값을 보여 줍니다.

  • Average - 프로비저닝된 쓰기 용량 평균입니다. ProvisionedWriteCapacityUnits 지표는 5분 간격으로 게시됩니다. 따라서 프로비저닝된 쓰기 용량 단위를 빠르게 조정하는 경우 이 통계는 정확한 평균값을 나타내지 않을 수도 있습니다.

ReadThrottleEvents

테이블 또는 글로벌 보조 인덱스에 대해 프로비저닝된 읽기 용량 단위를 초과하는 DynamoDB에 대한 요청입니다.

단일 요청으로 여러 이벤트가 발생할 수 있습니다. 예를 들어 10개 항목을 읽는 BatchGetItem이 10개의 GetItem 이벤트로 처리됩니다. 그리고 각 이벤트마다 병목 현상이 발생하면 ReadThrottleEvents가 1씩 증분됩니다. 모두 10개GetItem 이벤트에서 병목 현상이 일어나지 않는 한 전체 BatchGetItemThrottledRequests 지표는 증분되지 않습니다.

테이블일 때는 TableName 차원이 ReadThrottleEvents를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 ReadThrottleEvents를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

단위: 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를 테이블과 테이블 인덱스의 ReadThrottleEventsWriteThrottleEvents와 비교해보면 알 수 있습니다.

참고

병목 현상이 발생한 요청에 의해 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 이벤트에서 병목 현상이 일어나지 않는 한 전체 BatchWriteItemThrottledRequests 지표는 증분되지 않습니다.

테이블일 때는 TableName 차원이 WriteThrottleEvents를 반환하지만, 글로벌 보조 인덱스일 때는 그렇지 않습니다. 글로벌 보조 인덱스일 때 WriteThrottleEvents를 확인하려면 TableNameGlobalSecondaryIndexName를 모두 지정해야 합니다.

단위: 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

이 차원은 ExecuteTransactionBatchExecuteStatement 요청에 대해 내보내집니다.

동사

이 차원은 다음의 DynamoDB PartiQL 동사 중 하나에 대한 데이터를 제한합니다.

  • Insert: PartiQLInsert

  • Select: PartiQLSelect

  • Update: PartiQLUpdate

  • Delete: PartiQLDelete

이 차원은 ExecuteStatement 작업에 대해 내보내집니다.

ReceivingRegion

이 차원은 데이터를 특정 AWS 리전으로 제한합니다. 이 지표는 DynamoDB 전역 테이블 내 복제 테이블에서 비롯된 지표와 함께 사용됩니다.

StreamLabel

이 차원은 특정 스트림 라벨에 대한 데이터를 제한합니다. 이것은 Amazon DynamoDB Streams GetRecords 작업에서 비롯된 지표와 함께 사용됩니다.

TableName

이 차원은 특정 테이블에 대한 데이터를 제한합니다. 이 값은 현재 리전 및 현재 AWS 계정의 테이블 이름일 수 있습니다.