

# 创建发布到 CloudWatch Logs 的流日志
<a name="flow-logs-cwl-create-flow-log"></a>

您可以为 VPC、子网或网络接口创建流日志。如果以使用特定 IAM 角色的用户身份执行这些步骤，请确保该角色具有使用 `iam:PassRole` 操作的权限。

**先决条件**  
验证用于发出请求的 IAM 主体是否具有调用 `iam:PassRole` 操作的权限。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/flow-log-role-name"
        }
    ]
}
```

------

**使用控制台创建流日志**

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（筛选条件）**，指定要记录的流量的类型。选择**All（全部）**将记录接受和拒绝的流量，选择 **Reject（拒绝）**将仅记录被拒绝的流量，选择 **Accept（接受）**将仅记录接受的流量。

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

1. 对于**Destination（目的地）**，选择**发送到 CloudWatch Logs**。

1. 对于**目标日志组**，选择现有日志组名称或输入新日志组名称。如果您输入名称，我们会在需要记录流量时创建日志组。

1. 对于**访问服务**，请选择有权将日志发布到 CloudWatch Logs 的现有 [IAM 服务角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)，或者选择创建新的服务角色。

1. 对于**Log record format（日志记录格式）**，选定流日志记录的格式。
   + 要使用默认格式，请选择**AWSdefault format（亚马逊云科技默认格式）**。
   + 要使用自定义格式，请选择**Custom format（自定义格式）**然后从**Log format（日志格式）**选择字段。

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

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

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

**使用命令行创建流日志**

使用以下命令之一。
+ [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 示例将创建流日志，该日志将捕获指定子网的所有已接受流量。流日志将传输到指定的日志组。`--deliver-logs-permission-arn` 参数指定发布到 CloudWatch Logs 所需的 IAM 角色。

```
aws ec2 create-flow-logs --resource-type Subnet --resource-ids subnet-1a2b3c4d --traffic-type ACCEPT --log-group-name my-flow-logs --deliver-logs-permission-arn arn:aws:iam::123456789101:role/publishFlowLogs
```