協助強制執行 DynamoDB 標籤 - AWS Prescriptive Guidance

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

協助強制執行 DynamoDB 標籤

由曼西蘇拉特瓦拉 (AWS) 創作

Envronment 生產

技術:雲端原生;安全性、身分識別、法規遵循;資料庫

工作負載:所有其他工作負載

AWS 服務:Amazon DynamoDB 雲端觀察; 亞馬遜 DynamoDB; Amazon SNS

Summary

當 Amazon Web 服務 (AWS) 雲端上的 DynamoDB 資源遺失或移除預先定義的 Amazon DynamoDB 標籤時,此模式會設定自動通知。 

DynamoDB 是全受管的 NoSQL 資料庫服務,可提供快速且可預期的效能及可擴展性。DynamoDB 可讓您減輕操作和調整分散式資料庫的管理負擔。當您使用 DynamoDB 時,不再需要煩惱硬體佈建、設定和組態、複寫、軟體修補或叢集擴展。

該模式使用 AWS CloudFormation 範本,該範本可建立 Amazon CloudWatch Events 件事件和 AWS Lambda 函數。事件會透過 AWS CloudTrail 監控任何新的或現有的 DynamoDB 標籤資訊。如果遺失或移除預先定義的標籤,CloudWatch 會觸發 Lambda 函數,此函數會傳送 Amazon Simple Notification Service (Amazon SNS) 通知給您,通知違規事件。 

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 針對 Lambda .zip 檔案的 Amazon Simple Storage Service (Amazon S3) 儲存貯體,其中包含執行 Lambda 函數的 Python 程式碼

限制

  • 解決方案只有在發生 TagResource 或 UntagResource CloudTrail 事件時才有效。它不會為任何其他事件建立通知。

Architecture

目標技術堆疊

  • Amazon DynamoDB

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS Lambda

  • Amazon S3

  • Amazon SNS

目標架構

自動化和擴展

您可以針對不同的 AWS 區域和帳戶多次使用 AWS CloudFormation 範本。您只需要在每個區域或帳戶中執行一次範本。

Tools

工具

  • Amazon DynamoDB— DynamoDB 是全受管的 NoSQL 資料庫服務,可提供快速且可預期的效能及可擴展性。 

  • AWS CloudTrail— CloudTrail 是一種 AWS 服務,可協助您執行 AWS 帳戶的監管、合規以及操作稽核和風險稽核。使用者、角色或 AWS 服務所執行的動作會在 CloudTrail 中記錄為事件。 

  • Amazon CloudWatch Events— Amazon CloudWatch Events 會提供近乎即時的系統事件串流,說明 AWS 資源的變動情形。 

  • AWS Lambda— Lambda 是一項運算服務,可支援執行程式碼,而無需佈建或管理伺服器。Lambda 只有在需要時才會執行程式碼,可自動從每天數項請求擴展成每秒數千項請求。 

  • Amazon S3— Amazon Simple Storage Service (Amazon S3) 是一種可高度擴展的物件儲存服務,可用於各種儲存解決方案,包括網站、行動應用程式、備份和資料湖。

  • Amazon SNS— Amazon Simple Notification Service (Amazon SNS) 是一種 Web 服務,可讓應用程式、最終使用者和裝置立即從雲端傳送和接收通知。 

Code

  • 專案的 .zip 檔案可作為附件使用。

Epics

任務描述所需技能
定義 S3 儲存貯體。

在 Amazon S3 主控台上,選擇或建立具有不包含前導斜線的唯一名稱的 S3 儲存貯體。此 S3 儲存貯體將託管 Lambda 程式碼 .zip 檔案。您的 S3 儲存貯體必須位於與監控的 DynamoDB 資源相同的 AWS 區域。

雲端架構師
任務描述所需技能
將 Lambda 程式碼上傳至 S3 儲存貯體。

將「附件」區段中提供的 Lambda 程式碼 .zip 檔案上傳至 S3 儲存貯體。S3 儲存貯體必須位於與監控的 DynamoDB 資源相同的區域。

雲端架構師
任務描述所需技能
部署 AWS CloudFormation 範本。

在 AWS CloudFormation 式主控台上,部署「附件」部分中提供的 AWS CloudFormation 式範本。在下一個史詩中,提供參數的值。

雲端架構師
任務描述所需技能
命名 S3 儲存貯體。

輸入您在第一部史詩中建立或選擇的 S3 儲存貯體名稱。

雲端架構師
提供 Amazon S3 金鑰。

在 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,不含前導斜線 (例如 <folder>/<file-name> .zip)。

雲端架構師
提供電子郵件地址

提供有效的電子郵件地址以接收 Amazon SNS 通知。

雲端架構師
定義記錄層級。

定義 Lambda 函數的記錄層級和頻率。「資訊」指定有關應用程式進度的詳細資訊訊息。「錯誤」指定仍可允許應用程式繼續執行的錯誤事件。「警告」指出潛在有害的狀況。

雲端架構師
輸入必要的 DynamoDB 標籤鍵。

請確定標籤以逗號分隔,且兩者之間沒有空格 (例如,ApplicationId、建立者、環境、組織)。CloudWatch 事件會搜尋這些標籤,並在找不到時傳送通知。

雲端架構師
任務描述所需技能
確認訂閱。

成功部署範本後,範本會傳送訂閱電子郵件到您所提供的電子郵件地址。若要接收違規通知,您必須確認此電子郵件訂閱。

雲端架構師

Attachments

attachment.zip