ablog

不器用で落着きのない技術者のメモ

Amazon DynamoDB の監視設計

アラート通知

ThrottledRequests
メトリクス 説明
ThrottledRequests リソース (テーブルやインデックスなど) でプロビジョニングされたスループットの上限を超える、DynamoDB へのリクエスト。リクエスト内で任意のイベントがプロビジョンドスループットの制限を超過した場合、ThrottledRequests は 1 ずつ増加します。たとえば、グローバルセカンダリインデックスを持つテーブルの項目を更新する場合、テーブルへの書き込みと、各インデックスへの書き込みという複数のイベントが発生します。1 つ以上のイベントが抑制されると、ThrottledRequests が 1 ずつ増加します。
(中略)
どのイベントがリクエストを抑制しているかを確認するには、ThrottledRequests と、そのテーブルとインデックスの ReadThrottleEvents と WriteThrottleEvents を比較してください。
注記
調整されたリクエストでは、HTTP 400 ステータスコードになります。これらのすべてのイベントは、ThrottledRequests メトリクスに反映されますが、UserErrors メトリクスには反映されません。
単位: Count
ディメンション: TableName, Operation
有効な統計:
-Sum
-SampleCount
  • プロビジョニングされたスループットの上限を超える、DynamoDB へのリクエス
  • ThrottledRequests が発生した場合は、ReadThrottleEvents、WriteThrottleEvents を確認することで、Read/Write のいずれもしくは両方でスロットリングが発生しているかを確認することができる。1リクエストのスロットリングで ThrottledRequests は 1 増える。1 リクエストで複数回のイベントが発生すると ReadThrottleEvents、WriteThrottleEvents は 2 以上増えることがある。
  • オンデマンドキャパシティモードでは自動的にスケールアウトするため基本的にスロットリングは発生しないが、急激なリクエスト増加などにより発生する可能性があるため、監視対象とすることを推奨。
    • テーブルにおける前のピークトラフィックの最大 2 倍まで瞬時に対応する。ただし、30 分以内に前のピークの 2 倍を超えた場合、スロットリングが発生する可能性がある。
SystemErrors
メトリクス 説明
SystemErrors 指定された期間中に HTTP 500 ステータスコードを生成する、DynamoDB または DynamoDB ストリームへのリクエスト。通常、HTTP 500 は内部サービスエラーを示します。
単位: Count
ディメンション: TableName, Operation
有効な統計:
-Sum
-SampleCount
DynamoDB メトリクスとディメンション - Amazon DynamoDB

モニタリング

ConsumedReadCapacityUnits
ConsumedWriteCapacityUnits
SuccessfulRequestLatency