无法从应用引擎访问 Google 云功能(带有入口控制)
Posted
技术标签:
【中文标题】无法从应用引擎访问 Google 云功能(带有入口控制)【英文标题】:Google cloud functions not accessible from app engine (with ingress controls) 【发布时间】:2020-09-21 16:59:20 【问题描述】:我有一个通过 Google Cloud 托管的 API。 API 的主要入口点是 App Engine 实例(标准),然后需要能够调用各种云函数来执行其任务。
为了确保云功能的安全,我想将入口控制设置为“仅允许内部”。
我已将云函数和 App Engine 部署在同一区域 (us-central1),但每次 App Engine 实例尝试调用云函数时,都会收到 403 错误。我尝试为 App Engine 设置 VPC 连接器,但这没有帮助。
这是 app.yaml 文件:
service: my-test-app
runtime: nodejs10
env_variables:
STAGE: "dev"
instance_class: F1
vpc_access_connector:
name: "projects/my-test-project/locations/us-central1/connectors/test-vpc-connector"
关键的云功能配置是Ingress Setting。我将其设置为仅允许内部流量。如果我将其设置为允许所有流量,一切正常(只是非常不安全!)
对我可能遗漏的内容有什么建议吗?
【问题讨论】:
请编辑问题,提供有关您如何部署和配置该功能以及如何从 GAE 调用它的完整详细信息。我们应该能够准确地根据您提供的信息重现您的情况。 更新@DougStevenson! 你是如何从 GAE 调用函数的? 【参考方案1】:我找到了解决方案!如果我将 App Engine 设置为 flex 环境,则一切正常。看起来标准环境是个问题。
【讨论】:
好消息,如果此解决方案对您有用!另外,这里是GAE Standard - Communicating Between Your Services的文档:“要授权你的服务和其他谷歌云服务之间的请求,你需要Set Up Authentication for Server to Server Production Applications。”以上是关于无法从应用引擎访问 Google 云功能(带有入口控制)的主要内容,如果未能解决你的问题,请参考以下文章