

# 创建发布到 Amazon Data Firehose 的流日志
<a name="flow-logs-firehose-create-flow-log"></a>

您可以为 VPC、子网或网络接口创建流日志。

**先决条件**
+ 创建目的地 Amazon Data Firehose 传输流。使用 **Direct Put** 作为来源。有关更多信息，请参阅[创建 Amazon Data Firehose 传输流](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)。
+ 创建流日志的账户使用的 IAM 角色必须授予下列权限，以将流日志发布到 Amazon Data Firehose。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "logs:CreateLogDelivery",
                  "logs:DeleteLogDelivery",
                  "iam:CreateServiceLinkedRole",
                  "firehose:TagDeliveryStream"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
+ 要将流日志发布到不同账户，请创建所需的 IAM 角色，如 [用于跨账户传输的 IAM 角色](firehose-cross-account-delivery.md) 中所述。

**创建发布到 Amazon Data Firehose 的流日志**

1. 请执行以下操作之一：
   + 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。在导航窗格中，选择**网络接口**。选中该网络接口的复选框。
   + 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。在导航窗格中，选择 **Your VPCs**(您的 VPC)。选中该 VPC 的复选框。
   + 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。在导航窗格中，选择 **Subnets**(子网)。选中子网的复选框。

1. 选择 **Actions**（操作）、**Create flow log**（创建流日志）。

1. 对于**Filter（筛选条件）**，指定要记录的流量的类型。
   + **Accepted**（已接受）– 仅记录接受的流量
   + **Rejected**（已拒绝）– 仅记录拒绝的流量
   + **All**（所有流量）– 记录接受和拒绝的流量

1. 对于 **Maximum aggregation interval（最大聚合时间间隔）**，选择捕获流并聚合到一个流日志记录中的最大时间段。

1. 对于 **Destination**（目的地），请选择下列选项之一：
   + **发送到同一个账户中的 Amazon Data Firehose** – 传输流和要监控的资源位于同一账户中。
   + **发送到不同账户中的 Amazon Data Firehose** – 传输流和要监控的资源位于不同账户中。

1. 对于 **Amazon Data Firehose** 流名称，选择您创建的传输流。

1. [仅限跨账户传输] 对于**服务访问**，请选择具有发布日志权限的现有 [IAM 服务角色进行跨账户传输](firehose-cross-account-delivery.md)，或者选择**设置权限**以打开 IAM 控制台并创建服务角色。

1. 对于 **Log record format（日志记录格式）**，选定流日志记录的格式。
   + 要使用默认流日志记录格式，请选择 **AWS default format（亚马逊云科技默认格式）**。
   + 要创建自定义格式，请选择**Custom format**（自定义格式）。对于**Log format**（日志行格式），选择要包括在流日志记录中的字段。

1. 对于**其他元数据**，选择是否要以日志格式包含来自 Amazon ECS 的元数据。

1. （可选）选择**添加标签**以将标签应用于流日志。

1. 选择 **Create flow log（创建流日志）**。

**使用命令行创建发布到 Amazon Data Firehose 的流日志**

使用以下命令之一：
+ [create-flow-logs](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-flow-logs.html)（AWS CLI）
+ [New-EC2FlowLog](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2FlowLog.html)（AWS Tools for Windows PowerShell）

以下 AWS CLI 示例将创建流日志，用于捕获指定 VPC 的所有流量，并将流日志传输到同一账户中的指定 Amazon Data Firehose 传输流。

```
aws ec2 create-flow-logs --traffic-type ALL \
  --resource-type VPC \
  --resource-ids vpc-00112233344556677 \
  --log-destination-type kinesis-data-firehose \
  --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream/flowlogs_stream
```

以下 AWS CLI 示例将创建流日志，用于捕获指定 VPC 的所有流量，并将流日志传输到不同账户中的指定 Amazon Data Firehose 传输流。

```
aws ec2 create-flow-logs --traffic-type ALL \
  --resource-type VPC \
  --resource-ids vpc-00112233344556677 \
  --log-destination-type kinesis-data-firehose \
  --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream/flowlogs_stream \
  --deliver-logs-permission-arn arn:aws:iam::source-account:role/mySourceRole \ 
  --deliver-cross-account-role arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole
```

由于创建了流日志，您可以从为传输流配置的目标获取流日志数据。