在啟動時強制執行 Amazon RDS 資料庫的自動標記 - AWS Prescriptive Guidance

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

在啟動時強制執行 Amazon RDS 資料庫的自動標記

蘇珊娜康諾 (AWS) 創建

環境:生產

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

AWS 服務:亞馬遜 RDS; Amazon SNS; AWS CloudTrail; Amazon CloudWatch

Summary

Amazon Relational Database Service (Amazon RDS) 是一種 Web 服務,可以讓 Amazon Web Services (AWS) 雲端中關聯式資料庫的設定、操作和擴展更加簡單。其能為產業標準的關聯式資料庫提供具成本效益、可調整大小的容量,並管理常見的資料庫管理任務。

您可以使用標籤來以不同方式來分類您的 AWS 資源。當您帳戶中有許多資源,且您想要依據標籤快速識別特定的資源時,關聯式資料庫標籤將會很有用。您可以使用 Amazon RDS 標籤,將自訂中繼資料新增至 RDS 資料庫執行個體。標籤包含使用者定義的索引鍵和值。我們建議您建立一組一致的標籤,以滿足您組織的需求。

此模式提供 AWS CloudFormation 範本,可協助您監視和標記 RDS 資料庫執行個體。範本會建立可監視 AWS CloudTrail 事件的 Amazon 雲端追蹤事件事件CreateDBInstance事件。(CloudTrail 會擷取 Amazon RDS 的 API 呼叫當作事件。) 偵測到此事件時,會呼叫 AWS Lambda 函數,該函數會自動套用您定義的標籤鍵和值。範本也會透過 Amazon Simple Notification Service (Amazon SNS) 傳送執行個體已被標記的通知。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 一個 Amazon Simple Storage Service (Amazon S3) 儲存貯體上傳 Lambda 程式碼。

  • 您想要從中接收標記通知的電子郵件地址。

限制

  • 此解決方案支援 CloudTrailCreateDBInstanceevents. 它不會為任何其他事件建立通知。

Architecture

工作流程架構

自動化和擴展

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

Tools

AWS 服務

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

  • Amazon CloudWatch Events— Amazon CloudWatch Events 會提供近乎即時的系統事件串流,說明 AWS 資源中的變更。CloudWatch Events 會在操作變更發生時感知操作變更並視需要進行修正動作,透過傳送訊息來回應環境、啟用功能、執行變更和擷取狀態資訊。 

  • AWS Lambda— AWS Lambda 是一項運算服務,可支援執行程式碼,無需佈建或管理伺服器。Lambda 只有在需要時才會執行程式碼,可自動從每天數項請求擴展成每秒數千項請求。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。

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

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

Code

該模式包括一個包含兩個文件的附件:

  • index.zip是一個壓縮檔,其中包含此模式的 Lambda 程式碼。

  • rds.yaml是部署 Lambda 程式碼的 CloudFormation 範本。

請參閱史詩一節中,如需如何使用這些檔案的相關資訊。

Epics

任務描述所需技能
上傳程式碼至 S3 儲存貯體。

建立新的 S3 儲存貯體或使用現有的 S3 儲存貯體來上傳附加的index.zip文件(Lambda 代碼)。此儲存貯體必須與您要監控的資源 (RDS 資料庫執行個體) 位於相同的 AWS 區域。

雲端
部署 CloudFormation 範本。

在 S3 儲存貯體相同的 AWS 區域中開啟 CloudFormation 主控台,然後部署rds.yaml附件中提供的文件。在下一個史詩中,提供範本參數的值。

雲端
任務描述所需技能
提供 S3 儲存貯體名稱。

輸入您在第一個史詩集中建立或選取的 S3 儲存貯體名稱。此 S3 儲存貯體包含 Lambda 程式碼的 .zip 檔案,且必須與 CloudFormation 範本和您要監視的 RDS 資料庫執行個體位於相同的 AWS 區域。

雲端
提供 S3 金鑰。

在 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,不含前導斜線 (例如index.zipcontrols/index.zip

雲端
提供電子郵件地址。

提供您要從中接收違規通知的作用中電子郵件地址。

雲端
指定記錄層級。

指定記錄等級和詳細資訊。Info會指定應用程式進度的詳細資訊訊息,並且只能用於偵錯。Error會指出仍然允許應用程式繼續執行的錯誤事件。Warning指定潛在有害的狀況。

雲端
輸入 RDS 資料庫執行個體的標籤鍵和值。

輸入您要自動套用至 RDS 執行個體的必要標籤鍵和值。如需詳細資訊,請參閱「」標記 Amazon RDS 資源在 AWS 文件中。

雲端
任務描述所需技能
確認訂閱電子郵件。

當 CloudFormation 範本部署成功時,它會傳送訂閱電子郵件訊息到您提供的電子郵件地址。若要在執行個體加上標籤時接收通知,您必須確認此電子郵件訂閱。

雲端

Attachments

attachment.zip