【发布时间】:2021-12-22 10:18:36
【问题描述】:
我目前有一个 ReactJS 前端作为服务部署在 Google App Engine (GAE) 上,而我的 Flask 后端 API 服务部署在 Google Cloud Run 上。
我做出这些选择是为了在有合理限制的同时保持免费等级。由于我的项目处于测试阶段,我刚刚使用 Cloud Run URL 从前端发出所有请求。但是,现在是时候让我的 Cloud Run API 实例私有化,并且只允许来自 GAE 前端的请求得到处理。
我在 apppot 服务帐户上尝试了一些 Cloud Run Invoker 权限,但无法使其正常工作。我的前端不断收到 403 禁止错误。我不确定如何继续,因为没有关于连接 GAE 和 Cloud Run 的文档。
【问题讨论】:
-
不是您问题的直接答案,但我很好奇 - 您是说如果您在 GAE 中实现相同的云运行代码,您会冒违反 GAE 中免费层的风险吗?
-
是的,我想是的。我需要 1GB,如果我使用 B4 实例,这意味着我每天只有 4.5 小时的计算时间。我的应用程序非常互动,参与度可能比这更长。告诉我我是否错误地解释了 GAE 的实例时间
-
1GB 内存还是什么?另外,您使用的是哪个版本的 GAE - Standard 还是 Flex?当您的意思是您的前端部署到 GAE 时,您的意思是您本质上拥有一个托管在 GAE 上的静态站点,并且所有对后端的请求都是通过 Javascript 或 PHP 完成的,并且会转到您在 Cloud Run 上的 url?
-
您的问题需要更多详细信息。您的问题提到了 App Engine -> Cloud Run。显示产生错误的其他代码。显示确切的错误。详细信息将帮助您找到解决方案。
-
@NoCommandLine 的最新评论直击问题的关键:前端调用后端吗?还是前端服务静态文件在您的浏览器中解释和运行,而您的浏览器(静态网站)执行对后端的调用?对架构和通信流程的深入理解对于回答您的问题至关重要!
标签: google-app-engine google-cloud-platform google-cloud-run