

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

# 监控 Amazon Aurora 以查找未加密的实例
<a name="monitor-amazon-aurora-for-instances-without-encryption"></a>

*Mansi Suratwala，Amazon Web Services*

## Summary
<a name="monitor-amazon-aurora-for-instances-without-encryption-summary"></a>

此模式提供了一个亚马逊网络服务 (AWS) CloudFormation 模板，您可以部署该模板，以便在未开启加密的情况下创建 Amazon Aurora 实例时设置自动通知。

Aurora 是一个与 MySQL 和 PostgreSQL 兼容的完全托管式的关系数据库引擎。在某些工作负载条件下，Aurora 最多可以将 MySQL 吞吐量增加 5 倍，将 PostgreSQL 的吞吐量增加 3 倍，而无需对大多数现有应用程序进行更改。

该 CloudFormation 模板创建了一个亚马逊 CloudWatch 事件和一个 AWS Lambda 函数。该事件使用 AWS CloudTrail 来监控任何 Aurora 实例的创建或现有实例的时间点恢复。Cloudwatch Events 事件启动 Lambda 函数，该函数检查是否启用了加密。如果未启用加密，Lambda 函数会发送 Amazon Simple Notiﬁcation Service (Amazon SNS) 通知，通知您存在违规情况。 

## 先决条件和限制
<a name="monitor-amazon-aurora-for-instances-without-encryption-prereqs"></a>

**先决条件**** **
+ 一个活跃的 AWS 账户

**限制**
+ 此服务控制仅适用于 Amazon Aurora 实例。它不支持其他 Amazon Relational Database Service (Amazon RDS)实例。
+  CloudFormation 模板必须仅针对`CreateDBInstance`****和 `RestoreDBClusterToPointInTim` **e** 部署。 

**产品版本**
+ Amazon Aurora 中支持的 PostgreSQL 版本
+ Amazon Aurora 中支持的 MySQL 版本

## 架构
<a name="monitor-amazon-aurora-for-instances-without-encryption-architecture"></a>

**目标技术堆栈**
+ Amazon Aurora
+ AWS CloudTrail
+ Amazon CloudWatch
+ AWS Lambda
+ Amazon Simple Storage Service (Amazon S3)
+ Amazon SNS

**目标架构**

![\[Aurora 在没有加密调用 CloudTrail、 CloudWatch 事件、Lambda 和 SNS 消息的情况下启动。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/de1528b8-a5a4-4c66-8ab3-7d9863572cbc/images/7dcab41a-d805-4bb0-99d1-1dcef37c4e55.png)


**自动化和扩展**

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

## 工具
<a name="monitor-amazon-aurora-for-instances-without-encryption-tools"></a>

**工具**
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) - Amazon Aurora 是与 MySQL 和 PostgreSQL 兼容的完全托管式的云端关系数据库引擎。
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) — AWS CloudTrail 可帮助您管理 AWS 账户的治理、合规以及运营和风险审计。用户、角色或 AWS 服务采取的操作在中记录为事件 CloudTrail。 
+ [Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) Events — Amazon CloudWatch Events 提供一系列描述了 AWS 资源变化的系统事件。 near-real-time 
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) – AWS Lambda 是一项计算服务，支持无需预置或管理服务器即可运行代码。只有在需要时 Lambda 才运行您的代码，并且能自动扩缩，从每天几个请求扩展到每秒数千个请求。 
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html) - Amazon Simple Storage Service (Amazon S3)是一种高度可扩展的对象存储服务，可用于各种存储解决方案，包括网站、移动应用程序、备份和数据湖。
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) – Amazon Simple Notiﬁcation Service (Amazon SNS)是一项托管服务，可通过 Lambda、HTTP、电子邮件、手机推送通知和手机短信 (SMS) 的形式提供消息。 

**代码**

该项目的 .zip 文件作为附件提供。

## 操作说明
<a name="monitor-amazon-aurora-for-instances-without-encryption-epics"></a>

### 为 Lambda 脚本创建 S3 存储桶
<a name="create-the-s3-bucket-for-the-lambda-script"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 定义 S3 存储桶。 | 打开 Amazon S3 控制台并选择或创建 S3 存储桶。此 S3 存储桶将托管 Lambda 代码 .zip 文件。您的 S3 存储桶需要与 Aurora 位于同一区域。S3 存储桶名称不能包含前导斜杠。 | 云架构师 | 

### 将 Lambda 代码上传至 S3 存储桶
<a name="upload-the-lambda-code-to-the-s3-bucket"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 上传 Lambda 代码。 | 将*附件*部分中提供的 Lambda 代码 .zip 文件上传到您定义的 S3 存储桶。 | 云架构师 | 

### 部署 CloudFormation 模板
<a name="deploy-the-cloudformation-template"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 部署 CloudFormation 模板。 | 在 CloudFormation 控制台上，部署作为该模式附件提供的`RDS_Aurora_Encryption_At_Rest.yml` CloudFormation 模板。在下一个操作说明中，提供模板参数的值。 | 云架构师 | 

### 填写 CloudFormation 模板中的参数
<a name="complete-the-parameters-in-the-cloudformation-template"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 提供 S3 存储桶名称。 | 输入您在第一个操作说明中创建或选择的 S3 存储桶的名称。 | 云架构师  | 
| 提供 S3 密钥。 | 提供 Lambda 代码 .zip 文件在 S3 存储桶中的位置，不带前导斜杠（例如，`<directory>/<file-name>.zip`）。 | 云架构师  | 
| 提供电子邮箱地址。 | 提供有效的电子邮件地址以接收 Amazon SNS 通知。 | 云架构师  | 
| 定义日志记录级别。 | 定义 Lambda 函数的日志记录级别和频率。`Info` 指明有关应用程序进度的详细信息消息。`Error` 指明仍允许应用程序继续运行的错误事件。`Warning` 指明潜在的有害情况。 | 云架构师 | 

### 确认订阅
<a name="confirm-the-subscription"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 确认订阅。 | 成功部署模板后，它将向提供的电子邮件地址发送订阅电子邮件。要接收通知，您必须确认此电子邮件订阅。  | 云架构师 | 

## 相关资源
<a name="monitor-amazon-aurora-for-instances-without-encryption-resources"></a>
+ [创建 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)
+ [将文件上传到 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html) 
+ [创建 Amazon Aurora 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html)
+ [使用 AWS 创建在 AWS API 调用时触发 CloudWatch 的事件规则 CloudTrail](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-CloudTrail-Rule.html)

## 附件
<a name="attachments-de1528b8-a5a4-4c66-8ab3-7d9863572cbc"></a>

要访问与此文档相关联的其他内容，请解压以下文件：[attachment.zip](samples/p-attach/de1528b8-a5a4-4c66-8ab3-7d9863572cbc/attachments/attachment.zip)