【问题标题】:GCP Classic VPN requires project's default network tier to be "Premium"?GCP Classic VPN 要求项目的默认网络层为“Premium”?
【发布时间】:2022-01-09 17:19:40
【问题描述】:

我正在尝试使用基于路由的经典 VPN 选项在我的本地设置和 GCP VPC 之间设置站点 2 站点 VPN。

现在无论我尝试在此设置中提供什么输入,我一直面临这个关于项目默认网络层为 Standard 的错误。

STANDARD network tier (the project's default network tier) is not supported: The network tier of specified IP address is PREMIUM, that of Forwarding Rule must be the same.

GCP Docs,我知道Standard 网络层不支持VPN 网关。此外,如果我尝试通过此经典 VPN 设置向导为 VPN 网关创建 IP,则该 IP 仅从 Premium 网络层提供。

我还想过以某种方式明确指定网络层为Premium 用于VPN 设置,但谷歌控制台中似乎没有任何此类选项;虽然这在创建 VM 实例时非常有效,即我可以轻松地为我的 VM 选择网络层,无论我的项目的默认网络层是什么。

这种行为似乎并不常见。看起来经典 VPN 设置希望我的项目的默认层是 Premium,这对我来说毫无意义。 我需要对这种行为进行一些确认,并且我没有做错什么。在 GCP 上设置经典 VPN 时,还有其他方法可以指定 VPN 网关的网络层吗?


编辑:

我的本​​地 VPN 网关仅支持静态路由,因此无法使用 HA VPN。此外,Classic VPN deprecation 仅适用于动态路由配置,因此我认为我的配置目前是安全的。

使用Standard 层进行 VPN 设置并不是硬性要求。只是在尝试配置它时,我遇到了这个冲突。我正在尝试在我公司的侧网络和 GCP VPC 之间设置 VPN。目前项目的默认网络层(VPC 所在的层)是Standard,为了这个需求,它不太可能更改为Premium。我认为更好的选择是创建一个单独的项目并将Premium 网络层作为默认设置。

我想要确认我所面临的错误确实是控制台流程中的一个问题,并且我没有遗漏任何东西,例如是否可以指定一些其他参数以使经典 VPN 设置向导成功并使用高级版网络层(或任何其他要求)。

简而言之,我无法使用向导在 GCP 端设置 Classic VPN,并且报告的错误似乎表明项目的默认层为 Standard 是问题所在。 现在因为我仍然可以在这个项目中使用premium 网络层创建虚拟机而没有任何问题。 VPN设置不应该也可以吗?

【问题讨论】:

  • Classic VPN 将于 2022 年 3 月 31 日弃用。为什么不HA VPN?在Network Service Tiers overview 中,标准层主要用于Traffic between the internet and VM instances in your VPC network is routed over the internet in generalFor services hosted entirely within a region 如果我了解您想使用标准层使用经典云VPN 将您的家用计算机与GCP 连接?您能否详细说明您希望如何配置此连接?
  • @PjoterS,我已编辑问题以解决您的疑问
  • 简而言之,您希望将公司网络连接到 GCP Cloud。您能否分享您公司网络的配置方式(没有私人/敏感信息)。你有这个 VPN 隧道的专用服务器吗?你有静态IP吗?您的虚拟机是在一个 VPC 中还是在多个 VPC 中?您能否详细说明使用Premium 网络层的含义?您的意思是将标准切换为高级,创建一个 VPN 网关,然后再次切换到默认?什么时候换层New resources will use the selected tier by default (existing resources won’t change tiers)你试过这个吗?
  • @PjoterS 我能够设置 VPN 资源。我想我知道可能是什么问题。我已经记录了所有的发现作为这个问题的答案。

标签: google-cloud-platform google-cloud-networking google-cloud-vpn


【解决方案1】:

由于我在使用 Classic VPN WebUI 向导时遇到了一致的错误,因此我采用 CLI 方式并使用 gcloud 实用程序创建与 Premium 网络层相关的 VPN 资源。我可以通过这种方式创建 VPN 资源,而项目的默认网络层仍设置为 Standard
参考:(https://cloud.google.com/network-connectivity/docs/vpn/how-to/creating-static-vpns#creating_a_gateway_and_tunnel)。

注意:我当前的 GCP 项目的默认网络层仍为 Standard

  1. 一个简单的 VPN 网关(不针对任何网络层):
gcloud compute target-vpn-gateways create GW_NAME    --network=NETWORK    --region=REGION    --project=PROJECT_ID
  1. 保留网络层为Premium 的IP。
  2. 然后创建了 3 个转发规则(注意网络层在此处被明确指定为 Premium):
gcloud compute forwarding-rules create fr-GW_NAME-esp    --load-balancing-scheme=EXTERNAL    --network-tier=PREMIUM    --ip-protocol=ESP    --address=GW_IP_NAME    --target-vpn-gateway=GW_NAME    --region=REGION    --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp500    --load-balancing-scheme=EXTERNAL    --network-tier=PREMIUM    --ip-protocol=UDP    --ports=500    --address=GW_IP_NAME    --target-vpn-gateway=GW_NAME    --region=REGION    --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp4500    --load-balancing-scheme=EXTERNAL    --network-tier=PREMIUM    --ip-protocol=UDP    --ports=4500    --address=GW_IP_NAME    --target-vpn-gateway=GW_NAME    --region=REGION    --project=PROJECT_ID
  1. 现在可以使用 CLI 和 WebUI 配置隧道。

现在来看看 WebUI 向导的问题:

在运行 gcloud 命令来设置转发规则时,如果我将网络层指定为标准 --network-tier=STANDARD,我会收到与使用 WebUI 向导时几乎相同的错误。

ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource:
 - The network tier of specified IP address is PREMIUM, that of Forwarding Rule must be the same.

如果我没有在参数中指定网络层,那么我遇到的错误与我在使用 WebUI 向导时遇到的错误完全相同。

ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource:
 - STANDARD network tier (the project's default network tier) is not supported: The network tier of specified IP address is PREMIUM, that of Forwarding Rule must be the same.

这让我相信 GCP WebUI 中存在一个错误,即在使用向导创建经典 VPN 时,它没有将所需的网络层指定为 Premium 对其内部调用。默认情况下,会选择项目的默认网络层,即Standard,这最终会失败,因为Standard 网络层不支持 VPN 资源。

后来,在一些请求之后,我得以着手另一个 GCP 项目,其中默认网络层为 Premium。经典 VPN 设置向导在那里成功。

总之,我发现如果项目的默认网络层设置为Standard,使用WebUI向导设置GCP Classic VPN确实不会成功。

【讨论】:

    【解决方案2】:

    OP 希望使用 Classic VPN 和静态路由将 Corporate NetworkGoogle Cloud Platform 站点到站点连接(某些功能将于 2022 年 3 月 31 日弃用,有关更多详细信息,请查看 this doc。到期对于该更改,GCP 建议使用 HA VPN)。

    Classic VPN topology 中,必须使用Cloud VPN Gateway(至少在GCP 端),而Google Cloud Platform 仅在Premium Network Tier 中可用(默认情况下也推荐使用)。否则你会得到像 OP 这样的错误:

    不支持STANDARD网络层(项目默认网络层):指定IP地址的网络层为PREMIUM,转发规则必须相同。

    但是,可以在Network Tiers 之间切换。根据更改tier期间的信息,您将弹出信息:

    默认情况下,新资源将使用所选层(现有资源不会更改层)

    表示您可以在层之间切换,并且在您更改Network Tier时,在特定层中创建的资源不会改变。根据corporate network/environment 配置,不确定这是否适用于此设置。

    解决方案:

    由于Classic VPN 站点到站点需要Cloud VPN Gateway,您需要在Premium Tier 而不是Standard 上创建此资源。

    不可能提供完整的解决方案,因为本地配置是具有自己特定安全性/配置的企业网络。它还取决于 GCP 项目中的 OP 权限。

    其他文档

    【讨论】:

    • 你好@VISHALSINGH。这是answer your question吗?
    • @WytrzymałyWiktor 我能够解决这个问题。添加了我的答案以记录调查结果。
    猜你喜欢
    • 1970-01-01
    • 2020-08-06
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    相关资源
    最近更新 更多