设置提供方服务

如需在网络中启用提供方服务,您必须设置提供方服务,例如镜像部署组和镜像部署。 本文档简要介绍了配置这些组件的工作流。

准备工作

  1. 登录您的 Google Cloud 账号。如果您是新手 Google Cloud, 请创建一个账号来评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 确保您在项目中拥有以下 Identity and Access Management (IAM) 角色:
    • Compute Network Admin 角色 (roles/compute.networkAdmin)
    • Mirroring Deployment Admin 角色 (roles/networksecurity.mirroringDeploymentAdmin)
  7. 启用 Compute Engine 和 Network Security API。

    启用 API 所需的角色

    如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则您可能已通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色

    启用 API

  8. 请务必安装 Google Cloud CLI。如需了解该工具的概念性信息和安装信息, 请参阅 gcloud CLI 概览

    注意:如果您之前未运行过 Google Cloud CLI,请运行 gcloud init 命令来初始化 gcloud CLI 目录。

配置提供方计算资源

如需在网络中配置提供方计算资源,请执行以下任务:

  1. 创建包含提供方部署组和部署的 Virtual Private Cloud (VPC) 网络。如需了解详情,请参阅 创建网络

  2. 创建实例模板,并为第三方设备指定机器类型、启动磁盘映像、VPC 网络和其他属性。然后,您可以使用实例模板来创建托管实例组。如需了解详情, 请参阅创建实例模板

  3. 创建托管实例组 (MIG) 并在特定可用区中的多个相同虚拟机上部署第三方设备。如需了解详情,请参阅 在单个可用区中创建 MIG

  4. 创建健康检查,以监控 负载均衡器后端 是否响应流量。 如需了解详情, 请参阅创建健康检查

  5. 使用您在上一步中创建的第三方设备实例组创建后端服务。

    如需使用内部直通式网络负载平衡器创建后端服务,请按以下步骤操作:

    1. 创建后端服务,并将协议设置为 UDP。 如需了解详情,请参阅 为数据包镜像创建内部负载均衡器

    2. 将虚拟机实例组添加到后端服务。 创建内部直通式网络负载平衡器需要后端服务。如需了解详情,请参阅将代管式实例组添加到后端服务

    3. 为后端服务创建内部转发规则,以转发源自使用方 VPC 网络的镜像流量。如需了解详情,请参阅 为数据包镜像创建内部负载均衡器

    4. 在网络防火墙政策中创建入站防火墙规则,以允许从提供方子网网关地址或本地子网范围到虚拟机的端口 6081 上的 UDP 流量。提供方防火墙不需要使用方 IP 范围。如需了解更多 信息,请参阅创建全球网络防火墙 规则

为数据包镜像创建内部负载均衡器

如需启用数据包镜像,您需要一个内部直通式网络负载平衡器 ,它可以作为数据包镜像提供方。内部直通式网络负载平衡器必须满足以下要求:

  • 创建规则时,内部直通网络负载平衡器的转发规则必须启用数据包镜像。创建规则后,此状态便无法更改。虽然转发规则仅接受 IPv4 流量,但 Geneve 封装的镜像流量可以是 IPv4 或 IPv6。
  • 内部直通式网络负载平衡器和您要镜像的实例必须位于同一区域。
  • 内部直通式网络负载平衡器的后端服务使用 会话亲和性NONE(5 元组哈希)。
  • 内部直通式网络负载平衡器的后端服务的后端子集化 已停用。

如果您的提供方实例未设置为响应为后端服务配置的健康检查,则健康检查可能会失败。 不过,在这种情况下,数据包镜像会继续进行。

如需为数据包镜像创建内部直通式网络负载平衡器,请按以下步骤操作。

控制台

开始配置

  1. 在 Google Cloud 控制台中,前往负载均衡页面。

    转到“负载均衡”

  2. 点击创建负载均衡器
  3. 对于负载均衡器的类型,选择网络负载均衡器 (TCP/UDP/SSL),然后点击下一步
  4. 对于代理或直通,选择直通式负载均衡器,然后点击下一步
  5. 公共或内部字段中,选择内部,然后点击下一步
  6. 点击配置

基本配置

  1. 创建内部直通网络负载平衡器 页面上,输入以下信息:

    1. 负载平衡器名称部分,输入名称。
    2. 对于区域 ,请选择您 要镜像数据包的虚拟机实例所在的区域。
    3. 网络部分,选择要创建数据包镜像的网络。

配置后端

  1. 点击后端配置
  2. 对于后端类型,选择实例组
  3. 协议 列表中,选择 UDP
  4. 新建后端 部分,从实例组 列表中,选择要将数据包转发到的实例组。
  5. 新建后端 部分,执行以下操作:

    1. 选择 IP 栈类型
    2. 实例组 列表中,选择要将数据包转发到的实例组。
    3. 点击完成

    请注意,当您使用 Google Cloud 控制台创建负载平衡器时,健康检查是全球性的。如果要创建区域级健康检查,请使用 gcloud 或 API。

配置前端

  1. 创建内部直通网络负载平衡器 页面上,点击前端配置
  2. 新建前端 IP 和端口 部分,执行以下操作:
    1. 名称部分,输入名称。
    2. 对于子网,请选择与要创建镜像的 实例位于同一区域的子网。
    3. 对于端口,选择单个,然后在 **端口号**中输入6081
    4. 点击高级配置 ,然后选择为此负载均衡器启用数据包镜像
    5. 点击完成

检查配置

  1. 创建内部直通网络负载平衡器 页面上,点击检查并最终确定
  2. 查看负载均衡器配置设置。
  3. 点击创建

gcloud

  1. 创建一个新的区域级 HTTP 健康检查,以测试实例组的 HTTP 连接:

    gcloud compute health-checks create http HEALTH_CHECK_NAME \
        --region REGION \
        --port PORT
    

    替换以下内容:

    • HEALTH_CHECK_NAME:健康检查的名称。
    • REGION:要为其镜像数据包的虚拟机实例所在的区域。
    • PORT:健康检查监控的端口号。如果未指定,则会使用默认端口 80
  2. 为 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:健康检查的名称。
  3. 将实例组添加到后端服务:

    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:实例组所在的可用区。
  4. 为后端服务创建转发规则:

    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:后端服务的区域。

配置提供方镜像资源

如需配置提供方镜像资源(例如网络中的镜像部署组和镜像部署),请执行以下操作:

  1. 创建镜像部署组 ,以表示使用方可以连接的提供方镜像服务 。如需了解详情, 请参阅创建和管理镜像部署组

  2. 在您要通过 Network Security Integration 公开后端服务的每个可用区中创建镜像部署 。这些是您在上一步中创建的相同后端服务。 如需了解详情,请参阅 创建和管理镜像部署

  3. 默认情况下,镜像部署组和镜像部署会受到保护,以防来自未知使用方的流量。 如需允许使用方附加到镜像部署组,请确保您在提供方的项目上拥有 Mirroring Deployment Admin 角色 (networksecurity.mirroringDeploymentGroups.use)。当您拥有 Mirroring Deployment Admin 角色时,系统默认会包含 Mirroring Deployment User 角色 (roles/networksecurity.mirroringDeploymentUser)。

后续步骤