创建发布到 Amazon S3 的流日志
在您创建和配置 Amazon S3 存储桶后,您可以为网络接口、子网和 VPC 创建流日志。
先决条件
创建流日志的 IAM 主体必须使用具有以下权限的 IAM 角色,才能将流日志发布到目标 Amazon S3 存储桶。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*" } ] }
使用控制台创建流日志
-
请执行以下操作之一:
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。在导航窗格中,选择网络接口。选中该网络接口的复选框。 -
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。在导航窗格中,选择 Your VPCs(您的 VPC)。选中该 VPC 的复选框。 -
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。在导航窗格中,选择 Subnets(子网)。选中子网的复选框。
-
-
选择 Actions(操作)、Create flow log(创建流日志)。
-
对于 Filter(筛选条件),指定要记录的 IP 流量数据的类型。
-
已接受 – 仅记录接受的流量。
-
已拒绝 – 仅记录拒绝的流量。
-
All(所有流量)– 记录接受的和拒绝的流量。
-
-
对于 Maximum aggregation interval(最大聚合时间间隔),选择捕获流并聚合到一个流日志记录中的最大时间段。
-
对于 Destination (目标),选择 Send to an Amazon S3 bucket (发送到 Amazon S3 存储桶)。
-
对于 S3 bucket ARN(S3 存储桶 ARN),指定某个现有 Amazon S3 存储桶的 Amazon Resource Name(ARN)。您可以选择包含子文件夹。例如,要指定名为
my-logs
的存储桶中名为my-bucket
的子文件夹,请使用以下 ARN:arn:aws:s3:::my-bucket/my-logs/
存储桶不能使用
AWSLogs
作为子文件夹名称,因为这是保留项。如果您拥有该存储桶,我们会自动创建资源策略并将它附加到该存储桶。有关更多信息,请参阅 针对流日志的 Amazon S3 存储桶权限。
-
对于 Log record format(日志记录格式),选定流日志记录的格式。
-
要使用默认流日志记录格式,请选择 Amazon default format(亚马逊云科技默认格式)。
-
要创建自定义格式,请选择Custom format(自定义格式)。对于Log format(日志行格式),选择要包括在流日志记录中的字段。
-
-
对于其他元数据,选择是否要以日志格式包含来自 Amazon ECS 的元数据。
-
对于 Log file format(日志文件格式),指定日志文件的格式。
-
Text – 纯文本。这是默认格式。
-
Parquet – Apache Pparquet 是一种列式数据格式。与对纯文本数据的查询相比,对 Passic 格式的数据进行查询速度快 10 到 100 倍。使用 Gzip 压缩的 Parquet 格式的数据比 Gzip 压缩的纯文本格式的数据占用的存储空间少 20%。
-
-
(可选)要使用 Hive 兼容的 S3 前缀,请选择 Hive-compatible S3 prefix(Hive 兼容的 S3 前缀)、Enable(启用)。
-
(可选)要每小时对流日志进行分区,请选择 Every 1 hour(60 mins)(每 1 小时(60 分钟))。
-
(可选)要向流日志添加标签,请选择 Add new tag(添加新标签)并指定标签键和值。
-
选择 Create flow log(创建流日志)。
使用命令行工具创建发布到 Amazon S3 的流日志
使用以下命令之一:
-
create-flow-logs(Amazon CLI)
-
New-EC2FlowLogs(Amazon Tools for Windows PowerShell)
以下 Amazon CLI 示例将创建流日志,以捕获指定 VPC 的所有流量并将流日志传输到指定 Amazon S3 存储桶。--log-format
参数指定流日志记录的自定义格式。
aws ec2 create-flow-logs --resource-type
VPC
--resource-idsvpc-00112233344556677
--traffic-type ALL --log-destination-types3
--log-destination arn:aws:s3:::flow-log-bucket
/custom-flow-logs
/ --log-format '${version} ${vpc-id} ${subnet-id} ${instance-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${tcp-flags} ${type} ${pkt-srcaddr} ${pkt-dstaddr}'