CloudWatch DynamoDB 的貢獻者洞察:運作方式 - Amazon DynamoDB

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

CloudWatch DynamoDB 的貢獻者洞察:運作方式

Amazon DynamoDB 與 CloudWatch Contributor Insights 整合,以提供資料表或全域次要索引中最常存取和限流項目的相關資訊。DynamoDB 透過 CloudWatch Contributor Insights 規則報告 報告資料的圖表 將此資訊提供給您。

如需 CloudWatch Contributor Insights 的詳細資訊,請參閱 Amazon CloudWatch 使用者指南 中的使用 Contributor Insights 分析高基數資料

下列各節說明適用於 DynamoDB 的 CloudWatch Contributor Insights 的核心概念和行為。

CloudWatch DynamoDB 規則的貢獻者洞察

當您在資料表或全域次要索引上啟用 DynamoDB 的 CloudWatch Contributor Insights 時,DynamoDB 會代表您建立下列規則

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

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

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

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

注意

當您在 DynamoDB 資料表上啟用 Contributor Insights 時,您仍然受到 Contributor Insights 規則限制。如需更多相關資訊,請參閱 CloudWatch Service Quotas

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

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

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

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

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

注意
  • 您無法使用 CloudWatch 主控台APIs或 直接修改或刪除 CloudWatch Contributor Insights for DynamoDB 建立的規則。在資料表或全域次要索引上停用 CloudWatch DynamoDB 的 Contributor Insights 會自動刪除為該資料表或全域次要索引建立的規則。

  • 當您將 GetInsightRuleReport操作與 CloudWatch DynamoDB 建立的 Contributor Insights 規則搭配使用時,請僅 MaxContributorValueMaximum傳回有用的統計資料。此清單中的其他統計數字不會傳回有意義的值。

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

您可以使用適用於 DynamoDB 的 CloudWatch Contributor Insights 規則 建立 CloudWatch 警示。這可讓您在任何項目超過或達到 ConsumedThroughputUnitsThrottleCount 的特定門檻時收到通知。如需詳細資訊,請參閱在 Contributor Insights 指標資料 上設定警示

了解 DynamoDB 圖形的 CloudWatch 貢獻者洞察

CloudWatch DynamoDB 的 Contributor Insights 會在 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 Contributor Insights 如何與 DynamoDB 中的其他幾個功能運作和互動。

全域資料表

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

DynamoDB Accelerator (DAX)

CloudWatch DynamoDB 的 Contributor Insights 不會顯示DAX快取回應。它只會顯示存取資料表或全域次要索引的回應。

注意

DynamoDB CCI 不支援 PartiQL 請求。

靜態加密

CloudWatch 適用於 DynamoDB 的 Contributor Insights 不會影響 DynamoDB 中的加密運作方式。在 中發佈的主要金鑰資料 CloudWatch 會使用 加密 AWS 擁有的金鑰。不過,DynamoDB 也支援 AWS 受管金鑰 和客戶受管金鑰。

CloudWatch 適用於 DynamoDB 的 Contributor Insights 圖形會以純文字顯示經常存取項目和經常調節項目的分割區金鑰和排序金鑰 (如適用)。如果您需要使用 AWS Key Management Service (KMS) 來加密此資料表的分割區金鑰,並使用 AWS 受管金鑰 或客戶受管金鑰排序金鑰資料,則不應為此資料表啟用適用於 DynamoDB 的 CloudWatch Contributor Insights。

如果您需要使用 AWS 受管金鑰 或客戶受管金鑰加密主要金鑰資料,則不應為該資料表啟用適用於 DynamoDB 的 CloudWatch Contributor Insights。

精細定義存取控制

CloudWatch DynamoDB 的 Contributor Insights 對於具有精細存取控制的資料表沒有不同的運作方式 (FGAC)。換句話說,擁有適當 CloudWatch 許可的任何使用者都可以在 CloudWatch 貢獻者洞察圖表中檢視 FGAC受保護的主要金鑰。

如果資料表的主索引鍵包含您不希望發佈至 的 FGAC受保護資料 CloudWatch,則不應為該資料表啟用適用於 DynamoDB 的 CloudWatch Contributor Insights。

存取控制

您可以透過限制 DynamoDB 控制平面許可和 CloudWatch 資料平面許可,使用 AWS Identity and Access Management (IAM) 控制對 DynamoDB 的 CloudWatch Contributor Insights 的存取。如需詳細資訊,請參閱IAM搭配使用 DynamoDB 的 CloudWatch Contributor Insights。

CloudWatch DynamoDB 帳單的貢獻者洞察

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

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

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

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

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

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

與其他 DynamoDB 功能不同, CloudWatch Contributor Insights for DynamoDB 計費不會根據下列條件而有所不同:

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

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

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