在目标实例与后端服务之间切换

本页面介绍如何在目标实例和后端服务之间切换转发规则的目标。

外部协议转发

如需将外部转发规则的目标从目标实例切换到后端服务(反之亦然),您需要删除转发规则并使用新目标重新创建转发规则。此方法需要一个静态 IP 地址,以便在新的转发规则中使用相同的地址。

删除再重新创建转发规则是在外部协议转发和基于后端服务的外部直通式网络负载均衡器之间切换的唯一方式。

内部协议转发

您可以通过以下两种方式在内部协议转发和内部直通式网络负载均衡器之间切换:

  • 您可以通过使用 gcloud compute forwarding-rules set-target 命令更新转发规则,在目标实例和后端服务之间切换,如更改内部转发规则的目标中所述。在内部协议转发和内部直通式网络负载均衡器之间切换时,您无需删除再重新创建转发规则。转发规则会一直使用相同的内部 IP 地址(静态或临时)。

  • 您还可以通过删除并重新创建转发规则,在目标实例和后端服务之间切换。但是,此方法需要一个静态 IPv4 地址,以便在新的转发规则中使用相同的地址。不能对 IPv6 地址使用此方法,因为不支持预留 IPv6 地址。

目标实例不指定任何协议,它会继承转发规则的协议和端口。因此,在切换转发规则以引用后端服务时,您必须确保转发规则的 IP 协议(TCP 或 UDP)与后端服务的协议(TCP 或 UDP) 相匹配。

下图展示了使用内部协议转发的示例。

在目标实例与后端服务之间切换。
在目标实例与后端服务之间切换。

更改内部转发规则的目标

如需将转发规则从指向目标实例更改为指向区域级后端服务,请使用以下命令:

gcloud compute forwarding-rules set-target FORWARDING_RULE \
    --backend-service=BACKEND_SERVICE \
    --region=REGION

要改回指向目标实例,请使用以下命令:

gcloud compute forwarding-rules set-target FORWARDING_RULE \
    --target-instance=TARGET_INSTANCE \
    --target-instance-zone=ZONE