流日志记录示例 - Amazon Virtual Private Cloud

流日志记录示例

以下是捕获特定流量流的流日志记录的示例。

有关流日志记录格式的信息,请参阅 流日志记录。有关如何创建流日志的信息,请参阅 使用流日志

接受的和拒绝的流量

以下是默认流日志记录的示例。

在本例中,允许从 IP 地址 172.31.16.139 到具有私有 IP 地址为 172.31.16.21 的网络接口的 SSH 流量(目标端口 22,TCP 协议),并允许账户 123456789010 中的 ID eni-1235b8ca123456789。

2 123456789010 eni-1235b8ca123456789 172.31.16.139 172.31.16.21 20641 22 6 20 4249 1418530010 1418530070 ACCEPT OK

在此示例中,拒绝指向账户 123456789010 中的网络接口 eni-1235b8ca123456789 的 RDP 流量(目标端口 3389,TCP 协议)。

2 123456789010 eni-1235b8ca123456789 172.31.9.69 172.31.9.12 49761 3389 6 20 4249 1418530010 1418530070 REJECT OK

无数据和跳过的记录

以下是默认流日志记录的示例。

在此示例中,聚合时间间隔中未记录任何数据。

2 123456789010 eni-1235b8ca123456789 - - - - - - - 1431280876 1431280934 - NODATA

在此示例中,在聚合时间间隔内跳过了一些日志记录。由于超过内部容量,VPC 流日志在聚合时间间隔期间无法捕获流日志数据时会跳过记录。单个跳过的记录可以表示聚合时间间隔期间网络接口未捕获的多个流。

2 123456789010 eni-11111111aaaaaaaaa - - - - - - - 1431280876 1431280934 - SKIPDATA
注意

在聚合时间间隔内可能会跳过一些流日志记录(请参阅可用字段中的 log-status)。这可能是因为存在内部 AWS 容量限制或内部错误。如果使用 AWS Cost Explorer 查看 VPC 流日志费用,并且在流日志聚合时间间隔内跳过了一些流日志,则 AWS Cost Explorer 中报告的流日志数量会高于 Amazon VPC 发布的流日志数量。

安全组和网络 ACL 规则

如果您正使用流日志来诊断过于严格或过于宽松的安全组规则或网络 ACL 规则,请注意这些资源的状态性。安全组是有状态的 — 这意味着对所允许流量的响应也会被允许,即使安全组中的规则不允许也是如此。相反,网络 ACL 是无状态的,因此对所允许流量的响应需要遵守网络 ACL 规则。

例如,您从家中的计算机(IP 地址为 203.0.113.12)对您的实例(网络接口的私有 IP 地址为 172.31.16.139)使用 ping 命令。您的安全组入站规则允许 ICMP 流量,但出站规则不允许 ICMP 流量。由于安全组是有状态的,允许从您的实例响应 ping。您的网络 ACL 允许入站 ICMP 流量,但不允许出站 ICMP 流量。由于网络 ACL 是无状态的,响应 Ping 将被丢弃,不会传输到您家中的计算机。在默认流日志中,它显示为两个流日志记录:

  • 网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的 ACCEPT 记录。

  • 网络 ACL 拒绝的响应 ping 的 REJECT 记录。

2 123456789010 eni-1235b8ca123456789 203.0.113.12 172.31.16.139 0 0 1 4 336 1432917027 1432917142 ACCEPT OK
2 123456789010 eni-1235b8ca123456789 172.31.16.139 203.0.113.12 0 0 1 4 336 1432917094 1432917142 REJECT OK

如果您的网络 ACL 允许出站 ICMP 流量,流日志会显示两个 ACCEPT 记录 (一个针对发起 ping,一个针对响应 ping)。如果您的安全组拒绝入站 ICMP 流量,流日志会显示一个 REJECT 记录,因为流量无权到达您的实例。

IPv6 流量

以下是默认流日志记录的示例。在此示例中,允许从 IPv6 地址 2001:db8:1234:a100:8d6e:3477:df66:f105 到账户 123456789010 中的网络接口 eni-1235b8ca123456789 的 SSH 流量(端口 22)。

2 123456789010 eni-1235b8ca123456789 2001:db8:1234:a100:8d6e:3477:df66:f105 2001:db8:1234:a102:3304:8879:34cf:4071 34892 22 6 54 8855 1477913708 1477913820 ACCEPT OK

TCP 标志序列

本节包含按照下列顺序捕获下列字段的自定义流日志的示例。

version vpc-id subnet-id instance-id interface-id account-id type srcaddr dstaddr srcport dstport pkt-srcaddr pkt-dstaddr protocol bytes packets start end action tcp-flags log-status

本节示例中的 tcp-flags 字段显示为流日志中的倒数第二的值。TCP 标志可帮助您确定流量的方向,例如,启动连接的服务器。

注意

有关 tcp-flags 选项的更多信息和每个 TCP 标志的说明,请参阅 可用字段

在以下记录(从晚上 7:47:55 开始,到晚上 7:48:53 结束)中,运行在端口 5001 上的客户端启动了两个与服务器的连接。服务器从客户端上的两个不同端口(43416 和 43418)收到两个 SYN 标志 (2)。对于每个 SYN,在对应的端口上从服务器向客户端发送一个 SYN-ACK (18)。

3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 52.213.180.42 10.0.0.62 43416 5001 52.213.180.42 10.0.0.62 6 568 8 1566848875 1566848933 ACCEPT 2 OK 3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 10.0.0.62 52.213.180.42 5001 43416 10.0.0.62 52.213.180.42 6 376 7 1566848875 1566848933 ACCEPT 18 OK 3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 52.213.180.42 10.0.0.62 43418 5001 52.213.180.42 10.0.0.62 6 100701 70 1566848875 1566848933 ACCEPT 2 OK 3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 10.0.0.62 52.213.180.42 5001 43418 10.0.0.62 52.213.180.42 6 632 12 1566848875 1566848933 ACCEPT 18 OK

在第二个聚合时间间隔中,上一个流期间建立的连接之一现在关闭。客户端在端口 43418 上为连接发送 FIN 标志 (1) 到服务器。服务器在端口 43418 上发送 FIN 到客户端。

3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 10.0.0.62 52.213.180.42 5001 43418 10.0.0.62 52.213.180.42 6 63388 1219 1566848933 1566849113 ACCEPT 1 OK 3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 52.213.180.42 10.0.0.62 43418 5001 52.213.180.42 10.0.0.62 6 23294588 15774 1566848933 1566849113 ACCEPT 1 OK

对于在单个聚合时间间隔中打开和关闭的短连接(例如,几秒),对于处于相同方向的流量流,标志必须在与流日志记录相同的行上设置。在以下示例中,连接在相同的聚合时间间隔中建立和完成。在第一行,TCP 标志值为 3,这表示有从客户端发送到服务器的 SYN 和 FIN 消息。在第二行,TCP 标志值为 19,这表示有从服务器发送回客户端的 SYN-ACK 和 FIN 消息。

3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 52.213.180.42 10.0.0.62 43638 5001 52.213.180.42 10.0.0.62 6 1260 17 1566933133 1566933193 ACCEPT 3 OK 3 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-01234567890123456 eni-1235b8ca123456789 123456789010 IPv4 10.0.0.62 52.213.180.42 5001 43638 10.0.0.62 52.213.180.42 6 967 14 1566933133 1566933193 ACCEPT 19 OK

通过 NAT 网关的流量

在此示例中,私有子网中的实例通过位于公有子网中的 NAT 网关访问 Internet。

通过 NAT 网关访问 Internet

NAT 网关网络接口的以下自定义流日志按照下列顺序捕获下列字段。

instance-id interface-id srcaddr dstaddr pkt-srcaddr pkt-dstaddr

流日志显示流量从实例 IP 地址 (10.0.1.5) 通过 NAT 网关网络接口流向 Internet 上的主机 (203.0.113.5)。NAT 网关网络接口是请求方管理的网络接口,因此流量日志记录为 instance-id 字段显示“-”符号。以下行显示从源实例流向 NAT 网关网络接口的流量。dstaddr 和 pkt-dstaddr 字段的值不同。dstaddr 字段显示 NAT 网关网络接口的私有 IP 地址,pkt-dstaddr 字段显示 Internet 上主机的最终目标 IP 地址。

- eni-1235b8ca123456789 10.0.1.5 10.0.0.220 10.0.1.5 203.0.113.5

接下来两行显示从 NAT 网关网络接口流向 Internet 上目标主机的流量,以及从主机发送到 NAT 网关网络接口的响应流量。

- eni-1235b8ca123456789 10.0.0.220 203.0.113.5 10.0.0.220 203.0.113.5 - eni-1235b8ca123456789 203.0.113.5 10.0.0.220 203.0.113.5 10.0.0.220

以下行显示从 NAT 网关网络接口流向源实例的响应流量。srcaddr 和 pkt-srcaddr 字段的值不同。srcaddr 字段显示 NAT 网关网络接口的私有 IP 地址,pkt-srcaddr 字段显示 Internet 上主机的 IP 地址。

- eni-1235b8ca123456789 10.0.0.220 10.0.1.5 203.0.113.5 10.0.1.5

您可使用与以上相同的字段集创建另一个自定义流日志。您可为私有子网中的实例的网络接口创建流日志。在这种情况下,instance-id 字段返回与网络接口关联的实例的 ID,并且 dstaddr 和 pkt-dstaddr 字段与 srcaddr 和 pkt-srcaddr 字段没有不同。与 NAT 网关的网络接口不同,此网络接口不是流量的中间网络接口。

i-01234567890123456 eni-1111aaaa2222bbbb3 10.0.1.5 203.0.113.5 10.0.1.5 203.0.113.5 #Traffic from the source instance to host on the internet i-01234567890123456 eni-1111aaaa2222bbbb3 203.0.113.5 10.0.1.5 203.0.113.5 10.0.1.5 #Response traffic from host on the internet to the source instance

通过中转网关的流量

在此示例中,VPC A 中的客户端通过中转网关连接到 VPC B 中的 Web 服务器。客户端和服务器处于不同的可用区中。流量使用弹性网络接口 ID 抵达 VPC B 中的服务器(在本例中,假设该 ID 为 eni-11111111111111111),使用另一个 ID(例如 eni-22222222222222222)离开 VPC B。

通过中转网关的流量

您可使用以下格式为 VPC B 创建自定义流日志。

version interface-id account-id vpc-id subnet-id instance-id srcaddr dstaddr srcport dstport protocol tcp-flags type pkt-srcaddr pkt-dstaddr action log-status

来自流日志记录的以下行演示了 Web 服务器上网络接口的流量流。第一行是来自客户端的请求流量,最后一行是来自 Web 服务器的响应流量。

3 eni-33333333333333333 123456789010 vpc-abcdefab012345678 subnet-22222222bbbbbbbbb i-01234567890123456 10.20.33.164 10.40.2.236 39812 80 6 3 IPv4 10.20.33.164 10.40.2.236 ACCEPT OK ... 3 eni-33333333333333333 123456789010 vpc-abcdefab012345678 subnet-22222222bbbbbbbbb i-01234567890123456 10.40.2.236 10.20.33.164 80 39812 6 19 IPv4 10.40.2.236 10.20.33.164 ACCEPT OK

以下行是 eni-11111111111111111 上的请求流量,这是子网 subnet-11111111aaaaaaaaa 中的中转网关的请求方管理的网络接口。因此,以下日志记录为 instance-id 字段显示“-”符号。srcaddr 字段显示中转网关网络接口的私有 IP 地址,pkt-srcaddr 字段显示 VPC A 中客户端的源 IP 地址。

3 eni-11111111111111111 123456789010 vpc-abcdefab012345678 subnet-11111111aaaaaaaaa - 10.40.1.175 10.40.2.236 39812 80 6 3 IPv4 10.20.33.164 10.40.2.236 ACCEPT OK

以下行是 eni-22222222222222222 上的响应流量,这是子网 subnet-22222222bbbbbbbbb 中的中转网关的请求方管理的网络接口。dstaddr 字段显示中转网关网络接口的私有 IP 地址,pkt-dstaddr 字段显示 VPC A 中客户端的 IP 地址。

3 eni-22222222222222222 123456789010 vpc-abcdefab012345678 subnet-22222222bbbbbbbbb - 10.40.2.236 10.40.2.31 80 39812 6 19 IPv4 10.40.2.236 10.20.33.164 ACCEPT OK

服务名称、流量路径和流向

下面是自定义流日志记录的字段示例。

version srcaddr dstaddr srcport dstport protocol start end type packets bytes account-id vpc-id subnet-id instance-id interface-id region az-id sublocation-type sublocation-id action tcp-flags pkt-srcaddr pkt-dstaddr pkt-src-aws-service pkt-dst-aws-service traffic-path flow-direction log-status

在以下示例中,版本为 5,因为记录包含版本 5 字段。EC2 实例调用 Amazon S3 服务。流日志将在实例的网络接口上捕获。第一条记录的流向为 ingress,第二条记录的流向为 egress。对于 egress 记录,traffic-path 为 8,表示流量经过互联网网关。traffic-path 流量不支持 ingress 字段。当 pkt-srcaddr 或 pkt-dstaddr 是公有 IP 地址时,将显示服务名称。

5 52.95.128.179 10.0.0.71 80 34210 6 1616729292 1616729349 IPv4 14 15044 123456789012 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-0c50d5961bcb2d47b eni-1235b8ca123456789 ap-southeast-2 apse2-az3 - - ACCEPT 19 52.95.128.179 10.0.0.71 S3 - - ingress OK 5 10.0.0.71 52.95.128.179 34210 80 6 1616729292 1616729349 IPv4 7 471 123456789012 vpc-abcdefab012345678 subnet-aaaaaaaa012345678 i-0c50d5961bcb2d47b eni-1235b8ca123456789 ap-southeast-2 apse2-az3 - - ACCEPT 3 10.0.0.71 52.95.128.179 - S3 8 egress OK