

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

# 在啟動時強制執行 Amazon RDS 資料庫的自動標記
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch"></a>

*Susanne Kangnoh 和 Archit Mathur，Amazon Web Services*

## 總結
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-summary"></a>

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

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

此模式提供 AWS CloudFormation 範本，協助您監控和標記 RDS 資料庫執行個體。範本會建立監控 AWS CloudTrail CreateDBInstance 事件的 Amazon CloudWatch Events 事件。 CloudTrail **CreateDBInstance** (CloudTrail 會將 Amazon RDS 的 API 呼叫擷取為事件。) 當偵測到此事件時，它會呼叫 AWS Lambda 函數，自動套用您定義的標籤索引鍵和值。範本也會使用 Amazon Simple Notification Service (Amazon SNS) 傳送執行個體已標記的通知。

## 先決條件和限制
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-prerequisites-and-limitations"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 用於上傳 Lambda 程式碼的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
+ 您想要接收標記通知的電子郵件地址。

**限制**
+ 解決方案支援 CloudTrail **CreateDBInstance** 事件。它不會為任何其他事件建立通知。

## Architecture
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-architecture"></a>

**工作流程架構**

![\[Workflow diagram showing AWS 服務 interaction for RDS instance creation and notification.\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/5541bc1e-e00f-4b5a-94b7-bb1808b5591a/images/ec0bcf92-f986-4af3-bfe7-d2c5e04051c5.png)


 

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

## 工具
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-tools"></a>

**AWS 服務**
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) – AWS CloudTrail 是一種 AWS 服務，可協助您進行 AWS 帳戶的控管、合規以及營運和風險稽核。使用者、角色或 AWS 服務所執行的動作會在 CloudTrail 中記錄為事件。 
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) – Amazon CloudWatch Events 提供近乎即時的系統事件串流，說明 AWS 資源的變更。CloudWatch Events 會在操作變更發生時得知並在必要時採取修正動作，方法是傳送訊息以回應環境、啟用 函數、進行變更，以及擷取狀態資訊。 
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) – AWS Lambda 是一種運算服務，支援執行程式碼，而不需要佈建或管理伺服器。Lambda 只有在需要時才會執行程式碼，可自動從每天數項請求擴展成每秒數千項請求。只需為使用的運算時間支付費用，一旦未執行程式碼，就會停止計費。
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html) – Amazon Simple Storage Service (Amazon S3) 是一種高度可擴展的物件儲存服務，可用於各種儲存解決方案，包括網站、行動應用程式、備份和資料湖。
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) – Amazon Simple Notification Service (Amazon SNS) 是一種 Web 服務，可讓應用程式、最終使用者和裝置立即從雲端傳送和接收通知。 

**Code**

此模式包含兩個檔案的附件：
+ `index.zip` 是一種壓縮檔案，其中包含此模式的 Lambda 程式碼。
+ `rds.yaml` 是部署 Lambda 程式碼的 CloudFormation 範本。

如需如何使用這些檔案的資訊，請參閱 *Epics* 一節。

## 史詩
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-epics"></a>

### 部署 Lambda 程式碼
<a name="deploy-the-lambda-code"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 將程式碼上傳至 S3 儲存貯體。 | 建立新的 S3 儲存貯體或使用現有的 S3 儲存貯體上傳連接`index.zip`的檔案 (Lambda 程式碼）。此儲存貯體必須與您要監控的資源 (RDS 資料庫執行個體） 位於相同的 AWS 區域。 | 雲端架構師 | 
| 部署 CloudFormation 範本。 | 在與 S3 儲存貯體相同的 AWS 區域中開啟 Cloudformation 主控台，並部署附件中提供`rds.yaml`的檔案。在下一個 Epic 中，提供範本參數的值。 | 雲端架構師 | 

### 完成 CloudFormation 範本中的參數
<a name="complete-the-parameters-in-the-cloudformation-template"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 提供 S3 儲存貯體名稱。 | 輸入您在第一個 epic 中建立或選取的 S3 儲存貯體名稱。此 S3 儲存貯體包含 Lambda 程式碼的 .zip 檔案，且必須與 CloudFormation 範本和您要監控的 RDS 資料庫執行個體位於相同的 AWS 區域。 | 雲端架構師 | 
| 提供 S3 金鑰。 | 在您的 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置，而不帶正斜線 （例如 `index.zip`或 `controls/index.zip`)。 | 雲端架構師 | 
| 提供電子郵件地址。 | 提供您要接收違規通知的作用中電子郵件地址。 | 雲端架構師 | 
| 指定記錄層級。 | 指定記錄層級和詳細程度。 會`Info`指定應用程式進度的詳細資訊性訊息，並應僅用於偵錯。 會`Error`指定仍然可以允許應用程式繼續執行的錯誤事件。 會`Warning`指定潛在的有害情況。 | 雲端架構師 | 
| 輸入 RDS 資料庫執行個體的標籤索引鍵和值。 | 輸入您要自動套用至 RDS 執行個體的必要標籤索引鍵和值。如需詳細資訊，請參閱 AWS 文件中的[標記 Amazon RDS 資源](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html)。 | 雲端架構師 | 

### 確認訂閱
<a name="confirm-the-subscription"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 確認電子郵件訂閱。 | 當 CloudFormation 範本成功部署時，它會傳送訂閱電子郵件訊息到您提供的電子郵件地址。若要在執行個體加上標籤時接收通知，您必須確認此電子郵件訂閱。 | 雲端架構師 | 

## 相關資源
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-related-resources"></a>
+ [建立儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)體 (Amazon S3 文件）
+ [標記 Amazon RDS 資源](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) (Amazon Aurora 文件）
+ [上傳物件 ](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html)(Amazon S3 文件）
+ [使用 AWS CloudTrail 建立在 AWS API 呼叫上觸發的 CloudWatch Events 規則 CloudTrail](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-CloudTrail-Rule.html) (Amazon CloudWatch 文件）

## 附件
<a name="attachments-5541bc1e-e00f-4b5a-94b7-bb1808b5591a"></a>

若要存取與本文件相關聯的其他內容，請解壓縮下列檔案： [attachment.zip](samples/p-attach/5541bc1e-e00f-4b5a-94b7-bb1808b5591a/attachments/attachment.zip)