本页面介绍了 Cloud Logging 中 VPC 防火墙规则日志记录的结构。当启用了日志记录的 Virtual Private Cloud (VPC) 规则应用于进出虚拟机 (VM) 实例的流量时,Cloud Logging 会创建一个日志条目。日志记录显示在 Logging LogEntry 的 JSON 载荷字段中。
防火墙日志记录包含基本字段(即每个日志记录的核心字段)以及可选的元数据字段。如需降低存储费用,您可以排除元数据字段。
某些日志字段可以包含其他字段作为值。例如,connection 字段采用 IpConnection 格式,它在单个字段中包含来源 IP 地址和目的地 IP 地址、端口以及协议。
下表介绍了 VPC 防火墙规则支持的日志字段。
| 字段名称 | 字段类型:基本或可选元数据 | 说明 |
|---|---|---|
connection |
基本 | IpConnection 一个 5 元组,它表示此连接的源 IP 地址、目标 IP 地址、源端口、目标端口以及 IP 协议。 |
disposition |
基本 | 指示连接是 ALLOWED 还是 DENIED。 |
rule_details |
基本 | RuleDetails VPC 防火墙规则详细信息。对于 VPC 防火墙规则,格式为 network:{network name}/firewall:{firewall_name}。 |
instance |
元数据 | InstanceDetails 虚拟机实例详细信息。在共享 VPC 配置中, project_id 与服务项目的此内容相对应。 |
load_balancer_details |
元数据 | LoadBalancingDetails 防火墙规则所适用的内部应用负载平衡器或内部代理网络负载平衡器的详细信息。如果防火墙规则的目标是上述任一负载平衡器,则会省略 instance 字段。 |
vpc |
元数据 | VpcDetails VPC 网络详细信息。在共享 VPC 配置中, project_id 与宿主项目的相应参数相对应。 |
remote_instance |
元数据 | InstanceDetails 如果连接的远程端点是位于 Google Compute Engine 中的虚拟机,则此字段会填充虚拟机实例详细信息。 |
remote_vpc |
元数据 | VpcDetails 如果连接的远程端点是位于 VPC 网络中的虚拟机,则此字段会填充网络详细信息。 |
remote_location |
元数据 | GeographicDetails 如果连接的远程端点在 VPC 网络的外部,则此字段会填充可用位置元数据。 |
IpConnection
| 字段 | 类型 | 说明 |
|---|---|---|
src_ip |
字符串 | 来源 IP 地址。如果来源是 Compute Engine 虚拟机,则 src_ip 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。系统不显示外部 IP 地址。如果虚拟机在数据包标头上发现虚拟机的 IP 地址,则 Logging 将显示此地址,这与您在虚拟机上运行 tcpdump 一样。 |
src_port |
整数 | 来源端口。 |
dest_ip |
字符串 | 目标 IP 地址。如果目的地是 Google Cloud 虚拟机,则 dest_ip 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。即使使用外部 IP 地址进行连接,系统也不会显示此地址。 |
dest_port |
整数 | 目标端口。 |
protocol |
整数 | 连接的 IP 协议。 |
RuleDetails
| 字段 | 类型 | 说明 |
|---|---|---|
reference |
字符串 | 一个唯一标识符字符串,用于指代绑定到单个 VPC 网络的已命名防火墙规则。VPC 防火墙规则的格式为:network:{network name}/firewall:{VPC firewall rule name}。 |
priority |
整数 | VPC 防火墙规则的优先级。 |
action |
字符串 | 应用于连接的操作。支持的值为 ALLOW 或 DENY。 |
direction |
字符串 | VPC 防火墙规则适用的方向。
可以是 INGRESS 或 EGRESS
|
source_range[ ] |
字符串 | VPC 防火墙规则适用的源范围列表。 |
destination_range[ ] |
字符串 | VPC 防火墙规则适用的目的地范围列表。 |
ip_port_info[ ] |
字符串 | 规则的 IP 协议和适用端口范围列表。 |
source_tag[ ] |
字符串 | VPC 防火墙规则适用的来源网络标记的列表。 |
target_tag[ ] |
字符串 | VPC 防火墙规则适用的目标网络标记列表。 |
source_service_account[ ] |
字符串 | VPC 防火墙规则适用的所有源服务账号的列表。 |
target_service_account[ ] |
字符串 | VPC 防火墙规则适用的所有目标服务账号的列表。 |
IpPortDetails
| 字段 | 类型 | 说明 |
|---|---|---|
ip_protocol |
字符串 | VPC 防火墙规则所应用的 IP 协议。如果规则适用于所有 IP 协议,则可以设置为 ALL。 |
port_range[ ] |
字符串 | VPC 防火墙规则的适用端口范围列表。
例如 8080-9090。 |
InstanceDetails
| 字段 | 类型 | 说明 |
|---|---|---|
project_id |
字符串 | 包含虚拟机的项目的 ID。 |
vm_name |
字符串 | 虚拟机的实例名称。 |
region |
字符串 | 虚拟机的区域。 |
zone |
字符串 | 虚拟机所在的可用区。 |
LoadBalancingDetails
| 字段 | 类型 | 说明 |
|---|---|---|
forwarding_rule_project_id |
字符串 | 包含转发规则的Google Cloud 项目 ID。当负载均衡器是目标而非虚拟机时发送。 |
type |
字符串 | 负载平衡器类型:APPLICATION_LOAD_BALANCER 表示内部应用负载平衡器。PROXY_NETWORK_LOAD_BALANCER 表示内部代理网络负载平衡器。当负载均衡器是目标而非虚拟机时发送。 |
scheme |
字符串 | 负载平衡器方案,INTERNAL_MANAGED。当负载均衡器是目标而非虚拟机时发送。 |
url_map_name |
字符串 | 网址映射的名称。仅当 type 为 APPLICATION_LOAD_BALANCER 时填充。当负载均衡器是目标而非虚拟机时发送。 |
forwarding_rule_name |
字符串 | 转发规则的名称。当负载均衡器是目标而非虚拟机时发送。 |
VpcDetails
| 字段 | 类型 | 说明 |
|---|---|---|
project_id |
字符串 | 包含相应网络的项目的 ID。 |
vpc_name |
字符串 | 运行虚拟机的网络。 |
subnetwork_name |
字符串 | 运行虚拟机的子网。 |
GeographicDetails
| 字段 | 类型 | 说明 |
|---|---|---|
continent |
字符串 | 大洲名称。如果连接的远程端点在 VPC 外部,则适用。 |
country |
字符串 | 国家/地区的名称。如果连接的远程端点在 VPC 外部,则适用。 |
region |
字符串 | 区域的名称。如果连接的远程端点在 VPC 外部,则适用。 |
city |
字符串 | 城市名称。如果连接的远程端点在 VPC 外部,则此字段适用。 |