将多个静态 IP 附加到 Google Cloud 上的单个 Windows 服务器实例

将多个静态 IP 附加到 Google Cloud 上的单个 Windows 服务器实例

我的目标是

  1. 在 Google 云上的 Windows 服务器实例上配置的 IIS 上托管多个网站/应用程序。
  2. 让每个网站使用已预留的附加单独静态 IPS
  3. 根据 IP 地址将请求路由到相应的应用程序

我做了什么

  1. 在 Google Cloud 上创建了 Windows Server 2012 实例
  2. 为实例附加了一个静态 IP,目前有一个网站指向该静态 IP
  3. 保留额外的静态 IP 并尝试连接到现有实例

挑战

Google Cloud 不允许我将 IP 附加到已有 IP 的现有实例(这很公平)。因此,我认为创建多个网络接口并为它们附加单独的 IP 是有意义的。但是 Google Cloud 文档说:

  1. 您只能在创建实例时配置网络接口 - 我真的没有能力重新创建这个实例。
  2. 您不能将多个网络接口连接到同一个 VPC 网络。- 我不需要多个 VPC 网络。我尝试使用 IIS 作为 Web 服务器,托管多个应用程序,每个应用程序都可以通过自己的 IP 访问。

我也尝试了 IP 转发规则,但事实证明它只能在创建时切换,并且由于我有一个正在运行的实例并且 IP 转发已关闭,所以我必须重新创建该实例以满足我的需求。

我有出路吗?我该怎么办?

答案1

我认为您混淆Google IP ForwardingGoogle Protocol Forwarding

IP 转发用于 VPN、NAT 网关等。IP 转发将流量通过实例路由到其他地方。此功能可禁用在评估 IP 流量时通常会进行的源/目标检查,以便 VM 实例上的网络接口可以通过实例路由流量。

对于您的使用情况(一个 VM 实例的多个 IP 地址),您可以使用 Google 协议转发(在此答案中简称为 GPF)。

GPF 用于创建流量转发规则,支持多个公共 IP 地址。本质上,GPF 是一个负载均衡器,其 IP 地址与转发规则绑定。您可以配置 Apache、IIS 等服务以使用与转发规则绑定的公共 IP 地址。

注意:Google Cloud Console(目前)不支持创建 GPF。您必须使用 API 或gcloud

总之,创建一个target-instance。然后将规则绑定到此target-instance。这target-instance不是您将在 Google 控制台中看到的普通 VM 实例。

协议转发的收费标准与负载平衡服务相同。如果您的目标是低成本解决方案,请记住这一点。Google 负载均衡器定价

有关 Google 协议转发的这份文档将帮助您了解如何实现此功能。

使用协议转发

相关内容