在启动时强制自动标记 Amazon RDS 数据库 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在启动时强制自动标记 Amazon RDS 数据库

由 Susanne Kangnoh (AWS) 和 Archit Mathur () 创作 AWS

环境:生产

技术:数据库 CloudNative;安全、身份、合规

AWS服务:亚马逊RDS;亚马逊 SNS AWS CloudTrail;亚马逊 CloudWatch

Summary

Amazon Relational Database Services (AmazonRDS) 是一项网络服务,可以更轻松地在亚马逊网络服务 (AWS) 云中设置、操作和扩展关系数据库。它为行业标准的关系数据库提供了经济高效、可调整大小的容量,并管理常见的数据库管理任务。

您可以使用标签以不同的方式对AWS资源进行分类。当您的账户中有许多资源并且您希望根据标签快速识别特定资源时,关系数据库标记非常有用。您可以使用 Amazon RDS 标签向RDS数据库实例添加自定义元数据。每个标签都由用户定义的键和值组成。我们建议您创建一组一致的标签以满足您的组织要求。

此模式提供了一个AWS CloudFormation 模板来帮助您监控和标记RDS数据库实例。该模板创建了一个监视 AWS CloudTrail C CloudWatch 事件的 Amazon Event reateDBInstance s 事件。(将对 Amazon 的API呼叫CloudTrail 记录RDS为事件。) 当它检测到此事件时,它会调用 AWS Lambda 函数,该函数会自动应用您定义的标签键和值。该模板还使用亚马逊简单通知服务 (AmazonSNS) 发送通知,告知实例已被标记。

先决条件和限制

先决条件

  • 一个活动的 AWS 账户。

  • 用于上传 Lambda 代码的 Amazon Simple Storage Service (Amazon S3)存储桶。

  • 您希望接收标记通知的电子邮件地址。

限制

  • 该解决方案支持 CloudTrail C reateDBInstance 事件。它不会为任何其他事件创建通知。

架构

工作流程架构

Workflow diagram showing AWS 服务 interaction for RDS instance creation and notification.

自动化和扩缩

  • 您可以为不同的AWS地区和账户多次使用该AWS CloudFormation 模板。您只需在每个区域或账户中运行该模板一次。

工具

AWS服务

  • AWS CloudTrail— AWS CloudTrail 是一项可帮助您对AWS账户进行治理、合规以及运营和风险审计的AWS服务。用户、角色或AWS服务采取的操作将作为事件记录在中 CloudTrail。 

  • Amazon CloudWatch Events — Amazon CloudWatch Events 提供近乎实时的系统事件流,这些事件描述了AWS资源的变化。 CloudWatch 通过发送消息以响应环境、激活功能、进行更改和捕获状态信息,事件会在操作变化发生时意识到这些变化,并在必要时采取纠正措施。 

  • AWSLambd a — L AWS ambda 是一项计算服务,它支持运行代码,无需预置或管理服务器。只有在需要时 Lambda 才运行您的代码,并且能自动扩缩,从每天几个请求扩展到每秒数千个请求。您只需为消耗的计算时间付费 - 代码未运行时不产生费用。

  • Amazon S3 – Amazon Simple Storage Service (Amazon S3) 是一项高度可扩展的对象存储服务,可用于各种存储解决方案,包括网站、移动应用程序、备份和数据湖。

  • 亚马逊 SNS — 亚马逊简单通知服务 (AmazonSNS) 是一项网络服务,它使应用程序、最终用户和设备能够立即从云端发送和接收通知。 

代码

此模式包括一个包含两个文件的附件:

  • index.zip 是压缩文件,其中包含此模式的 Lambda 代码。

  • rds.yaml是部署 Lambda 代码的 CloudFormation 模板。

有关如何使用这些文件的信息,请参阅操作说明部分。

操作说明

任务描述所需技能
将代码上传到 S3 存储桶。

创建新的 S3 存储桶或使用现有 S3 存储桶上传附加的 index.zip 文件(Lambda 代码)。此存储桶必须与您要监控的资源(RDS数据库实例)位于同一AWS区域。

云架构师
部署 CloudFormation 模板。

在与 S3 存储桶相同的AWS区域中打开 Cloudformation 控制台,然后部署附件中提供的rds.yaml文件。在下一个操作说明中,提供模板参数的值。

云架构师
任务描述所需技能
提供 S3 存储桶名称。

输入您在第一篇操作说明中创建或选择的 S3 存储桶的名称。此 S3 存储桶包含 Lambda 代码的.zip 文件,并且必须与模板和要监控RDS的数据库实例位于AWS同一区域。 CloudFormation

云架构师
提供 S3 密钥。

提供 Lambda 代码 .zip 文件在 S3 存储桶中的位置,不带前导斜杠(例如,index.zipcontrols/index.zip)。

云架构师
提供电子邮箱地址。

提供要接收违规通知的活动电子邮件地址。

云架构师
指定日志记录级别。

指定日志级别和详细程度。Info 指定有关应用程序进度的详细信息消息,应仅用于调试。Error 指定仍允许应用程序继续运行的错误事件。Warning 表示潜在的有害情况。

云架构师
输入RDS数据库实例的标签密钥和值。

输入要自动应用于RDS实例的必需标签密钥和值。有关更多信息,请参阅AWS文档中的为 Amazon RDS 资源添加标签

云架构师
任务描述所需技能
确认电子邮件订阅。

成功部署 CloudFormation 模板后,它会向您提供的电子邮件地址发送订阅电子邮件。要在标记实例时接收通知,您必须确认此电子邮件订阅。

云架构师

附件

要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip