【问题标题】:How to establish a secure connecton from GAE (with public access) to a private GKE cluster如何建立从 GAME(具有公共访问权限)到私有 GKE 集群的安全连接
【发布时间】:2020-08-03 15:15:47
【问题描述】:

我有一个标准的 Google App Engine (GAE) 环境。此环境暴露于公共 Internet,因此用户可以建立连接。 另一方面,我有一个私有 GKE 集群(没有公共端点访问)。在这种情况下,GAE 中的应用需要与 GKE 集群建立连接,但我们需要保持 GKE 集群私有,因为我们不想将 GKE 集群暴露给公共互联网。

我告诉客户,我们可以使用内部负载均衡器或中间的代理来实现它,以便 GAE 中的应用程序可以安全地访问私有 GKE 集群。

但是,客户不信任这些替代方案。

我必须允许从 GAE 中的应用程序安全地连接到私有 GKE 集群的替代方案是什么?

如果有的话,您能否描述使这些连接(GAE 到 GKE)安全的论点?

提前致谢!

【问题讨论】:

  • 哪个 App Engine - 标准或灵活?对于标准,您的选项是无服务器 VPC 访问 cloud.google.com/vpc/docs/configure-serverless-vpc-access。对于灵活,如果您在同一个 VPC 中,则您已经拥有访问权限。否则看VPC Peering cloud.google.com/vpc/docs/vpc-peering
  • 您能否判断您在App Engine 中运行的应用程序是否与您的私有GKE 集群在同一个项目中?
  • 感谢 John Hanley,Dawid Kruk。 Dawid:App Engine 中的应用程序在 GKE 集群的不同项目中运行。关于 App Engine 模式,它是标准的。谢谢。

标签: google-app-engine google-cloud-platform google-kubernetes-engine gke-networking


【解决方案1】:

考虑到您有:

  • 标准App Engine 实例
  • 私有GKE集群
  • 您提到的所有资源的不同项目

正如@John Hanley 所说:

哪个 App Engine - 标准或灵活?对于标准,您的选项是无服务器 VPC 访问 cloud.google.com/vpc/docs/configure-serverless-vpc-access。对于灵活,如果您在同一个 VPC 中,则您已经拥有访问权限。否则看VPC Peeringcloud.google.com/vpc/docs/vpc-peering

John Hanleyyesterday

您的两个资源都在不同的项目中。他们有一个单独的网络。有一些解决方案可以在两个项目之间建立联系,例如:

  • 共享 VPC
  • VPC 对等

共享 VPC

共享 VPC 允许 organization 将来自多个项目的资源连接到公共 Virtual Private Cloud (VPC) network,以便它们可以使用来自该网络的内部 IP 安全高效地相互通信。

-- Cloud.google.com: Shared VPC

你可以尝试使用Cloud.google.com: Serverless VPC Access之类的东西

无服务器 VPC 访问使您能够从 App Engine 标准环境和 Cloud Functions 直接连接到您的 VPC 网络。此连接使您的 App Engine 标准环境应用程序和 Cloud Functions 可以通过内部(私有)IP 地址访问您的 VPC 网络中的资源。使用内部 IP 地址可改善您的 Google Cloud 服务之间的通信延迟,并避免将内部资源暴露给公共互联网。

问题是共享 VPC 不支持无服务器 VPC 访问,当您有不同的项目时,这是必需的。以下来自文档状态的片段:

无服务器 VPC 访问支持与通过 Cloud VPNVPC Network Peering 连接的 VPC 网络进行通信。 无服务器 VPC 访问不支持 legacy networksShared VPC networks

-- Cloud.google.com: Shared VPC

VPC 对等

Google Cloud VPC 网络对等互连允许跨两个 Virtual Private Cloud (VPC) 网络进行私有 RFC 1918 连接,无论它们属于同一个项目还是同一个组织。

VPC 网络对等使您能够对等 VPC 网络,以便不同 VPC 网络中的工作负载可以在私有 RFC 1918 空间中进行通信。流量停留在 Google 的网络内,不会穿越公共互联网。

Cloud.google.com: VPC peering

VPC Peering 的问题在于它支持Flexible App Engine Standard App Engine

VPC 网络对等互连适用于 Compute EngineGKEApp Engine flexible environment

Cloud.google.com: VPC Peering: Key Properties

解决方法

解决方法是:

  • 在同一个项目中创建所有内容
  • 将您的应用程序创建为Flexible

如果您对此有任何疑问,请告诉我。

【讨论】:

  • 非常感谢大家!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-17
  • 2021-05-01
  • 1970-01-01
  • 2020-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多