

# 使用控制台生成 CloudFormation 模板
<a name="flow-logs-generate-template-console"></a>

在将第一个流日志传送到 S3 存储桶后，您可以通过生成 CloudFormation 模板并使用该模板创建堆栈，与 Athena 进行集成。

**要求**
+ 选择的区域必须支持 AWS Lambda 和 Amazon Athena。
+ Amazon S3 存储桶必须位于所选区域中。
+ 流日志的日志记录格式必须包含您要运行的特定预定义查询所使用的字段。

**使用控制台生成模板**

1. 请执行下列操作之一：
   + 打开 Amazon VPC 控制台。在导航窗格中，选择 **Your VPCs**（您的 VPC），然后选择自己的 VPC。
   + 打开 Amazon VPC 控制台。在导航窗格中，选择 **Subnets**（子网），然后选择您的子网。
   + 打开 Amazon EC2 控制台。在导航窗格中，选择 **Network Interfaces**（网络接口），然后选择您的网络接口。

1. 在 **Flow logs**（流日志）选项卡上，选择发布到 Amazon S3 的流日志，然后依次选择 **Actions**（操作）、**Generate Athena integration**（生成 Athena 集成）。

1. 指定分区加载频率。如果选择 **None**（无），则必须使用已过去的日期指定分区的开始日期和结束日期。如果选择**Daily**（每日）、**Weekly**（每周）或 **Monthly**（每月），则分区的开始日期和结束日期是可选设置。如果不指定开始日期和结束日期，CloudFormation 模板创建的 Lambda 函数可以按循环计划加载新分区。

1. 为生成的模板选择或创建 S3 存储桶，为查询结果选择或创建 S3 存储桶。

1. 选择 **Generate Athena integration**（生成 Athena 集成）。

1. （可选）在成功消息中，选择链接以导航到您为 CloudFormation 模板指定的存储桶，然后自定义该模板。

1. 在成功消息中，选择 **Create CloudFormation stack（创建 CloudFormation 堆栈）**，以在 CloudFormation 控制台中打开 **Create Stack (创建堆栈)** 向导。生成的 CloudFormation 模板的 URL 在 **Template**（模板）部分中指定。完成向导以创建模板中指定的资源。

**CloudFormation 模板创建的资源**
+ Athena 数据库。该数据库名称为 vpcflowlogsathenadatabase<*flow-logs-subscription-id*>。
+ Athena 工作组。工作组名称为 <*flow-log-subscription-id*><*partition-load-frequency*><*start-date*><*end-date*>workgroup
+ 与您的流日志记录对应的已分区 Athena 表。表名称为 <*flow-log-subscription-id*><*partition-load-frequency*><*start-date*><*end-date*>。
+ 一组 Athena 命名的查询。有关更多信息，请参阅 [预定义查询](flow-logs-run-athena-query.md#predefined-queries)。
+ 一个 Lambda 函数，可按指定的时间表（每日、每周或每月）将新分区加载到表中。
+ 授予运行 Lambda 函数的权限的 IAM 角色。