1

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

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

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

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

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

提前致谢!

4

1 回答 1

0

考虑到您有:

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

正如@John Hanley 所说:

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

约翰·汉利 昨天

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

  • 共享 VPC
  • VPC 对等互连

共享 VPC

共享 VPC 允许组织将来自多个项目的资源连接到公共虚拟私有云 (VPC) 网络,以便它们可以使用来自该网络的内部 IP 安全有效地相互通信。

-- Cloud.google.com:共享 VPC

您可以尝试使用Cloud.google.com 之类的东西:无服务器 VPC 访问

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

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

Serverless VPC Access 支持与通过Cloud VPNVPC Network Peering连接的 VPC 网络进行通信。无服务器 VPC 访问不支持旧网络共享 VPC 网络

-- Cloud.google.com:共享 VPC

VPC 对等互连

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

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

Cloud.google.com:VPC 对等互连

VPC 对等互连的问题在于它支持Flexible App Engine不是 Standard App Engine.

VPC 网络对等互连适用于Compute EngineGKEApp Engine 柔性环境

Cloud.google.com:VPC 对等互连:关键属性

解决方法

解决方法是:

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

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

于 2020-04-22T12:46:04.220 回答