如需在网络中启用提供方服务,您必须设置提供方服务,例如镜像部署群组和镜像部署。本文档简要介绍配置这些组件的工作流。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud新手,请 创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 确保您在项目中拥有以下 Identity and Access Management (IAM) 角色:
- Compute
Network Admin 角色 (
roles/compute.networkAdmin) - Mirroring Deployment Admin 角色 (
roles/networksecurity.mirroringDeploymentAdmin)
- Compute
Network Admin 角色 (
启用 Compute Engine 和 Network Security API(如果尚未启用)。
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获取此权限。 了解如何授予角色。- 请务必安装 Google Cloud CLI。如需了解该工具的概念性信息和安装信息,请参阅 gcloud CLI 概览。
注意:如果您之前未运行过 Google Cloud CLI,请运行
gcloud init命令来初始化 gcloud CLI 目录:
配置生产者计算资源
如需在网络中配置生产者计算资源,请执行以下任务:
创建包含生产者部署组和部署的虚拟私有云 (VPC) 网络。如需了解详情,请参阅创建网络。
创建实例模板,并为第三方设备指定机器类型、启动磁盘映像、VPC 网络和其他属性。然后,您可以使用该实例模板创建托管式实例组。如需了解详情,请参阅创建实例模板。
创建托管式实例组 (MIG),并在特定可用区中的多个相同虚拟机上部署第三方设备。如需了解详情,请参阅在单个可用区中创建 MIG。
使用您在上一步中创建的第三方设备实例组创建后端服务。
如需使用内部直通式网络负载均衡器创建后端服务,请按以下步骤操作:
创建后端服务,并将协议设置为
UDP。 如需了解详情,请参阅为数据包镜像创建内部负载均衡器。将虚拟机实例组添加到后端服务。 创建内部直通式网络负载均衡器需要后端服务。如需了解详情,请参阅将代管式实例组添加到后端服务。
为后端服务创建内部转发规则,以转发源自使用方 VPC 网络的镜像流量。如需了解详情,请参阅为数据包镜像创建内部负载均衡器。
在网络防火墙政策中创建一条入站流量防火墙规则,以允许从提供方子网网关地址或本地子网范围到虚拟机的端口 6081 上的 UDP 流量。提供方防火墙不需要使用方 IP 范围。如需了解详情,请参阅创建全球网络防火墙规则。
为数据包镜像创建内部负载均衡器
如需启用数据包镜像,您需要一个可以作为数据包镜像生产者的内部直通网络负载均衡器。内部直通式网络负载均衡器必须满足以下要求:
- 创建规则时,内部直通网络负载均衡器的转发规则必须启用数据包镜像。创建规则后,此状态便无法更改。虽然转发规则仅接受 IPv4 流量,但经过 Geneve 封装的镜像流量可以是 IPv4 或 IPv6。
- 内部直通式网络负载均衡器和您要镜像的实例必须位于同一区域。
- 内部直通式网络负载均衡器的后端服务使用
NONE(5 元组哈希)的会话亲和性。 - 内部直通式网络负载均衡器的后端服务的后端子集化已停用。
如果您的生产者实例未设置为响应为后端服务配置的健康检查,则健康检查可能会失败。不过,在这种情况下,数据包镜像会继续进行。
如需为数据包镜像创建内部直通式网络负载均衡器,请按以下步骤操作。
控制台
开始配置
在 Google Cloud 控制台中,前往负载均衡页面。
- 点击创建负载均衡器。
- 对于负载均衡器的类型,选择网络负载均衡器 (TCP/UDP/SSL),然后点击下一步。
- 对于代理或直通,选择直通式负载均衡器,然后点击下一步。
- 在公共或内部字段中,选择内部,然后点击下一步。
- 点击配置。
基本配置
在创建内部直通式网络负载均衡器页面上,输入以下信息:
- 在负载均衡器名称部分,输入名称。
- 对于区域,请选择您要镜像数据包的虚拟机实例所在的区域。
- 在网络部分,选择要创建数据包镜像的网络。
配置后端
- 点击后端配置。
- 对于后端类型,选择实例组。
- 在协议列表中,选择 UDP。
- 在新建后端部分,从实例组列表中选择要将数据包转发到的实例组。
在新建后端部分中,执行以下操作:
- 选择 IP 栈类型。
- 从实例组列表中,选择要将数据包转发到的实例组。
- 点击完成。
请注意,当您使用 Google Cloud 控制台创建负载均衡器时,健康检查是全球性的。如果要创建区域级健康检查,请使用
gcloud或 API。
配置前端
- 在创建内部直通式网络负载均衡器页面上,点击前端配置。
- 在新建前端 IP 和端口部分,执行以下操作:
- 在名称部分,输入名称。
- 对于子网,请选择与要创建镜像的实例位于同一区域的子网。
- 对于端口,选择单个,然后在端口号中输入
6081。 - 点击高级配置,然后选择为此负载均衡器启用数据包镜像。
- 点击完成。
检查配置
- 在创建内部直通式网络负载均衡器页面上,点击检查并最终确定。
- 查看负载均衡器配置设置。
- 点击创建。
gcloud
创建新的区域级 HTTP 健康检查,以测试实例组的 HTTP 连接:
gcloud compute health-checks create http HEALTH_CHECK_NAME \ --region REGION \ --port PORT替换以下内容:
HEALTH_CHECK_NAME:健康检查的名称。REGION:要为其镜像数据包的虚拟机实例所在的区域。PORT:健康检查所监控的端口号。如果未指定,则使用80的默认端口。
为 HTTP 流量创建后端服务:
gcloud compute backend-services create COLLECTOR_BACKEND_SERVICE \ --region=REGION \ --health-checks-region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --load-balancing-scheme=internal \ --protocol=udp请替换以下内容:
COLLECTOR_BACKEND_SERVICE:后端服务的名称。REGION:要在其中镜像数据包的虚拟机实例所在的区域。HEALTH_CHECK_NAME:健康检查的名称。
将实例组添加到后端服务:
gcloud compute backend-services add-backend COLLECTOR_BACKEND_SERVICE \ --region=REGION \ --instance-group=INSTANCE_GROUP \ --instance-group-zone=ZONE请替换以下内容:
COLLECTOR_BACKEND_SERVICE:后端服务的名称。REGION:实例组所在的区域。INSTANCE_GROUP:实例组的名称。ZONE:实例组所在的可用区。
为后端服务创建转发规则:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --region REGION \ --load-balancing-scheme=internal \ --network NETWORK \ --subnet SUBNET \ --address=ADDRESS \ --ports=6081 \ --ip-protocol=UDP \ --backend-service COLLECTOR_BACKEND_SERVICE \ --backend-service-region BACKEND_REGION \ --is-mirroring-collector请替换以下内容:
FORWARDING_RULE_NAME:转发规则的名称。REGION:转发规则的区域。NETWORK:转发规则的网络。SUBNET:要在其中镜像数据包的虚拟机所在区域中的子网。ADDRESS:转发规则传送的 IP 地址。当镜像流量到达收集器虚拟机时,此值会设置为目标 IP 地址。COLLECTOR_BACKEND_SERVICE:负载均衡器的后端服务。BACKEND_REGION:后端服务的区域。
配置提供方镜像资源
如需配置提供方镜像资源(例如网络中的镜像部署组和镜像部署),请执行以下操作:
创建镜像部署组,以表示使用方可以连接到的提供方的镜像服务。如需了解详情,请参阅创建和管理镜像部署组。
在您希望通过 Network Security Integration 公开后端服务的每个可用区中,创建镜像部署。这些是您在上一步中创建的同一后端服务。如需了解详情,请参阅创建和管理镜像部署。
默认情况下,镜像部署组和镜像部署会受到保护,免受来自未知消费者的流量的侵害。 如需允许使用方附加到镜像部署组,请确保您在提供方的项目上拥有“镜像部署管理员”角色 (
networksecurity.mirroringDeploymentGroups.use)。如果您拥有“镜像部署管理员”角色,系统默认会授予您“镜像部署用户”角色 (roles/networksecurity.mirroringDeploymentUser)。