協助強制執行 DynamoDB 標記 - AWS 方案指引

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

協助強制執行 DynamoDB 標記

創建者:曼西蘇拉特瓦拉(AWS)

環境:生產

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

工作負載:所有其他工作

AWS 服務:Amazon CloudWatch;Amazon DynamoDB;AWS Lambda;Amazon SNS

Summary

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

DynamoDB 是全受管的 NoSQL 資料庫服務,可提供快速且可預測的效能以及可擴充性。DynamoDB 可讓您減輕操作和擴展分散式資料庫的管理負擔。使用 DynamoDB 時,您不必擔心硬體佈建、設定和組態、複寫、軟體修補或叢集擴展問題。

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

先決條件和限制

先決條件

  • 有效的 AWS 帳戶

  • 適用於 Lambda .zip 檔案的 Amazon Simple Storage Service (Amazon S3) 儲存貯體,其中包含用於執行 Lambda 函數的 Python 指令碼

限制

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

架構

目標技術堆疊

  • Amazon DynamoDB

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS Lambda

  • Amazon S3

  • Amazon SNS

目標架構

自動化和規模

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

工具

工具

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

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

  • Amazon CloudWatch 活動 — Amazon CloudWatch 活動提供近乎即時的系統事件串流,描述 AWS 資源的變更。 

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

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

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

Code

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

史诗

任務描述所需技能

定義 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 函數的記錄層級和頻率。 Info指定應用程式進度的詳細資訊訊息。 Error指定仍然允許應用程式繼續執行的錯誤事件。 Warning指定潛在的有害情況。

雲端架構師

輸入所需的標籤金鑰。

請確定標籤以逗號分隔,兩者之間沒有空格 (例如ApplicationId,CreatedBy,Environment,Organization)。E CloudWatch vents 事件會搜尋這些標籤,如果找不到標籤,則傳送通知。

雲端架構師
任務描述所需技能

確認訂閱。

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

雲端架構師

相關資源

附件

若要存取與此文件相關聯的其他內容,請解壓縮下列檔案:attachment.zip