google-app-engine - 我们如何使用与公共互联网隔离的内部通信来实现应用引擎服务来服务通信?
问题描述
我有两个应用引擎服务,我想只使用内部通信从另一个服务调用一个服务。我该怎么做呢?例如,abcproject.service1.appspot.com 调用 abcproject.service2.appspot.com
解决方案
正确的问题:内部是什么意思?
首先,内部 IP 是不可能的,因为你没有 IP,但你有 URL。该服务是无服务器的,它可以自动扩展和缩减,他在一个负载均衡器(GFE - Google Front End)后面,负责验证和路由请求。对于您的项目或其他项目中的所有/许多 App Engine 服务,它都是相同的组件。它也是保护 Google 服务(Youtube、Playstore、Gmail...)的同一层
因此,您可以进行内部 URL 通信吗?这里的内部是模糊的:内部是什么?
- 到你的项目?不,因为 App Engine 实例不在您的项目/VPC 中,而是在您无法管理的 Google 管理的世界中。
- 到谷歌云?是的,请求保留在 Google Cloud 网络中,永远不会到达公共互联网。请求总是经过身份验证,有时是加密的
背后的问题是:为什么您只想使用内部 IP?我猜是为了安全。因此,您可以使用IAP来让 GFE 在将请求转发到 App Engine 之前检查请求者的身份验证和 IAM 授权。这样,只有经过身份验证和授权的流量才能到达服务。
它不希望您最终想要实现吗?
推荐阅读
- python - 我想计算抵押贷款的每月还款额
- python - 导入 tensorflow-gpu 版本时出错
- javascript - 使用“?”时滚动到 id 元素 在网址中,vue.js
- django - 在 celery 中使用组链时的错误处理
- python-3.x - 在 python 中使用 Api 获取其他linkedin用户的个人资料详细信息
- reactjs - React-loadable 不适用于 css 模块
- angular6 - spyOn 无法监视依赖服务的方法
- python - 有没有办法在 VS Code 中删除未使用的 Python 导入?
- uwp - UIElement.PlaneProjection 的情节提要动画在完全使用合成 API 时中断
- css - 使用 GRID 在左侧网格一个大盒子,在他右侧网格另一个大盒子