本页面简要介绍了如何创建安全 Web 代理政策,然后说明了如何为安全 Web 代理实例配置下一个跃点路由。此外,本页还介绍了如何为下一个跃点配置静态路由或基于策略的路由。
默认情况下,SecureWebProxy
实例的 RoutingMode
值为 EXPLICIT_ROUTING_MODE
,这意味着您必须将工作负载配置为明确将 HTTP(S) 流量发送到安全 Web 代理。您可以将安全 Web 代理实例的 RoutingMode
设置为 NEXT_HOP_ROUTING_MODE
,而不是将各个客户端配置为指向安全 Web 代理实例,这样您就可以定义将流量定向到安全 Web 代理实例的路由。
为安全 Web 代理配置下一个跃点路由
本部分介绍了创建安全 Web 代理政策的步骤,以及将安全 Web 代理实例部署为下一跳的流程。
创建安全 Web 代理政策
将安全 Web 代理实例部署为下一个跃点
控制台
在 Google Cloud 控制台中,前往网站代理页面。
点击
创建安全 Web 代理。输入您要创建的网络代理的名称,例如
myswp
。输入 Web 代理的说明,例如
My new swp
。对于路由模式,选择下一个跃点选项。
在区域列表中,选择要创建网站代理的区域。
在网络列表中,选择要创建网站代理的网络。
在子网列表中,选择要创建 Web 代理的子网。
可选:输入安全 Web 代理 IP 地址。您可以输入位于您在上一步中创建的子网中的安全 Web 代理 IP 地址范围内的 IP 地址。如果您未输入 IP 地址,安全 Web 代理实例会自动从所选子网中选择一个 IP 地址。
在证书列表中,选择要用于创建网站代理的证书。
在政策列表中,选择您创建的要与网站代理关联的政策。
点击创建。
Cloud Shell
创建
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
创建安全 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_IP
:SecureWebProxy
实例的 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_MODE
的SecureWebProxy
实例支持 HTTP(S) 和 TCP 代理流量。系统会丢弃其他类型的流量(包括跨区域流量),而不会发出通知。 - 使用
next-hop-ilb
时,如果目标下一个跃点是安全 Web 代理实例,则适用于内部直通式网络负载平衡器的限制也适用于下一个跃点。如需了解详情,请参阅静态路由的下一个跃点和功能表格。 - 与您的下一个跃点路由匹配的虚拟机 (VM) 中的所有流量(包括后台流量和更新)都将路由到您的安全 Web 代理实例。