本页面介绍如何使用 控制台、Google Cloud CLI 或 Terraform 配置防火墙端点,并将其与 Virtual Private Cloud (VPC) 网络相关联。Google Cloud
您可以在可用区级层创建防火墙端点,然后将其与同一可用区中的一个或多个 VPC 网络关联。如果在与 VPC 网络关联的防火墙政策中启用了第 7 层检查,匹配的流量将被透明地拦截并转发到防火墙端点。
您可以创建支持或不支持巨型帧的防火墙端点。如需了解防火墙端点支持的数据包大小,请参阅 支持的数据包大小。
准备工作
在配置防火墙端点和关联之前,请完成以下操作:
- 确保您拥有 VPC 网络 和子网。
- 启用所需的 API:
- 您项目中的 Compute Engine API (Compute Engine API) Google Cloud
- Network Security API 您要用于结算的 Google Cloud 项目。
- Certificate Authority Service API 在您的 Google Cloud 项目中。
- 如果您要运行
gcloud命令行示例,请安装 gcloud CLI。
角色与权限
如需获得创建防火墙端点所需的权限,请让您的管理员向您授予必要的 Identity and Access Management (IAM) 角色,以便您在组织或项目中执行此操作。如需了解详情,请参阅 管理访问权限。
如需检查本页面中列出的操作的进度,请确保
您的用户账号具有
Compute Network User
(roles/compute.networkUser) 角色,该角色包含以下权限:
networksecurity.operations.getnetworksecurity.operations.list
配额
如需查看防火墙端点和关联的配额,请参阅 配额和限制。
创建防火墙端点
在特定可用区中创建防火墙端点。
组织级端点
您可以在组织级层创建防火墙端点。这些端点仅支持组织级安全配置文件组。
控制台
在 Google Cloud 控制台中,前往 防火墙端点 页面。
在项目选择器菜单中,选择您的组织。
点击创建。
在区域列表中,选择要创建防火墙端点的区域。
在可用区列表中,选择要创建防火墙端点的可用区。
在名称字段中输入名称。
在结算项目 列表中,选择要用于 结算防火墙端点 Google Cloud 的项目。
点击继续 。
如果您希望端点支持巨型帧,请选中启用巨型帧支持 复选框;否则,请取消选中此复选框。
点击继续 。
如果您要添加防火墙端点关联, 请点击 添加端点关联;否则,请跳过此步骤。
- 在项目 列表中,选择要创建防火墙端点关联的 Google Cloud 项目 。
- 如果未为 项目 Google Cloud 启用 Compute Engine API 或 Network Security API,请点击启用。
- 在网络 列表中,选择要与防火墙端点关联的网络。
- 在 TLS 检查政策列表中,选择要添加到此关联的 TLS 检查政策。
- 如需添加其他关联,请点击添加端点关联 。
点击创建。
gcloud
如需创建防火墙端点,请使用 gcloud network-security
firewall-endpoints create
命令:
gcloud network-security firewall-endpoints create NAME \
--organization ORGANIZATION_ID \
--zone ZONE \
--enable-jumbo-frames \
--billing-project BILLING_PROJECT_ID
替换以下内容:
NAME:防火墙端点的名称。ORGANIZATION_ID:激活端点的组织。ZONE:激活端点的可用区。BILLING_PROJECT_ID:用于防火墙端点结算的 Google Cloud 项目 ID。
如需创建支持大小不超过 8,500 字节的巨型帧的防火墙端点,请使用可选的 --enable-jumbo-frames
标志。如需创建不支持巨型帧的端点,请跳过此标志。如需了解防火墙端点支持的数据包大小,请参阅
支持的数据包大小。
如需将防火墙端点与 VPC 网络关联,请参阅 创建防火墙端点 关联。
Terraform
使用 google_network_security_firewall_endpoint Terraform 资源。
resource "google_network_security_firewall_endpoint" "default" {
name = "my-firewall-endpoint"
parent = "organizations/123456789"
location = "us-central1-a"
billing_project_id = "my-project-name"
enable_jumbo_frames = true
}
如需创建支持大小不超过 8,500 字节的巨型帧的防火墙端点,请将 enable_jumbo_frames 字段设置为
true。如需创建不支持巨型帧的防火墙端点,请将此字段设置为
false。如需了解防火墙端点支持的数据包大小,请参阅
支持的数据包大小。
如需了解如何应用或移除 Terraform 配置,请参阅 基本 Terraform 命令。
项目级端点
您可以在项目级层创建防火墙端点。这些端点同时支持组织级和项目级安全配置文件组。
gcloud
如需创建防火墙端点,请使用 gcloud beta network-security
firewall-endpoints create
命令:
gcloud beta network-security firewall-endpoints create NAME \
--project PROJECT_ID \
--zone ZONE \
--enable-jumbo-frames
替换以下内容:
NAME:防火墙端点的名称。PROJECT_ID:激活端点的项目。ZONE:激活端点的可用区。
如需创建支持大小不超过 8,500 字节的巨型帧的防火墙端点,请使用可选的 --enable-jumbo-frames
标志。如需创建不支持巨型帧的端点,请跳过此标志。如需了解防火墙端点支持的数据包大小,请参阅
支持的数据包大小。
如需将防火墙端点与 VPC 网络关联,请参阅 创建防火墙端点 关联。
创建防火墙端点关联
防火墙端点关联可将防火墙端点与特定可用区中的 VPC 网络相关联。此关联可确保防火墙端点检查与该可用区中关联的网络匹配的拦截规则的流量。
在创建关联之前,请确保您拥有一个防火墙端点 。
关联要求
配置端点关联时,请遵循以下要求:
- 可用区限制 :您必须在与防火墙端点相同的可用区中创建关联。如需有效检查流量,请在部署计算实例的可用区中创建关联。
- 每个可用区一个端点:在单个可用区中,您只能将 VPC 网络与一个防火墙端点 (项目级(预览版) 或组织级)相关联。不过,您可以将单个 VPC 网络与多个不同可用区中的不同防火墙端点相关联。
- 跨项目关联 :您可以将 VPC
网络与单独项目中的防火墙端点相关联。
- 如果您使用项目级端点 (预览版),则端点的项目 必须与 VPC 网络位于同一组织中。
- 资源映射 :关联是项目级资源。即使关联指向组织级防火墙端点,您也需要在部署计算实例的特定项目内创建关联。
支持巨型帧的防火墙端点只能接受大小不超过 8,500 字节的数据包。或者,不支持巨型帧的防火墙端点只能接受大小不超过 1,460 字节的数据包。如果您需要网址过滤服务或入侵检测和防护服务,建议您将关联的 VPC 网络配置为使用 最大传输单元 (MTU)限制 8,500 字节和 1,460 字节。如需了解详情,请参阅 支持的数据包大小。
控制台
在 Google Cloud 控制台中,前往 防火墙端点 页面。
在项目选择器菜单中,选择您的 Google Cloud 项目。
点击创建端点关联 。
在区域列表中,选择要创建防火墙端点关联的区域。
在可用区列表中,选择要创建防火墙端点关联的可用区。
在防火墙端点 列表中,选择要添加到关联的防火墙端点。
在网络 列表中,选择要添加到关联的网络。
在 TLS 检查政策 列表中,选择要添加到此关联的 TLS 检查政策。
点击创建 。
gcloud
如需创建防火墙端点关联,请使用
gcloud network-security firewall-endpoint-associations create 命令。
组织级防火墙端点
gcloud network-security firewall-endpoint-associations \
create NAME \
--endpoint organizations/ORGANIZATION_ID/locations/ZONE/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
--network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
--zone ZONE \
--project PROJECT_ID \
[ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]
项目级防火墙端点
gcloud beta network-security firewall-endpoint-associations \
create NAME \
--endpoint projects/ENDPOINT_PROJECT_ID/locations/ZONE/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
--network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
--zone ZONE \
--project PROJECT_ID \
[ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]
替换以下内容:
NAME:防火墙端点关联的名称。ORGANIZATION_ID:在其中创建组织级防火墙端点的组织的标识符。ENDPOINT_PROJECT_ID:在其中创建项目级防火墙端点的项目 ID。 Google CloudZONE:防火墙端点的可用区。FIREWALL_ENDPOINT_NAME:防火墙端点的名称。PROJECT_NAME:网络的 Google Cloud 项目名称。NETWORK_NAME:网络的名称。PROJECT_ID:在其中创建关联的项目 ID。 Google Cloud 这应该是您要拦截流量的项目。TLS_PROJECT_NAME:TLS 检查政策的项目名称。 Google CloudREGION_NAME:TLS 检查政策的区域名称。TLS_POLICY_NAME:TLS 检查政策的名称。此政策用于对指定网络上的加密流量进行 TLS 检查。这是一个可选参数。