配置 VPC 流日志
本页面介绍了如何配置 VPC 流日志。本页面假定您熟悉 VPC 流日志和关于 VPC 流日志记录中所述的概念。
准备工作
请至少配置以下一项:
建议:借助 Network Management API,您可以为组织、虚拟私有云 (VPC) 网络、子网、Cloud Interconnect 的 VLAN 连接和 Cloud VPN 隧道配置 VPC 流日志。如需使用 Network Management API,请执行以下操作:
在 Google Cloud 项目中启用 Network Management API。
确保您按如下所示被授予 Network Management Admin 角色 (
roles/networkmanagement.admin):- 组织级(如果您想为组织配置 VPC 流日志,则需要此级别)
- 项目级(如果您想为 VPC 网络、子网、VLAN 连接或 Cloud VPN 隧道配置 VPC 流日志,则需要此级别)
此外,如果您想为组织配置 VPC 流日志,请确保您拥有
resourcemanager.organizations.get权限。
借助 Compute Engine API,您可以仅为子网配置 VPC 流日志。使用 Compute Engine API 创建的配置无法通过 Network Management API 进行管理。如需使用 Compute Engine API,请执行以下操作:
在 Google Cloud 项目中启用 Compute Engine API。
确保您拥有项目的以下角色之一:
- Compute Admin 角色 (
roles/compute.admin) - Compute Network Admin 角色 (
roles/compute.networkAdmin)
- Compute Admin 角色 (
如需详细了解使用哪个 API 为子网启用 VPC 流日志,请参阅选择如何为子网启用 VPC 流日志。
设置 Google Cloud CLI
如果您不打算使用 gcloud CLI 配置 VPC 流日志,请跳过此步骤。
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
启用 VPC 流日志
您可以通过创建 VPC 流日志配置来为资源启用 VPC 流日志。VPC 流日志允许您在组织级和项目级创建配置:
- 组织级配置可为组织中所有 VPC 网络中的所有子网、VLAN 连接和 Cloud VPN 隧道启用流日志。
- 项目级配置使您可以为以下资源启用流日志:
- 特定 VPC 网络,包括该网络中的所有子网、VLAN 连接和 Cloud VPN 隧道
- 特定子网、VLAN 连接或 Cloud VPN 隧道
您可以对每个资源添加多个 VPC 流日志配置。每个配置都会生成一组单独的流日志。如果您将某个资源与多个 VPC 流日志配置相关联,并且其范围有重叠,则日志记录信息可能会包含重复的日志。
您还可以修改向日志记录写入的信息量。如需详细了解您可以控制的参数,请参阅日志采样和处理。
为子网启用 VPC 流日志
为子网启用 VPC 流日志时,您会为子网中的所有虚拟机启用日志记录。
选择如何为子网启用 VPC 流日志
您可以使用 Network Management API 或 Compute Engine API 为子网启用 VPC 流日志。由于 Network Management API 提供了更多用于启用 VPC 流日志的选项,因此我们建议您使用 Network Management API。
Network Management API 提供的功能与 Compute Engine API 相当,Compute Engine API 中可用于为子网配置 VPC 流日志的所有选项在 Network Management API 中均受支持。
对于由 Compute Engine API 管理的现有 VPC 流日志配置,请注意以下事项:
- 如需将配置迁移到 Network Management API,您可以使用以下任一方法:
- 您可以使用 Network Management API 创建 VPC 流日志配置的副本,然后删除原始配置。如需了解详情,请参阅为子网启用 VPC 流日志 (Network Management API)和为子网停用 VPC 流日志。
- 为简化 VPC 流日志配置管理,您可以选择整合现有的 Compute Engine API 管理的配置。例如,您可以为包含子网的 VPC 网络或组织创建配置,然后删除原始配置,而不是为每个子网创建单独的配置。 如需了解详情,请参阅受支持的配置。
- 与 Compute Engine API 不同,Network Management API 不会为子网设置
enableFlowLogs或logConfig.enable字段。如果您使用的第三方工具依赖于这些字段,则可以执行以下任一操作:- 使用 Network Management API 的
showEffectiveFlowLogsConfigs方法查看特定子网的所有配置。如需了解详情,请参阅 API 标签页中的查看资源的所有配置。 - 按照为子网启用 VPC 流日志 (Compute Engine API) 中所述,继续使用 Compute Engine API 为子网配置 VPC 流日志。
- 使用 Network Management API 的
为子网启用 VPC 流日志 (Network Management API)
本部分介绍如何了使用 Network Management API 为子网启用 VPC 流日志(建议)。
控制台
在 Google Cloud 控制台中,前往 VPC 网络页面。
在当前项目中的子网标签页中,选择一个或多个子网,然后点击 管理流日志。
在 管理流日志中,点击添加新配置。
执行下列其中一项操作:
- 如果您选择了一个子网,请在配置 - 子网部分中点击添加配置。
- 如果您选择了多个子网,请在配置 VPC 流日志部分中选择 Network Management API。
在名称字段中,为新的 VPC 流日志配置输入名称。
可选:调整汇总时间间隔以及高级设置部分中的任意设置:
- 是否配置日志过滤。默认情况下,仅保留与过滤条件匹配的日志处于取消选中状态。
- 是否在最终日志条目中包含元数据。默认情况下,元数据注解包括所有字段。
- 次要采样率。
100%表示系统会保留主要流日志采样流程生成的所有条目。您无法配置主要流日志采样率。如需了解详情,请参阅日志采样和处理。
点击保存。
gcloud
如需为子网启用 VPC 流日志,请使用 gcloud network-management vpc-flow-logs-configs create 命令。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
在 gcloud CLI 中,将项目设置为子网的 Google Cloud 项目 ID,然后运行以下命令之一:
如需创建默认 VPC 流日志配置,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --subnet=SUBNET如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总时间间隔、过滤、次要采样率和元数据参数,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --subnet=SUBNET \ --aggregation-interval=AGGREGATION_INTERVAL \ --filter-expr=FILTER_EXPRESSION \ --flow-sampling=SAMPLING_RATE \ --metadata=LOGGING_METADATA替换以下内容:
CONFIG_NAME:配置的名称。SUBNET:您要进行日志记录的子网。必须采用以下格式指定:"projects/PROJECT_ID/regions/REGION/subnetworks/NAME",其中:PROJECT_ID是包含子网的 Google Cloud 项目的 ID。您必须在此项目中创建配置。REGION是子网的区域。NAME是子网的名称。
如需在自定义配置中设置可选参数,请替换以下内容:
-
AGGREGATION_INTERVAL:此配置生成的流日志的汇总间隔。此参数可以设置为interval-5-sec(默认值)、interval-30-sec、interval-1-min、interval-5-min、interval-10-min或interval-15-min。 -
FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。 如需了解详情,请参阅日志过滤和日志过滤条件示例。 -
SAMPLING_RATE:次要流采样率。此参数可以设置为从大于0.0到1.0(所有日志,默认值)。如需了解详情,请参阅日志采样和处理。 -
LOGGING_METADATA:您要包含在日志中的元数据注解:- 使用
include-all-metadata可以包含所有元数据注解(默认值)。 - 使用
exclude-all-metadata可以排除所有元数据注解。 - 使用
custom-metadata可以包含自定义元数据字段列表。如需指定元数据字段,请使用--metadata-fields标志:--metadata-fields=METADATA_FIELDS:将METADATA_FIELDS替换为您要包含在日志中的元数据字段的英文逗号分隔列表。例如src_instance,dst_instance。只有当metadata设置为custom-metadata时才能设置此项。
- 使用
API
如需为子网启用 VPC 流日志,请使用 projects.locations.vpcFlowLogsConfigs.create 方法。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
如需创建默认 VPC 流日志配置,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"subnet": "SUBNET"
}
如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总间隔、过滤、次要采样率和元数据参数,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"subnet": "SUBNET",
"aggregationInterval": "AGGREGATION_INTERVAL",
"filterExpr": "FILTER_EXPRESSION",
"flowSampling": SAMPLING_RATE,
"metadata": "LOGGING_METADATA"
}
替换以下内容:
PROJECT_ID:子网的 Google Cloud 项目 ID。CONFIG_NAME:配置的名称。SUBNET:您要进行日志记录的子网。必须采用以下格式指定:projects/PROJECT_ID/regions/REGION/subnetworks/NAME,其中:PROJECT_ID是子网的项目 ID。REGION是子网的区域。NAME是子网的名称。
-
AGGREGATION_INTERVAL:此配置生成的流日志的汇总间隔。此参数可以设置为INTERVAL_5_SEC(默认值)、INTERVAL_30_SEC、INTERVAL_1_MIN、INTERVAL_5_MIN、INTERVAL_10_MIN或INTERVAL_15_MIN。 -
FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。 如需了解详情,请参阅日志过滤。 -
SAMPLING_RATE:次要流采样率。此参数可以设置为从大于0.0到1.0(所有日志,默认值)。如需了解详情,请参阅日志采样和处理。 -
LOGGING_METADATA:您要包含在日志中的元数据注解:- 使用
INCLUDE_ALL_METADATA可以包含所有元数据注解(默认值)。 - 使用
EXCLUDE_ALL_METADATA可以排除所有元数据注解。 - 使用
CUSTOM_METADATA可以包含自定义元数据字段列表。如需指定元数据字段,请使用metadataFields参数:metadataFields: METADATA_FIELDS:将METADATA_FIELDS替换为您要包含在日志中的元数据字段的英文逗号分隔列表。例如src_instance,dst_instance。 只有当metadata设置为CUSTOM_METADATA时才能设置此项。
- 使用
为子网启用 VPC 流日志 (Compute Engine API)
本部分介绍了如何使用 Compute Engine API 为子网启用 VPC 流日志。您可以在创建子网时启用 VPC 流日志,也可以为现有子网启用 VPC 流日志。
建议您使用 Network Management API 为子网启用 VPC 流日志。
在创建新子网时启用 VPC 流日志
控制台
gcloud
运行以下命令:
gcloud compute networks subnets create SUBNET_NAME \
--enable-flow-logs \
[--logging-aggregation-interval=AGGREGATION_INTERVAL] \
[--logging-flow-sampling=SAMPLING_RATE] \
[--logging-filter-expr=FILTER_EXPRESSION] \
[--logging-metadata=LOGGING_METADATA] \
[--logging-metadata-fields=METADATA_FIELDS] \
[other flags as needed]
替换以下内容:
AGGREGATION_INTERVAL:该子网中流日志的汇总时间间隔。该时间间隔可以设置为以下任何值:5 秒(默认)、30 秒、1 分钟、5 分钟、10 分钟或 15 分钟。SAMPLING_RATE:次要流采样率。次要流采样的范围可以设置为从0.0(不采样)到1.0(所有日志)。默认值为0.5。 如需了解详情,请参阅日志采样和处理。FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。如需了解详情,请参阅日志过滤和日志过滤条件示例。LOGGING_METADATA:您希望包括在日志中的元数据注释:- 使用
include-all可以包含所有元数据注解。 - 使用
exclude-all可以排除所有元数据注解(默认)。 - 使用
custom可以包括您在METADATA_FIELDS中指定的元数据字段的自定义列表。
- 使用
METADATA_FIELDS:您希望包括在日志中的元数据字段的逗号分隔列表。例如src_instance,dst_instance。只有当LOGGING_METADATA设置为custom时才能设置此项。
API
在创建新子网时启用 VPC 流日志。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
"logConfig": {
"aggregationInterval": "AGGREGATION_INTERVAL",
"flowSampling": SAMPLING_RATE,
"filterExpr": EXPRESSION,
"metadata": METADATA_SETTING,
"metadataFields": METADATA_FIELDS,
"enable": true
},
"ipCidrRange": "IP_RANGE",
"network": "NETWORK_URL",
"name": "SUBNET_NAME"
}
请替换以下内容:
PROJECT_ID:将创建子网的项目的 ID。REGION:要在其中创建子网的区域。AGGREGATION_INTERVAL设置该子网中流日志的汇总时间间隔。此时间间隔可以设置为以下任何值:INTERVAL_5_SEC、INTERVAL_30_SEC、INTERVAL_1_MIN、INTERVAL_5_MIN、INTERVAL_10_MIN或INTERVAL_15_MIN。SAMPLING_RATE:流采样率。流采样的范围可以设置为从0.0(不采样)到1.0(所有日志)。 默认值为.0.5。EXPRESSION:用于过滤实际写入的日志的过滤表达式。表达式的长度上限为 2,048 个字符。如需了解详情,请参阅日志过滤。METADATA_SETTING:您希望包括在日志中的元数据注释:- 使用
INCLUDE_ALL_METADATA可以包含所有元数据注解。 - 使用
EXCLUDE_ALL_METADATA可以排除所有元数据注解(默认)。 - 使用
CUSTOM_METADATA可以包括您在METADATA_FIELDS中指定的元数据字段的自定义列表。
- 使用
METADATA_FIELDS:设置metadata: CUSTOM_METADATA后要捕获的元数据字段。这是一个以英文逗号分隔的元数据字段列表,例如src_instance, src_vpc.project_id。IP_RANGE:子网的主要内部 IP 地址范围。NETWORK_URL:在其中创建子网的 Virtual Private Cloud 网络的网址。SUBNET_NAME:子网的名称。
如需了解详情,请参阅 subnetworks.insert 方法。
Terraform
您可以使用 Terraform 模块创建自定义模式 VPC 网络和子网。
以下示例会创建三个子网,如下所示:
subnet-01停用了 VPC 流日志。创建子网时,VPC 流日志会被停用,除非您明确启用。subnet-02使用默认流日志设置启用了 VPC 流日志。subnet-03启用了 VPC 流日志,并进行了一些自定义设置。
如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
为现有子网启用 VPC 流日志
控制台
在 Google Cloud 控制台中,前往 VPC 网络页面。
在当前项目中的子网标签页中,选择一个或多个子网,然后点击 管理流日志。
在 管理流日志中,点击添加新配置。
执行下列其中一项操作:
- 如果您选择了一个子网,请在配置 - 子网 (Compute Engine API) 部分中点击添加配置。
- 如果您选择了多个子网,请在配置 VPC 流日志部分中选择 Compute Engine API。
可选:调整汇总时间间隔以及高级设置部分中的以下任意设置:
- 是否配置日志过滤。默认情况下,仅保留与过滤条件匹配的日志处于取消选中状态。
- 是否在最终日志条目中包含元数据。默认情况下,元数据注解包括所有字段。
- 次要采样率。
50%表示系统会保留主要流日志采样流程生成的一半条目。您无法配置主要流日志采样率。如需了解详情,请参阅日志采样和处理。
点击保存。
gcloud
运行以下命令:
gcloud compute networks subnets update SUBNET_NAME \
--enable-flow-logs \
[--logging-aggregation-interval=AGGREGATION_INTERVAL] \
[--logging-flow-sampling=SAMPLING_RATE] \
[--logging-filter-expr=FILTER_EXPRESSION] \
[--logging-metadata=LOGGING_METADATA] \
[--logging-metadata-fields=METADATA_FIELDS] \
[other flags as needed]
替换以下内容:
AGGREGATION_INTERVAL:该子网中流日志的汇总时间间隔。该时间间隔可以设置为以下任何值:5 秒(默认)、30 秒、1 分钟、5 分钟、10 分钟或 15 分钟。SAMPLING_RATE:次要流采样率。次要流采样的范围可以设置为从0.0(不采样)到1.0(所有日志)。默认值为0.5。 如需了解详情,请参阅日志采样和处理。FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。如需了解详情,请参阅日志过滤和日志过滤条件示例。LOGGING_METADATA:您希望包括在日志中的元数据注释:- 使用
include-all可以包含所有元数据注解。 - 使用
exclude-all可以排除所有元数据注解(默认)。 - 使用
custom可以包括您在METADATA_FIELDS中指定的元数据字段的自定义列表。
- 使用
METADATA_FIELDS:您希望包括在日志中的元数据字段的逗号分隔列表。例如src_instance,dst_instance。只有当LOGGING_METADATA设置为custom时才能设置此项。
API
为现有子网启用 VPC 流日志。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
"logConfig": {
"enable": true
...other logging fields.
},
"fingerprint": "SUBNET_FINGERPRINT"
}
请替换以下内容:
PROJECT_ID:子网所在项目的 ID。REGION:子网所在的区域。SUBNET_NAME:现有子网的名称。SUBNET_FINGERPRINT:现有子网的指纹 ID,由您在描述子网时提供。- 如需了解其他日志记录字段,请参阅创建子网时启用 VPC 流日志记录。
如需了解详情,请参阅 subnetworks.patch 方法。
为 VLAN 连接启用 VPC 流日志
控制台
在 Google Cloud 控制台中,前往互连页面。
在 VLAN 连接标签页中,选择一个或多个 VLAN 连接,然后点击列表顶部的选择栏中的 管理流日志。
在 管理流日志中,点击添加新配置。
在名称字段中,为新的 VPC 流日志配置输入名称。
可选:调整汇总时间间隔以及高级设置部分中的任意设置:
- 是否配置日志过滤。默认情况下,仅保留与过滤条件匹配的日志处于取消选中状态。
- 是否在最终日志条目中包含元数据。默认情况下,元数据注解包括所有字段。
- 次要采样率。
100%表示系统会保留主要流日志采样流程生成的所有条目。您无法配置主要流日志采样率。如需了解详情,请参阅日志采样和处理。
点击保存。
gcloud
如需为 VLAN 连接启用 VPC 流日志,请使用 gcloud network-management vpc-flow-logs-configs create 命令。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
在 gcloud CLI 中,将项目设置为 VLAN 连接的Google Cloud 项目 ID,然后运行以下命令之一:
如需创建默认 VPC 流日志配置,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --interconnect-attachment=VLAN_ATTACHMENT如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总时间间隔、过滤、次要采样率和元数据参数,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --interconnect-attachment=VLAN_ATTACHMENT \ --aggregation-interval=AGGREGATION_INTERVAL \ --filter-expr=FILTER_EXPRESSION \ --flow-sampling=SAMPLING_RATE \ --metadata=LOGGING_METADATA替换以下内容:
CONFIG_NAME:配置的名称。VLAN_ATTACHMENT:您要进行日志记录的 VLAN 连接。必须采用以下格式指定:"projects/PROJECT_ID/regions/REGION/interconnectAttachments/NAME",其中:PROJECT_ID是包含 VLAN 连接的 Google Cloud 项目的 ID。您必须在此项目中创建配置。REGION是 VLAN 连接所在的区域。NAME是 VLAN 连接的名称。
如需在自定义配置中设置可选参数,请替换以下内容:
-
AGGREGATION_INTERVAL:此配置生成的流日志的汇总间隔。此参数可以设置为interval-5-sec(默认值)、interval-30-sec、interval-1-min、interval-5-min、interval-10-min或interval-15-min。 -
FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。 如需了解详情,请参阅日志过滤和日志过滤条件示例。 -
SAMPLING_RATE:次要流采样率。此参数可以设置为从大于0.0到1.0(所有日志,默认值)。如需了解详情,请参阅日志采样和处理。 -
LOGGING_METADATA:您要包含在日志中的元数据注解:- 使用
include-all-metadata可以包含所有元数据注解(默认值)。 - 使用
exclude-all-metadata可以排除所有元数据注解。 - 使用
custom-metadata可以包含自定义元数据字段列表。如需指定元数据字段,请使用--metadata-fields标志:--metadata-fields=METADATA_FIELDS:将METADATA_FIELDS替换为您要包含在日志中的元数据字段的英文逗号分隔列表。例如src_instance,dst_instance。只有当metadata设置为custom-metadata时才能设置此项。
- 使用
Terraform
您可以使用 Terraform 模块为 VLAN 连接创建 VPC 流日志配置。
以下代码块会创建默认 VPC 流日志配置。
上面的示例假定 google_compute_interconnect_attachment 资源的名称为 attachment。如需查看此配置的完整示例,请参阅 terraform-docs-samples 仓库。
以下代码块会创建一个 VPC 流日志配置,其中:
- 汇总间隔设置为
INTERVAL_10_MIN。 - 次要流采样率设置为
0.7。 - 要包含在日志中的元数据设置为
INCLUDE_ALL_METADATA。 - 配置状态设置为
ENABLED。
上面的示例假定 google_compute_interconnect_attachment 资源的名称为 attachment。如需查看此配置的完整示例,请参阅 terraform-docs-samples 仓库。
如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
API
如需为 VLAN 连接启用 VPC 流日志,请使用 projects.locations.vpcFlowLogsConfigs.create 方法。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
如需创建默认 VPC 流日志配置,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"interconnectAttachment": "VLAN_ATTACHMENT"
}
如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总间隔、过滤、次要采样率和元数据参数,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"interconnectAttachment": "VLAN_ATTACHMENT",
"aggregationInterval": "AGGREGATION_INTERVAL",
"filterExpr": "FILTER_EXPRESSION",
"flowSampling": SAMPLING_RATE,
"metadata": "LOGGING_METADATA"
}
替换以下内容:
PROJECT_ID:VLAN 连接的 Google Cloud 项目 ID。CONFIG_NAME:配置的名称。VLAN_ATTACHMENT:您要进行日志记录的 VLAN 连接。必须采用以下格式指定:projects/PROJECT_ID/regions/REGION/interconnectAttachments/NAME,其中:PROJECT_ID是 VLAN 连接的项目 ID。REGION是 VLAN 连接所在的区域。NAME是 VLAN 连接的名称。
-
AGGREGATION_INTERVAL:此配置生成的流日志的汇总间隔。此参数可以设置为INTERVAL_5_SEC(默认值)、INTERVAL_30_SEC、INTERVAL_1_MIN、INTERVAL_5_MIN、INTERVAL_10_MIN或INTERVAL_15_MIN。 -
FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。 如需了解详情,请参阅日志过滤。 -
SAMPLING_RATE:次要流采样率。此参数可以设置为从大于0.0到1.0(所有日志,默认值)。如需了解详情,请参阅日志采样和处理。 -
LOGGING_METADATA:您要包含在日志中的元数据注解:- 使用
INCLUDE_ALL_METADATA可以包含所有元数据注解(默认值)。 - 使用
EXCLUDE_ALL_METADATA可以排除所有元数据注解。 - 使用
CUSTOM_METADATA可以包含自定义元数据字段列表。如需指定元数据字段,请使用metadataFields参数:metadataFields: METADATA_FIELDS:将METADATA_FIELDS替换为您要包含在日志中的元数据字段的英文逗号分隔列表。例如src_instance,dst_instance。 只有当metadata设置为CUSTOM_METADATA时才能设置此项。
- 使用
为 Cloud VPN 隧道启用 VPC 流日志
控制台
在 Google Cloud 控制台中,前往 VPN 页面。
在 Cloud VPN 隧道标签页中,选择一个或多个 Cloud VPN 隧道,然后点击列表顶部的选择栏中的 管理流日志。
在 管理流日志中,点击添加新配置。
在名称字段中,为新的 VPC 流日志配置输入名称。
可选:调整汇总时间间隔以及高级设置部分中的任意设置:
- 是否配置日志过滤。默认情况下,仅保留与过滤条件匹配的日志处于取消选中状态。
- 是否在最终日志条目中包含元数据。默认情况下,元数据注解包括所有字段。
- 次要采样率。
100%表示系统会保留主要流日志采样流程生成的所有条目。您无法配置主要流日志采样率。如需了解详情,请参阅日志采样和处理。
点击保存。
gcloud
如需为 Cloud VPN 隧道启用 VPC 流日志,请使用 gcloud network-management vpc-flow-logs-configs create 命令。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
在 gcloud CLI 中,将项目设置为 Cloud VPN 隧道的Google Cloud 项目 ID,然后运行以下命令之一:
如需创建默认 VPC 流日志配置,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --vpn-tunnel=VPN_TUNNEL如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总时间间隔、过滤、次要采样率和元数据参数,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --vpn-tunnel=VPN_TUNNEL \ --aggregation-interval=AGGREGATION_INTERVAL \ --filter-expr=FILTER_EXPRESSION \ --flow-sampling=SAMPLING_RATE \ --metadata=LOGGING_METADATA替换以下内容:
CONFIG_NAME:配置的名称。VPN_TUNNEL:您要进行日志记录的 Cloud VPN 隧道。必须采用以下格式指定:"projects/PROJECT_ID/regions/REGION/vpnTunnels/NAME",其中:PROJECT_ID是包含 Cloud VPN 隧道的 Google Cloud 项目的 ID。您必须在此项目中创建配置。REGION是 Cloud VPN 隧道所在的区域。NAME是 Cloud VPN 隧道的名称。
如需在自定义配置中设置可选参数,请替换以下内容:
-
AGGREGATION_INTERVAL:此配置生成的流日志的汇总间隔。此参数可以设置为interval-5-sec(默认值)、interval-30-sec、interval-1-min、interval-5-min、interval-10-min或interval-15-min。 -
FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。 如需了解详情,请参阅日志过滤和日志过滤条件示例。 -
SAMPLING_RATE:次要流采样率。此参数可以设置为从大于0.0到1.0(所有日志,默认值)。如需了解详情,请参阅日志采样和处理。 -
LOGGING_METADATA:您要包含在日志中的元数据注解:- 使用
include-all-metadata可以包含所有元数据注解(默认值)。 - 使用
exclude-all-metadata可以排除所有元数据注解。 - 使用
custom-metadata可以包含自定义元数据字段列表。如需指定元数据字段,请使用--metadata-fields标志:--metadata-fields=METADATA_FIELDS:将METADATA_FIELDS替换为您要包含在日志中的元数据字段的英文逗号分隔列表。例如src_instance,dst_instance。只有当metadata设置为custom-metadata时才能设置此项。
- 使用
Terraform
您可以使用 Terraform 模块为 Cloud VPN 隧道创建 VPC 流日志配置。
以下代码块会创建默认 VPC 流日志配置。
上面的示例假定 google_compute_vpn_tunnel 资源的名称为 tunnel。如需查看此配置的完整示例,请参阅 terraform-docs-samples 仓库。
以下代码块会创建一个 VPC 流日志配置,其中:
- 汇总间隔设置为
INTERVAL_10_MIN。 - 次要流采样率设置为
0.7。 - 要包含在日志中的元数据设置为
INCLUDE_ALL_METADATA。 - 配置状态设置为
ENABLED。
上面的示例假定 google_compute_vpn_tunnel 资源的名称为 tunnel。如需查看此配置的完整示例,请参阅 terraform-docs-samples 仓库。
如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
API
如需为 Cloud VPN 隧道启用 VPC 流日志,请使用 projects.locations.vpcFlowLogsConfigs.create 方法。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
如需创建默认 VPC 流日志配置,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"vpnTunnel": "VPN_TUNNEL"
}
如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总间隔、过滤、次要采样率和元数据参数,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"vpnTunnel": "VPN_TUNNEL",
"aggregationInterval": "AGGREGATION_INTERVAL",
"filterExpr": "FILTER_EXPRESSION",
"flowSampling": SAMPLING_RATE,
"metadata": "LOGGING_METADATA"
}
替换以下内容:
-
PROJECT_ID:Cloud VPN 隧道的 Google Cloud 项目 ID。 -
CONFIG_NAME:配置的名称。 -
VPN_TUNNEL:您要进行日志记录的 Cloud VPN 隧道。必须采用以下格式指定:projects/PROJECT_ID/regions/REGION/vpnTunnels/NAME,其中:PROJECT_ID是 Cloud VPN 隧道的项目 ID。REGION是 Cloud VPN 隧道所在的区域。NAME是 Cloud VPN 隧道的名称。
-
AGGREGATION_INTERVAL:此配置生成的流日志的汇总间隔。此参数可以设置为INTERVAL_5_SEC(默认值)、INTERVAL_30_SEC、INTERVAL_1_MIN、INTERVAL_5_MIN、INTERVAL_10_MIN或INTERVAL_15_MIN。 -
FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。 如需了解详情,请参阅日志过滤。 -
SAMPLING_RATE:次要流采样率。此参数可以设置为从大于0.0到1.0(所有日志,默认值)。如需了解详情,请参阅日志采样和处理。 -
LOGGING_METADATA:您要包含在日志中的元数据注解:- 使用
INCLUDE_ALL_METADATA可以包含所有元数据注解(默认值)。 - 使用
EXCLUDE_ALL_METADATA可以排除所有元数据注解。 - 使用
CUSTOM_METADATA可以包含自定义元数据字段列表。如需指定元数据字段,请使用metadataFields参数:metadataFields: METADATA_FIELDS:将METADATA_FIELDS替换为您要包含在日志中的元数据字段的英文逗号分隔列表。例如src_instance,dst_instance。 只有当metadata设置为CUSTOM_METADATA时才能设置此项。
- 使用
为 VPC 网络启用 VPC 流日志
如需为 VPC 网络中的所有子网、VLAN 连接和 Cloud VPN 隧道启用 VPC 流日志,请执行以下操作。
控制台
在 Google Cloud 控制台中,前往 VPC 网络页面。
在当前项目中的网络标签页中,选择一个或多个网络,然后点击列表顶部的 管理流日志。
在 管理流日志中,点击添加新配置。
在名称字段中,为新的 VPC 流日志配置输入名称。
可选:调整汇总时间间隔以及高级设置部分中的任意设置:
- 是否配置日志过滤。默认情况下,仅保留与过滤条件匹配的日志处于取消选中状态。
- 是否在最终日志条目中包含元数据。默认情况下,元数据注解包括所有字段。
- 次要采样率。
100%表示系统会保留主要流日志采样流程生成的所有条目。您无法配置主要流日志采样率。如需了解详情,请参阅日志采样和处理。
点击保存。
gcloud
如需为 VPC 网络启用 VPC 流日志,请使用 gcloud network-management vpc-flow-logs-configs create 命令。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
在 gcloud CLI 中,将项目设置为 VPC 网络的Google Cloud 项目 ID,然后运行以下命令之一:
如需创建默认 VPC 流日志配置,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --network=NETWORK如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总时间间隔、过滤、次要采样率和元数据参数,请运行以下命令:
gcloud network-management vpc-flow-logs-configs create CONFIG_NAME \ --location=global \ --network=NETWORK \ --aggregation-interval=AGGREGATION_INTERVAL \ --filter-expr=FILTER_EXPRESSION \ --flow-sampling=SAMPLING_RATE \ --metadata=LOGGING_METADATA替换以下内容:
CONFIG_NAME:配置的名称。NETWORK:您要进行日志记录的 VPC 网络。必须采用以下格式指定:"projects/PROJECT_ID/global/networks/NAME",其中:PROJECT_ID是包含 VPC 网络的 Google Cloud 项目的 ID。您必须在此项目中创建配置。NAME是 VPC 网络的名称。
如需在自定义配置中设置可选参数,请替换以下内容:
-
AGGREGATION_INTERVAL:此配置生成的流日志的汇总间隔。此参数可以设置为interval-5-sec(默认值)、interval-30-sec、interval-1-min、interval-5-min、interval-10-min或interval-15-min。 -
FILTER_EXPRESSION:定义要保留的日志的表达式。表达式的长度上限为 2,048 个字符。 如需了解详情,请参阅日志过滤和日志过滤条件示例。 -
SAMPLING_RATE:次要流采样率。此参数可以设置为从大于0.0到1.0(所有日志,默认值)。如需了解详情,请参阅日志采样和处理。 -
LOGGING_METADATA:您要包含在日志中的元数据注解:- 使用
include-all-metadata可以包含所有元数据注解(默认值)。 - 使用
exclude-all-metadata可以排除所有元数据注解。 - 使用
custom-metadata可以包含自定义元数据字段列表。如需指定元数据字段,请使用--metadata-fields标志:--metadata-fields=METADATA_FIELDS:将METADATA_FIELDS替换为您要包含在日志中的元数据字段的英文逗号分隔列表。例如src_instance,dst_instance。只有当metadata设置为custom-metadata时才能设置此项。
- 使用
API
如需为 VPC 网络启用 VPC 流日志,请使用 projects.locations.vpcFlowLogsConfigs.create 方法。
您可以通过创建 VPC 流日志配置来启用 VPC 流日志。您可以在创建配置时将其所有参数设置为默认值,也可以自定义默认值。
如需创建默认 VPC 流日志配置,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"network": "NETWORK"
}
如需创建自定义 VPC 流日志配置,请指定您要自定义的每个参数。
例如,如需在创建 VPC 流日志配置时自定义汇总间隔、过滤、次要采样率和元数据参数,请在 API 请求中添加以下参数:
POST https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/vpcFlowLogsConfigs?vpc_flow_logs_config_id=CONFIG_NAME
{
"network": "NETWORK",
"aggregationInterval": "AGGREGATION_INTERVAL",
"filterExpr": "FILTER_EXPRESSION",
"flowSampling": SAMPLING_RATE,
"metadata": "LOGGING_METADATA"
}
替换以下内容: