我是Google Cloud的新手,正在尝试理解Google Cloud端点和app Engine上的后端应用之间的关系。
看起来,当我部署我的应用程序(gcloud app deploy)时,我得到了一个类似于https://my-service-dot-my-app@appspot.com/path/operation/etc的网址。这个URL是通过云端点,还是直接到达容器?
当我以这种方式调用服务时,我看不到任何到云端点的流量。事实上,当我试图使用我认为是云端点的东西访问服务时,它只给了我一个404 (https://my-app@appspot.com/path/operation/etc)。为什么我不能使用端点进行访问?权限?
我最初的想法是端点是一个独立的东西,它将流量路由到后端。但是,当我在openapi.yaml中更改安全配置并仅重新部署端点定义(gcloud端点服务部署openapi.yaml)时,这似乎没有任何实际效果。
例如,初始部署具有Firebase安全性。我删除了它并重新部署了端点定义,但在调用服务时安全性仍然有效。似乎我必须重新部署后端来禁用安全性。
任何洞察力都将不胜感激。
发布于 2019-11-13 09:54:38
这个网址是通过云端点,还是直接到达容器?
应用程序引擎是Google基础设施上基于容器的部署。url是在您部署它时创建的,请注意它不是API。
当我以这种方式调用服务时,我看不到任何到云端点的流量
我不认为默认情况下会创建云端点
检查是否已创建云端点的一种方法是检查是否在项目中启用了其API,或者是否在IAM页面中创建了服务帐户
要为App engine配置云端点,请遵循this过程
发布于 2019-11-13 17:52:33
云端点是API前面的安全层。它充当代理并执行安全检查(基于API、OAuth、SAML...)并路由到正确的端点。端点定义基于OpenAPI 2(不是3,请小心!)。有新的高级功能,如速率限制和即将计费。
该产品最初集成到AppEngine,现在已经open sourced,可以部署在Cloud Run, Cloud Function and on GKE/Kubernetes上。Apigee是一个类似的付费且功能更强大的产品。
I用于使用部署在Cloud Run上的端点,具有wrote an article密钥安全性,并将请求路由到Cloud Run、云函数和应用程序引擎。
Cloud Endpoint还提供了一个developer portal,允许您的客户、研究人员和开发人员查看您的API规范,并在线动态测试它。
我希望这些元素能为您提供更好的云端点概述,以抽象您的底层API部署。
发布于 2019-11-13 17:54:45
我认为,在提供正确的前进方向之前,我们需要解决几个问题:
关于你的第一个问题:
这个网址是通过云端点,还是直接到达容器?
将应用程序部署到app Engine将为该应用程序生成@appspot URL。此URL用于直接访问应用程序,除非您启用Cloud IAP或对服务设置任何其他限制,否则它将一直可用于internet。
关于你的第二个问题:
为什么我无法使用端点进行访问?
如果你指的是https://my-app@appspot.com/path/operation/etc,可能有很多原因导致它不能工作,这将取决于你在安装过程中的哪一步。
通常,对于使用OpenAPI设置云端点,使用App Engine后端,您需要限制对@appspot URL的访问,但也需要部署一个Extensible Service Proxy (ESP) to Cloud Run以便稍后访问它。
结论:
现在,为了实际实现这个设置,我建议您遵循Getting Started with Endpoints for App Engine standard environment。
根据本指南,以下是使用云端点为App Engine标准后端设置端点所需的完整任务列表:
IAP 1-配置
来保护你的应用。
2-将ESP容器部署到Cloud Run。
3-创建一个描述你的应用程序接口的OpenAPI文档,并配置到你的应用程序引擎的路由。
4-部署OpenAPI文档以创建托管服务。
5-配置ESP,以便它可以找到您的服务的配置。
请记住,一旦设置了ESP配置,任何呼叫都需要通过YOUR-GATEWAY-NAME.a.run.app.
如果您碰巧在任何特定步骤中遇到困难,请提供您到目前为止所做的工作。
我希望这能帮到你。
https://stackoverflow.com/questions/58828536
复制相似问题