当前位置: 首页 > 知识库问答 >
问题:

内部连接云功能和App Engine

柳才良
2023-03-14

我想把这个过程内部化,这样只有云功能可以访问App Engineendpoint,但我正在与这个过程作斗争。

由于这两个服务都是无服务器的,所以我不能只过滤App Engine防火墙中的通信量,因为每次创建新实例时云功能都有不同的IP。

我曾尝试遵循本指南,其中建议将所有功能出口通信量与子网的无服务器VPC连接器相关联,然后用NAT控制该子网的所有通信量,并为其分配静态IP地址。这样,我可以通过NAT IP在我的App Engine防火墙上进行过滤,它将永远是相同的。

知道我做错了什么吗?或者是否有任何替代方案可以使该过程私密化?

共有1个答案

裴威
2023-03-14

有两种解决方案来解决这个问题。而选择取决于你相信什么!

基于网络的解决方案

如果您希望保持App Engine只在内部,我的意思是从网络的角度来看,您可以将入口控件设置为internal-only,以只接受来自项目VPC的流量

因此,基于这一点,谷歌信任流量和请求的身份。您只能通过控制连接的身份验证来保持服务的私有性(除了授权访问之外,任何人都不能访问)。

为此,您需要在App Engine服务上激活IAP,并只授权云功能的服务帐户。

然后,在您的云函数中,您需要手动生成一个身份令牌,并将其添加到请求的头中。

 类似资料:
  • 根据我在互联网上发现的几个来源,不可能仅通过内部IP将谷歌云功能连接到受限计算引擎实例(例如。https://groups.google.com/forum/#!主题/gce讨论/HEn5P9PJzYQ)。真的还是这样吗?我的设置如下所示: 谷歌云充当API(公共) 我现在通过防火墙规则将计算引擎实例限制为仅内部流量(10.128.0.0/9)。我的应用程序引擎仍然可以连接到计算引擎实例,但我的云

  • 这是代码: 日志中的错误是 连接错误错误:Redis连接到10.1.2.3:6379失败-连接ETIMEDOUT 10.1.2.3:6379 我看过谷歌云功能不能连接到Redis,但它对设置规则时的选项不够具体。 我尝试使用以下设置来设置防火墙规则: 入口 网络:默认 源筛选器:我的firebase服务帐户 协议/端口:全部 目标:所有 只需注意一下服务帐户: 由Firebase创建 在IAM中具

  • 问题内容: 我的问题是: 据我所知,这取决于如何使用,即用作构造函数或函数。可什么是在不同的情况下? 问题答案: 的关键字是指功能所属的对象,或对象如果函数不属于任何对象。 在OOP代码中使用它来引用该函数所属的类/对象,例如: 这提醒: 您可以使用或函数操纵引用的对象。 (有时非常方便)

  • 问题内容: 好的,这是。我有两个表:product和product_sizes 所以基本上我的产品表具有id(主键),名称(产品名称)和size_id(product_sizes中的外键) 我的product_sizes表具有预定值: 在这里,我有一个有效的代码来显示产品表(使用while代码以html格式): 我的问题是我想显示(用html表示)尺寸名称而不是其size_id,类似于以下示例:

  • 作为我系统的一部分,我需要在Kubernetes之上使用Kafka和Zookeeper集群。我使用Statefulset来部署它们,并使用headless服务来让Kafka的经纪人能够与Zookeeper服务器对话。 得到了- %错误:无法获取元数据:本地:代理传输失败 我试过了- 什么云是问题?我如何检查他们之间的交流,检查他们两人--Kafka和动物园管理员--在功能上的正确性? 一些关于系统

  • 我尝试使用my console在谷歌云平台上部署云功能。我使用的命令是, 但我得到了这个错误, 错误:(gcloud.functions.deploy)操作错误:代码=3,消息=Build failed:无法解析存储源:googleapi:错误404:未找到,未找到 我试着在谷歌上搜索,但似乎以前没有人遇到过这个错误消息。我也尝试过改变项目,部署效果很好。 如果有人知道是什么导致了这个错误,以及我