CloudWatch DynamoDB 的貢獻者深入解析:其運作方式 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CloudWatch DynamoDB 的貢獻者深入解析:其運作方式

Amazon DynamoDB 與CloudWatch參與者見解整合,以提供資料表或全域次要索引中存取次數最多和節流項目的相關資訊。DynamoDB 會透過 CloudWatch 參與者見解規則報表和報表資料圖形,為您提供此資訊。

如需有關參 CloudWatch 與者深入解析的詳細資訊,請參閱 Amazon 使用者指南中的使用參與者深入解析來分析高基數資料。 CloudWatch

下列各節說明 DynamoDB 參與 CloudWatch 者深入解析的核心概念和行為。

CloudWatch DynamoDB 規則的參與者深入解析

當您在資料表或全域次要索引上啟用 DynamoDB 的 CloudWatch 參與者深入解析時,DynamoDB 會代表您建立下列規則:

  • 最常存取項目 (分割區索引鍵):在您的資料表或全域次要索引中辨識最常存取項目的分割區索引鍵。

    CloudWatch 規則名稱格式:DynamoDBContributorInsights-PKC-[resource_name]-[creationtimestamp]

  • 最常調節項目 (分割區索引鍵):在您的資料表或全域次要索引中辨識最常調節項目的分割區索引鍵。

    CloudWatch 規則名稱格式:DynamoDBContributorInsights-PKT-[resource_name]-[creationtimestamp]

注意

當您在 DynamoDB 表上啟用參與者深入解析時,您仍會受到貢獻者見解規則限制的約束。如需更多相關資訊,請參閱 CloudWatch Service Quotas

如果您的資料表或全域次要索引有排序索引鍵,DynamoDB 也會建立以下排序索引鍵專用的規則:

  • 最常存取項目 (分割區和排序索引鍵):在您的資料表或全域次要索引中辨識最常存取項目的分割區和排序索引鍵。

    CloudWatch 規則名稱格式:DynamoDBContributorInsights-SKC-[resource_name]-[creationtimestamp]

  • 最常調節項目 (分割區和排序索引鍵):在您的資料表或全域次要索引中辨識最常調節項目的分割區和排序索引鍵。

    CloudWatch 規則名稱格式:DynamoDBContributorInsights-SKT-[resource_name]-[creationtimestamp]

注意
  • 您無法使用 CloudWatch 主控台或 API 直接修改或刪除 DynamoDB CloudWatch 參與者深入解析所建立的規則。在資料表或全域次要索引上停用 DynamoDB 的參與 CloudWatch者深入解析會自動刪除為該資料表或全域次要索引建立的規則。

  • 當您將GetInsightRuleReport作業與 DynamoDB 建立的 CloudWatch參與者見解規則搭配使用時,只會Maximum傳回有用的統計MaxContributorValue資料。此清單中的其他統計數字不會傳回有意義的值。

  • CloudWatch DynamoDB 的貢獻者深入解析有 25 個貢獻者的限制。請求超過 25 個參與者會傳回錯誤。

您可以使用 DynamoDB 的 CloudWatch 參與者深入解析規則建立 CloudWatch 警示。這可讓您在任何項目超過或達到 ConsumedThroughputUnitsThrottleCount 的特定門檻時收到通知。如需詳細資訊,請參閱針對參與者深入解析度量資料設定警示

瞭解 DynamoDB 圖形的 CloudWatch 參與者深入解析

CloudWatch DynamoDB 的參與者深入解析會在 DynamoDB 和 CloudWatch 主控台上顯示兩種類型的圖形:存取次數最多的項目和節流最多的項目

最常存取項目

使用此圖表在資料表或全域次要索引中辨識最常存取的項目。圖表的 Y 軸代表 ConsumedThroughputUnits,而 X 軸代表時間。每個主要 N 金鑰都會以其各自的顏色顯示,而且在 X 軸下方也有圖例說明。

DynamoDB 會使用 ConsumedThroughputUnits 評量金鑰的存取頻率,且此評量數值結合讀取和寫入流量。ConsumedThroughputUnits 的定義如下:

  • 佈建:(3 x 已消耗寫入容量單位) + 已消耗讀取容量單位

  • 隨需:(3 x 寫入請求單位) + 讀取請求單位

在 DynamoDB 主控台上,圖表中的每個資料點都代表 1 分鐘內 ConsumedThroughputUnits 的最大值。例如,圖表值 180,000 ConsumedThroughputUnits 代表該項目持續存取的頻率為在 1 分鐘內,每 60 秒的每個項目最大輸送量 1,000 個寫入要求單位或 3,000 個讀取要求單位 (3,000 x 60 秒)。也就是說,圖表中呈現的數值代表每 1 分鐘內最高的每分鐘流量。您可以在 CloudWatch 主控台上變更指標的時間粒ConsumedThroughputUnits度 (例如,檢視 5 分鐘量度而非 1 分鐘)。

如果您看到多條緊密聚集的線,沒有任何明顯的異常,就表示您於特定時期內部同項目的工作負載相對來說還算平衡。如果圖表中出現孤立點而不是相連的線,就表示有一個項目僅於短時間內經常存取。

如果您的資料表或全域次要索引排序索引鍵,DynamoDB 就會建立兩個圖表:一個是最常存取的分割區索引鍵,另一個則是最常存取的分割區 + 排序索引鍵配對。您可以在分割區索引鍵 (僅限圖) 中檢視分割區索引鍵層級的流量。您可以在分割區 + 排序索引鍵圖表中檢視項目層級的流量。

最常調節項目

使用此圖表在資料表或全域次要索引中辨識最常調節的項目。圖表的 Y 軸代表 ThrottleCount,而 X 軸代表時間。前 N 個按鍵中的每個按鍵都會以自己的顏色顯示,並在 x 軸下方顯示一個圖例。

DynamoDB 會使用 ThrottleCount 來評估調節頻率,也就是 ProvisionedThroughputExceededExceptionThrottlingExceptionRequestLimitExceeded 錯誤計數。

不會測量因全域次要索引的寫入容量不足而造成的寫入調節。您可以使用全域次要索引的最常存取項目圖形,識別可能會造成寫入調節的不平衡存取模式。如需詳細資訊,請參閱全域次要索引的佈建輸送量考量

在 DynamoDB 主控台上,圖形中的每個資料點代表 1 分鐘內的調節事件計數。

如果此圖表沒有顯示任何資料,就表示您的要求沒有受到調節。如果圖表中出現孤立點而不是相連的線,表示有一個項目僅於短時間內經常調節。

如果您的資料表或全域次要索引有排序索引鍵,DynamoDB 就會建立兩個圖表:一個是最常調節的分割區索引鍵,另一個則是最常調節的分割區 + 排序索引鍵配對。您可以查看分割區索引區中的分割區索引區層級調節計數 (僅圖表),以及分割區 + 排序索引鍵圖表中的項目層級調節計數。

報告範例

下列是針對同時有分割區索引鍵和排序索引鍵的資料表產生的報告範例。

4 種不同的 Contributor Insights 報告,顯示最常存取項目和最常調節項目。

與其他 DynamoDB 功能互動

下列各節說明 DynamoDB 的參與 CloudWatch 者深入解析如何運作並與 DynamoDB 中的其他數個功能互動。

全域資料表

CloudWatch DynamoDB 的參與者深入解析會將全域資料表複本監視為不同的資料表。一個區域中複本的參與者見解圖表可能不會顯示與另一個 AWS 區域相同的模式。這是因為寫入資料於所有全域資料表中的複本複製,但每個複本都可做為區域性讀取流量。

DynamoDB Accelerator (DAX)

CloudWatch DynamoDB 的參與者深入解析不會顯示 DAX 快取回應。它只會顯示存取資料表或全域次要索引的回應。

注意

DynamoDB CCI 不支援 PartiQL 請求。

靜態加密

CloudWatch DynamoDB 的參與者深入解析不會影響加密在 DynamoDB 中的運作方式。在中 CloudWatch 發佈的主索引鍵資料會使用 AWS 擁有的金鑰. 不過,DynamoDB 也支援 AWS 受管金鑰 和客戶管理的金鑰。

CloudWatch DynamoDB 的參與者深入解析圖形會以純文字顯示經常存取項目的分區索引鍵和排序索引鍵 (如果適用)。如果您需要使用金 AWS 鑰管理服務 (KMS) 來加密此資料表的分區金鑰,並使用 AWS 受管金鑰 或客戶受管金鑰排序金鑰資料,則不應為此表啟用 DynamoDB 的參與 CloudWatch 者深入解析。

如果您需要使用 AWS 受管金鑰 或客戶受管金鑰加密主要金鑰資料,則不應為該表啟用 DynamoDB 的參與 CloudWatch 者深入解析。

精細定義存取控制

CloudWatch 對於具有精細存取控制 (FGAC) 的資料表,DynamoDB 的參與者深入解析功能不同。換句話說,任何具有適當 CloudWatch 權限的使用者都可以在參與者深入 CloudWatch 解析圖表中檢視受 FGAC 保護的主索引鍵。

如果資料表的主索引鍵包含您不想發佈至的 FGAC 保護資料 CloudWatch,則不應為該表啟用 DynamoDB 的參與 CloudWatch 者深入解析。

存取控制

您可以使用 AWS Identity and Access Management (IAM) 限制 DynamoDB 控制平面權限和資料平面許可,來控制對 DynamoDB CloudWatch 參與者見解的存取。 CloudWatch 如需詳細資訊,請參閱使用 IAM 搭配 DynamoDB 的參與 CloudWatch 者深入解析

CloudWatch 針對 DynamoDB 計費提供者深入解析

DynamoDB 的 CloudWatch 參與者深入解析的費用會顯示在每月帳單的CloudWatch區段中。這些費用是根據處理的 DynamoDB 事件數來計算。對於啟用 DynamoDB CloudWatch 參與者深入解析的資料表和全域次要索引,透過資料平面作業寫入或讀取的每個項目都代表一個事件。

如果資料表或全域次要索引包含排序索引鍵,則讀取或寫入的每個項目都代表兩個事件。這是因為 DynamoDB 識別來自不同時間序列的首位參與者:一個僅用於分割區,另一個用於分割區索引鍵和排序索引鍵對。

例如,假設您的應用程式要執行下列 DynamoDB 操作:GetItemPutItem 和放置 5 個項目的 BatchWriteItem

  • 如果您的資料表或全域次要索引只有分割區索引鍵,則會產生 7 個事件 (1 個 GetItem、1 個 PutItem 和 5 個 BatchWriteItem)。

  • 如果您的資料表或全域次要索引有分割區索引鍵和排序索引鍵,則會產生 14 個事件 (2 個 GetItem、2 個 PutItem 和 10 個 BatchWriteItem)。

  • 無論傳回的項目數為何,Query 操作一律產生 1 個事件。

與其他 DynamoDB 功能不同,DynamoDB 的參與 CloudWatch 者深入解析計費不會因下列情況而有所同:

  • 容量模式 (佈建與隨需)

  • 是否執行讀取或寫入請求

  • 讀取或寫入項目的大小 (KB)