首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为不可公开访问的后端设置云监视正常运行时间检查

为不可公开访问的后端设置云监视正常运行时间检查
EN

Stack Overflow用户
提问于 2021-05-06 21:52:17
回答 1查看 567关注 0票数 1

我在为某些不允许未经身份验证的调用的云运行服务设置正常运行时间检查时遇到了一些问题。

对于上下文,我使用Cloud + ESPv2作为连接到几个云运行服务的API网关。

ESPv2容器/ API网关允许未经身份验证的调用,但底层云运行服务不允许(因为对这些后端的请求通过API网关流)。

每个云运行服务都有一个内部健康检查端点,我希望通过云监视正常运行时间检查定期访问该端点。

这样做的目的是确保我的云运行服务是健康的,但也提供了减少冷启动时间的额外好处,因为容器保持“温暖”。

但是,由于受保护的云运行服务期望有一个有效的授权头,所以来自云监视的所有请求都会以403失败。

从看来,您只能配置一个静态auth头,在这种情况下是行不通的。我需要能够动态地创建每个从云监控发送的请求的头。

我可以看到已经支持这一点了。我在云运行服务上有几个内部端点(没有通过API网关公开),这些端点是通过访问的,并且我能够在每个请求上配置一个OIDC报头。理想情况下,我也可以对云监控做同样的事情。

我可以找到一些解决这一问题的方法,但它们都不太理想:

  • 允许对基础云运行服务进行未经身份验证的调用。这将使我的内部服务可以公开访问,然后我将不得不担心在每个服务中处理auth。
  • 通过API网关/ESPv2 2公开内部端点。这实际上与以前的解决方法相同。
  • 通过API网关/ESPv2 2公开内部端点,并配置某种auth。这类工作,但在编写本报告时,ESPv2支持的唯一的auth方法是API和JWT。JWT已经不可能了,但是我想API密钥可以工作。同样,这需要一些设置,如果可能的话,我宁愿避免。

如对此有任何想法或建议,将不胜感激。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-05-07 17:11:51

这个简单的解决方案可能适用于您的用例,因为只在端口443上使用TCP正常运行时间检查比较容易:

  1. 使用https://cloud.google.com/run/docs/quickstarts/prebuilt-deploy创建自己的云运行服务。
  2. 在TCP端口443云运行URL上创建一个新的正常运行时间检查。
  3. 等几分钟。

地点结果:所有地点均已通过 弗吉尼亚州,俄勒冈州,爱荷华州,比利时,好,新加坡,好,圣保罗

我还想告诉大家,Cloud是谷歌完全管理的产品,它有一个99.95 %月上升时间SLA,在过去的几个月里使用了最近没有发生任何事件,但是在您的终端上主动监控这一点也是一件非常好的事情。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67426377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档