本页面介绍了 Cloud Logging 中的 VPC 防火墙规则日志记录结构。当启用了日志记录的虚拟私有云 (VPC) 规则应用于进出虚拟机实例的数据流量时,Cloud Logging 会创建一个日志条目。日志记录会显示在 Logging LogEntry的 JSON 载荷 字段中。
防火墙日志记录包含基本字段(即每个日志记录的核心字段)以及可选的元数据字段。如需降低存储费用,您可以排除元数据字段。
某些日志字段可以将其他字段作为值。例如,connection 字段使用 IpConnection 格式,该格式在单个字段中包含来源
IP 地址和目的地 IP 地址、端口以及协议。
下表介绍了 VPC 防火墙规则支持的日志字段。
| 字段名称 | 字段类型:基本或可选元数据 | 说明 |
|---|---|---|
connection |
IpConnection | 一个 5 元组,描述了此连接的来源 IP 地址和目的地 IP 地址、来源端口和 目的地端口以及 IP 协议。 |
disposition |
基本 | 指明连接是 ALLOWED 还是
DENIED。 |
rule_details.reference |
基本 | 对防火墙规则的引用。对于 VPC 防火墙
规则,格式为 network:{network name}/firewall:{firewall_name}。 |
rule_details.priority |
基本 | 为 VPC 防火墙规则定义的优先级。 |
rule_details.action |
基本 | 指明连接是 ALLOWED 还是
DENIED。 |
rule_details.direction |
基本 | 防火墙规则适用的方向:ingress
或 egress。 |
rule_details.ip_port_info[ ] |
IpPortDetails | IP 协议和适用端口范围的列表。
对于
VPC 防火墙规则,ip_protocol 子字段可以是 ALL。 |
rule_details.source_range[ ]rule_details.destination_range[ ] |
元数据 | VPC 防火墙规则适用的来源或目的地 IP 范围的列表。 |
rule_details.source_tag[ ]rule_details.target_tag[ ] |
元数据 | VPC 防火墙规则适用的所有来源或目标网络标记的列表。 |
rule_details.source_service_account[ ]rule_details.target_service_account[ ] |
元数据 | VPC 防火墙规则适用的所有来源或目标服务账号的列表。 |
instance |
元数据 | InstanceDetails 虚拟机实例详细信息。在共享 VPC 配置中, project_id 与服务项目的此内容相对应。 |
load_balancer_details |
元数据 | LoadBalancingDetails 防火墙规则适用的内部应用负载平衡器或内部代理网络负载平衡器的详细信息。当防火墙规则的目标是其中一个负载 均衡器时,系统会省略 instance 字段。 |
vpc |
元数据 | VpcDetails VPC 网络详细信息。在共享 VPC 配置中, project_id 与宿主项目的相应参数相对应。 |
remote_instance |
元数据 | InstanceDetails 如果连接的远程端点是位于 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 地址。如果目的地是 虚拟机,则
dest_ip 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。 Google Cloud 即使使用外部 IP
地址进行连接,系统也不会显示此地址。 |
dest_port |
整数 | 目的地端口。 |
protocol |
整数 | 连接的 IP 协议。 |
RuleDetails
| 字段 | 类型 | 说明 |
|---|---|---|
reference |
字符串 | 对 VPC 防火墙规则的引用;格式:network:{network name}/firewall:{VPC firewall rule name}。 |
priority |
整数 | VPC 防火墙规则的优先级。 |
action |
字符串 | 应用于连接的操作。支持的值为 ALLOW
或 DENY。 |
direction |
字符串 | VPC 防火墙规则适用的方向
(ingress 或 egress)。 |
source_range[ ] |
字符串 | VPC 防火墙规则适用的来源范围列表。 |
destination_range[ ] |
字符串 | VPC 防火墙规则适用的目的地范围列表。 |
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 外部,则适用。 |