本页概述了如何 创建 Secure Web Proxy 政策,然后介绍了如何 为您的 Secure Web Proxy 实例配置下一个跃点路由。此外,本页还介绍了如何为下一个跃点配置 静态路由或 基于政策的路由。
默认情况下,SecureWebProxy 实例的 RoutingMode 值为 EXPLICIT_ROUTING_MODE,这意味着您必须将工作负载配置为显式向 Secure Web Proxy 发送 HTTP(S) 流量。您可以将 Secure Web Proxy 实例的 RoutingMode 设置为 NEXT_HOP_ROUTING_MODE,而不是配置指向 Secure Web Proxy 实例的各个客户端,这样您就可以定义将流量定向到 Secure Web Proxy 实例的路由。
将 Secure Web Proxy 实例部署为下一个
跃点时,您可以让网关侦听所有端口
(从 1 到 65535),从而简化动态环境或
使用多个端口的服务的配置。
为 Secure Web Proxy 配置下一个跃点路由
本部分介绍了创建 Secure Web Proxy 政策 的步骤,以及将Secure Web Proxy 实例部署为下一个跃点的过程。
创建 Secure Web Proxy 政策
将 Secure Web Proxy 实例部署为下一个跃点
控制台
在 Google Cloud 控制台中,前往 Web 代理 页面。
点击 创建安全 Web 代理 。
输入要创建的 Web 代理的名称,例如
myswp。输入 Web 代理的说明,例如
My new swp。对于路由模式,选择下一个跃点选项。
在区域 列表中,选择要在其中创建 Web 代理的区域。
在网络 列表中,选择要在其中创建 Web 代理的网络。
在子网 列表中,选择要在其中创建 Web 代理的子网。
可选:输入 Secure Web Proxy IP 地址。您可以输入在上一步中创建的子网中的 Secure Web Proxy IP 地址范围内的 IP 地址。如果您未输入 IP 地址,则 Secure Web Proxy 实例会自动从所选子网中选择 IP 地址。
在证书 列表中,选择要用于创建 Web 代理的证书。
在政策 列表中,选择您创建的要与 Web 代理关联的政策。
点击创建 。
Cloud Shell
创建
gateway.yaml文件。name: projects/PROJECT_ID/locations/REGION/gateways/swp1 type: SECURE_WEB_GATEWAY addresses: ["IP_ADDRESS"] ports: [443, 80] 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可选:如需将网关配置为侦听所有端口 (从
1到65535),请在gateway.yaml文件中添加all_ports字段,并将其设置为true。此功能处于 预览版阶段。如需了解与使用
all_ports功能相关的限制,请参阅限制。name: projects/PROJECT_ID/locations/REGION/gateways/swp1 type: SECURE_WEB_GATEWAY addresses: ["IP_ADDRESS"] all_ports: true 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创建 Secure Web Proxy 实例。
gcloud network-services gateways import swp1 \ --source=gateway.yaml \ --location=REGIONSecure Web Proxy 实例可能需要几分钟时间才能部署。
为下一个跃点创建路由
创建 Secure Web Proxy 实例后,您可以为下一个跃点配置 静态路由或基于政策的路由 :
- 静态路由会将网络中的流量定向到同一区域中的 Secure Web Proxy 实例。如需将 Secure Web Proxy 设置为下一个跃点来设置静态路由,您必须配置 网络标记。
- 借助基于政策的路由,您可以将流量从来源 IP 地址范围定向到 Secure Web Proxy 实例。首次配置基于政策的路由时,您还必须将另一个基于政策的路由配置为默认路由。
以下两个部分介绍了如何创建静态路由和基于政策的路由。
创建静态路由
这有助于确保路由正确地将流量定向到 Secure Web Proxy 实例。如需将流量路由到 Secure Web Proxy 实例,请使用 gcloud compute routes create 命令设置静态路由。您必须将静态路由与网络标记相关联,并在所有来源资源上使用相同的网络标记,以帮助确保其流量重定向到 Secure Web Proxy 实例。静态路由不允许您定义来源 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_IP:gateway.yaml文件中指定的子网中SecureWebProxy实例的 IP 地址DESTINATION_RANGE:您要将流量重定向到的 IP 地址范围。例如,使用0.0.0.0/0将所有互联网流量路由到 Secure Web Proxy 实例PRIORITY:路由的优先级;数字越大,优先级越低。确保路由的优先级在数值上低于默认互联网路由(通常为1000)TAGS:您将与 Secure Web Proxy 实例搭配使用的标记的逗号分隔列表PROJECT:项目的 ID
在相应子网中创建虚拟机,并在路由中指定网络标记
gcloud compute instances create swp-nexthop-test-vm \
--subnet=SUBNETWORK \
--zone=ZONE \
--image-project=debian-cloud \
--image-family=debian-11 \
--tags=TAGS替换以下内容:
SUBNETWORK:您为 Web 代理配置的子网ZONE:测试虚拟机实例的可用区TAGS:您将与 Secure Web Proxy 实例搭配使用的标记的逗号分隔列表
创建基于政策的路由
除了静态路由之外,您还可以使用 network-connectivity policy-based-routes create 命令设置基于政策的路由。您还需要创建一个基于政策的路由作为默认路由,以便为网络中虚拟机 (VM) 实例之间的流量启用默认路由。如需详细了解基于政策的路由在
Google Cloud中的工作方式,请参阅基于政策的路由。
启用 默认路由的路由的优先级必须高于 (数值上低于)将流量定向到 Secure Web Proxy 实例的基于政策的路由的优先级。如果您创建的基于政策的路由的优先级高于启用默认路由的路由,则该路由的优先级高于所有其他 VPC 路由。
使用以下示例创建将流量定向到 Secure Web Proxy 实例的基于政策的路由。
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:Secure Web Proxy 实例的 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
部署后核对清单
将 Secure Web Proxy 实例配置为下一个跃点后,无论您配置的是 静态路由还是基于政策的路由 ,都请确保完成以下任务:
- 确认存在通往互联网网关的 默认路由。
- 向指向 Secure Web Proxy 实例(作为下一个跃点)的 静态路由添加正确的 网络标记。
- 为指向 Secure Web Proxy 实例(作为下一个跃点)的默认路由定义适当的优先级。
- 由于 Secure Web Proxy 是一项区域服务,因此请确保客户端流量源自与 Secure Web Proxy 实例相同的区域。
限制
- 将
RoutingMode设置为NEXT_HOP_ROUTING_MODE的SecureWebProxy实例支持 HTTP(S) 和 TCP 代理流量。其他类型的流量(包括跨区域流量)会被丢弃,且不会收到通知。 - 当您使用
next-hop-ilb时,如果目标下一个跃点是 Secure Web Proxy 实例,则适用于内部直通网络负载平衡器的限制也适用于下一个跃点。如需了解详情,请参阅 静态路由的下一个跃点和功能表。 - 来自虚拟机 (VM) 的所有流量(包括后台流量和更新)如果与下一个跃点路由匹配,都将路由到 Secure Web Proxy 实例。
- 对于某个区域中的 VPC 网络,您只能部署一个 Secure Web Proxy 作为下一个跃点 (SWPaNH) 实例。
- 使用
all_ports功能时,存在以下限制:all_ports功能仅适用于type: SECURE_WEB_GATEWAY的网关。- 只有在
routingMode设置为NEXT_HOP_ROUTING_MODE时,您才能使用all_ports: true配置。 - 您不能同时为同一网关资源指定
all_ports: true配置并在端口字段中列出各个端口。您必须仅使用一种类型的端口配置,而不能同时使用两种。 - 在给定的网络和区域内,您不能同时部署一个处于下一个跃点模式且配置为
all_ports: true的 Secure Web Proxy 实例,以及另一个处于任何其他模式的 Secure Web Proxy 实例。