VPC Flow Logs
记录了VPC内进出网卡的流量,日志保存在S3或CloudWatch Logs
。如果保存在S3则使用Athena来查询;如果保存在CloudWatch Logs
则使用CloudWatch Logs Insights
来查询
Flow Logs
一般用于以下任务:
Flow Log
的开启和关闭都不会影响VPC的网络性能。Flow Log
可以开启在VPC、子网或ENI级别,如果开启在子网或VPC级别,下面的每个ENI都会被监控。
VPC Flow Logs
的格式如下:
进入VPC页面,选择VPC,点击Create flow log
:
另一个创建的入口是在VPC下的Flow logs
页面进行创建:
输入flow log
的名称;flow log
有两种行为——Accept或Reject,可以只记录某种行为,也可以全部记录:
提前创建一个Cloudwatch Log Group
(例如vpc-flow-log
)用于接收Flow Log;
创建IAM Role,用于授权写到CloudWatch Log,参考: https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-cwl.html#flow-logs-iam-role
这个Role的信任关系里,设置为vpc-flow-logs.amazonaws.com
:
继续VPC Flow Logs的开启过程,日志的格式可以选择默认,也可以自定义,只选择关注的字段:
点击创建。
创建完成后,进入到CloudWatch Logs页面:
日志格式如下:
在Logs Insights
里分析日志:
Logs Insights
使用特定的查询语言来分析日志:
上面提到,Flow Log
可以开启在VPC、子网或ENI级别。如果开启在子网或VPC级别,下面的每个ENI都会被监控。子网中开启的入口如下:
如果ENI所在的子网或VPC已经开启了Flow Logs
,那么ENI上也自动已开启
VPC Flow Logs
不会记录以下类型的流量:
Wireshark/tcpdump
traceroute
telnet
nslookup
ping(在使用的时候注意要放开ICMP协议,仅放开所有tcp流量的访问是没用的)