如需在网络中启用提供方服务,您必须设置提供方服务,例如镜像部署组和镜像部署。 本文档简要介绍了配置这些组件的工作流。
准备工作
- 登录您的 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 目录。
配置提供方计算资源
如需在网络中配置提供方计算资源,请执行以下任务:
创建包含提供方部署组和部署的 Virtual Private Cloud (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 公开后端服务的每个可用区中创建镜像部署 。这些是您在上一步中创建的相同后端服务。 如需了解详情,请参阅 创建和管理镜像部署。
默认情况下,镜像部署组和镜像部署会受到保护,以防来自未知使用方的流量。 如需允许使用方附加到镜像部署组,请确保您在提供方的项目上拥有 Mirroring Deployment Admin 角色 (
networksecurity.mirroringDeploymentGroups.use)。当您拥有 Mirroring Deployment Admin 角色时,系统默认会包含 Mirroring Deployment User 角色 (roles/networksecurity.mirroringDeploymentUser)。