将安全 Web 代理部署为下一个跃点

本页面简要介绍了如何创建安全 Web 代理政策,然后说明了如何为安全 Web 代理实例配置下一个跃点路由。此外,本页还介绍了如何为下一个跃点配置静态路由基于策略的路由

默认情况下,SecureWebProxy 实例的 RoutingMode 值为 EXPLICIT_ROUTING_MODE,这意味着您必须将工作负载配置为明确将 HTTP(S) 流量发送到安全 Web 代理。您可以将安全 Web 代理实例的 RoutingMode 设置为 NEXT_HOP_ROUTING_MODE,而不是将各个客户端配置为指向安全 Web 代理实例,这样您就可以定义将流量定向到安全 Web 代理实例的路由。

为安全 Web 代理配置下一个跃点路由

本部分介绍了创建安全 Web 代理政策的步骤,以及将安全 Web 代理实例部署为下一跳的流程。

创建安全 Web 代理政策

  1. 完成所有必要的前提步骤
  2. 创建安全 Web 代理政策
  3. 创建安全 Web 代理规则

将安全 Web 代理实例部署为下一个跃点

控制台

  1. 在 Google Cloud 控制台中,前往网站代理页面。

    前往“Web 代理”页面

  2. 点击 创建安全 Web 代理

  3. 输入您要创建的网络代理的名称,例如 myswp

  4. 输入 Web 代理的说明,例如 My new swp

  5. 对于路由模式,选择下一个跃点选项。

  6. 区域列表中,选择要创建网站代理的区域。

  7. 网络列表中,选择您要在其中创建网站代理的网络。

  8. 子网列表中,选择要创建 Web 代理的子网。

  9. 输入网站代理 IP 地址。

  10. 证书列表中,选择要用于创建网站代理的证书。

  11. 政策列表中,选择您创建的要与网站代理关联的政策。

  12. 点击创建

Cloud Shell

  1. 创建 gateway.yaml 文件。

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: NEXT_HOP_ROUTING_MODE
    
  2. 创建安全 Web 代理实例。

    gcloud network-services gateways import swp1 \
      --source=gateway.yaml \
      --location=REGION
    

    安全 Web 代理实例可能需要几分钟才能部署完毕。

为下一个跃点创建路由

创建安全 Web 代理实例后,您可以为下一个跃点配置静态路由基于政策的路由

  • 静态路由会将网络内的流量定向到同一区域内的安全 Web 代理实例。如需设置将安全 Web 代理作为下一个跃点的静态路由,您必须配置网络标记
  • 借助基于政策的路由,您可以将来自来源 IP 地址范围的流量定向到安全 Web 代理实例。首次配置基于政策的路由时,您还必须将另一个基于政策的路由配置为默认路由。

以下两个部分介绍了如何创建静态路由和基于政策的路由。

创建静态路由

如需将流量路由到安全 Web 代理实例,请使用 gcloud compute routes create 命令设置静态路由。您必须将静态路由与网络标记相关联,并在所有来源资源上使用相同的网络标记,以确保将其流量重定向到安全 Web 代理实例。您无法使用静态路由定义来源 IP 地址范围。

如需详细了解静态路由在 Google Cloud中的运作方式,请参阅静态路由

gcloud

使用以下命令创建静态路由。

gcloud compute routes create STATIC_ROUTE_NAME \
    --network=NETWORK_NAME \
    --next-hop-ilb=SWP_IP \
    --destination-range=DESTINATION_RANGE \
    --priority=PRIORITY \
    --tags=TAGS \
    --project=PROJECT
 

替换以下内容:

  • STATIC_ROUTE_NAME:静态路由的名称
  • NETWORK_NAME:网络的名称
  • SWP_IPSecureWebProxy 实例的 IP 地址
  • DESTINATION_RANGE:您要将流量重定向到的 IP 地址范围
  • PRIORITY:路由的优先级;数字越高,优先级越低
  • TAGS:您为安全 Web 代理实例创建的标记的英文逗号分隔列表
  • PROJECT:您的项目的 ID

创建基于政策的路由

作为静态路由的替代方案,您可以使用 network-connectivity policy-based-routes create 命令设置基于政策的路由。您还需要创建基于政策的路由作为默认路由,以便为网络中虚拟机 (VM) 实例之间的流量启用默认路由。如需详细了解基于政策的路由在Google Cloud中的运作方式,请参阅基于政策的路由

启用默认路由的路由的优先级必须高于(数值较低)将流量定向到安全 Web 代理实例的基于政策的路由的优先级。如果您创建的基于政策的路由的优先级高于启用默认路由的路由,则该路由的优先级高于所有其他 VPC 路由。

请参考以下示例,创建用于将流量定向到安全 Web 代理实例的基于政策的路由。

gcloud

使用以下命令创建基于政策的路由。

gcloud network-connectivity policy-based-routes create POLICY_BASED_ROUTE_NAME \
    --network="projects/PROJECT/global/networks/NETWORK_NAME" \
    --next-hop-ilb-ip=SWP_IP \
    --protocol-version="IPV4" \
    --destination-range=DESTINATION_RANGE \
    --source-range=SOURCE_RANGE \
    --priority=2 \
    --project=PROJECT
 

替换以下内容:

  • POLICY_BASED_ROUTE_NAME:基于政策的路由的名称
  • NETWORK_NAME:网络的名称
  • SWP_IP:安全 Web 代理实例的 IP 地址
  • DESTINATION_RANGE:您要将流量重定向到的 IP 地址范围
  • SOURCE_RANGE:您要将流量重定向到的 IP 地址范围
  • PROJECT:您的项目的 ID

接下来,请按照以下步骤创建基于政策的默认路由。

gcloud

使用以下命令创建基于默认路由政策的路由。

gcloud network-connectivity policy-based-routes create DEFAULT_POLICY_BASED_ROUTE_NAME \
    --network="projects/PROJECT/global/networks/NETWORK_NAME" \
    --next-hop-other-routes="DEFAULT_ROUTING" \
    --protocol-version="IPV4" \
    --destination-range=DESTINATION_RANGE \
    --source-range=SOURCE_RANGE \
    --priority=1 \
    --project=PROJECT
 

替换以下内容:

  • DEFAULT_POLICY_BASED_ROUTE_NAME:基于政策的路由的名称
  • NETWORK_NAME:网络的名称
  • DESTINATION_RANGE:您要将流量重定向到的 IP 地址范围
  • SOURCE_RANGE:您要将流量重定向到的 IP 地址范围
  • PROJECT:您的项目的 ID

部署后核对清单

在将安全 Web 代理实例配置为下一个跃点后,请务必完成以下任务:静态路由基于政策的路由

  • 确认是否存在通往互联网网关的默认路由
  • 将正确的网络标记添加到指向安全 Web 代理实例作为下一个跃点的静态路由。
  • 为将安全 Web 代理实例作为下一个跃点的默认路由定义适当的优先级。
  • 由于安全 Web 代理是一项区域性服务,因此请确保客户端流量来自与安全 Web 代理实例位于同一区域。

限制

  • RoutingMode 设置为 NEXT_HOP_ROUTING_MODESecureWebProxy 实例支持 HTTP(S) 和 TCP 代理流量。系统会丢弃其他类型的流量(包括跨区域流量),而不会发出通知。
  • 使用 next-hop-ilb 时,如果目标下一个跃点是安全 Web 代理实例,则适用于内部直通式网络负载平衡器的限制也适用于下一个跃点。如需了解详情,请参阅静态路由的下一个跃点和功能表。