亚马逊AWS官方博客

使用 Route 53 解析器查询日志记录您的 VPC DNS 查询

Amazon Route 53 团队刚刚推出了一项名为 Route 53 解析器查询日志的新功能,该功能可让您记录由 Amazon Virtual Private Cloud 内的资源发出的所有 DNS 查询。无论是 Amazon Elastic Compute Cloud (EC2) 实例、AWS Lambda 函数还是容器,如果它位于您的 Virtual Private Cloud 中并进行 DNS 查询,则此功能将记录它;然后您可以探索并更好地了解应用程序的运行情况。

我们的客户向我们解释说,DNS 查询日志对他们非常重要。一些客户希望通过日志来实现合规性,而其他客户则希望监控 DNS 查询行为,以便发现安全威胁。有些客户只是想排查与 DNS 相关的应用程序问题。该团队倾听了客户的意见,并开发出了简洁且易于使用的解决方案。

对 Route 53 解析器了解甚少,我可以配置查询日志记录,并且只需浏览一下文档即可使用它。我向您保证,这证明了该功能的直观性,而不是表明我对 Route 53 或 DNS 查询日志记录有任何丰富的经验。

您可以选择将 DNS 查询日志发送到以下三种 AWS 服务之一:Amazon CloudWatch LogsAmazon Simple Storage Service (S3)Amazon Kinesis Data Firehose。您选择的目标服务主要取决于要对数据执行的操作。如果您有合规性要求(例如,澳大利亚的信息安全注册评估师计划),那么将日志存储在 Amazon Simple Storage Service (S3) 中也许是一个不错的选择。如果您计划实时监控和分析 DNS 查询,或者将日志与第三方数据分析工具(如 Kibana)或 SEIM 工具(如 Splunk)集成,那么 Amazon Kinesis Data Firehose 可能适合您。对于需要一种简单方法来搜索、查询、监控指标或发出警报的客户,Amazon CloudWatch Logs 是一个不错的选择,我将在下面的演示中进行展示。

Route 53 控制台的解析器菜单部分旁边,我看到一个名为查询日志记录的新选项。单击此选项将进入一个可以配置日志记录的屏幕。

控制面板显示设置的当前配置。单击配置查询日志记录以开始。

控制台要求我填写一些必要的信息,例如友好名称;我已经命名 demoNewsBlog

现在系统提示我选择希望发送日志的目标。我选择 CloudWatch Logs 日志组,然后选择用于创建日志组的选项。我将新日志组命名为 /aws/route/demothebeebsnet

接下来,我需要选择要记录查询的 VPC。我在此处选择的 VPC 内的任何资源都将记录其 DNS 查询。您还可以为此配置添加标签。我习惯于用标签 demo 来标记在演示中使用的任何内容。这样我就很容易区分账户中的演示资源和实时资源。

最后,我需要按配置查询日志记录按钮并保存配置。在几分钟内,该服务已成功在 VPC 中启用查询日志记录。

几分钟后,我登录到 Amazon CloudWatch Logs 控制台,并且可以看到日志已开始显示。

正如您在下面看到的,我很快就能使用 Amazon CloudWatch Logs Insights 开始搜索日志并运行查询。

您可以使用 Amazon CloudWatch Logs 服务执行很多操作,例如,可以使用 CloudWatch 指标筛选器自动生成指标,甚至创建控制面板。在整合此演示的同时,我还发现 Amazon CloudWatch Logs 内部有一项名为 Contributor Insights 的功能,您可以通过它分析日志数据并创建显示最高用量者的时间序列。我很快就可以生成此图表,它列出了一段时间以来最常见的 DNS 查询。
Route 53 解析器查询日志适用于支持 Route 53 解析器终端节点的所有 AWS 商业区域,并且您可以开始使用 API 或 AWS 控制台。您无需为 Route53 解析器查询日志付费,但需要为在所选的目标服务中处理日志付费。例如,如果您决定使用 Amazon Kinesis Data Firehose,那么使用 Amazon Kinesis Data Firehose 服务来处理日志会产生常规费用

快乐记录日志吧

— Martin