问题标签 [google-cloud-load-balancer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-platform - GCLB Url Map 中的正则表达式
我需要在谷歌云负载均衡器中创建以下规则:
/en/example
/ar/example
/.../example
比如2个字母代表一个locale。
我找不到在负载平衡器 url-map 中设置正则表达式的方法。这怎么可能实现?
firebase-hosting - 谷歌云负载均衡器为 Firebase 托管创建后端服务,以通过负载均衡器为同一域的微服务和前端 SPA 提供服务?
我们的应用程序目前只关注一个域,我们称之为:mydomain.com
目前,我们通过云运行服务微服务从嵌套路径中分离出 docker 容器,例如:
mydomain.com/auth -> auth 微服务云运行容器 mydomain.com/files -> 存储桶 mydomain.com/public -> 公共微服务云运行容器。
我遇到的问题是尝试从域的根目录运行在 firebase 上发布的静态 SPA。
mydomain.com -> firebase 托管。
但是,规范中似乎没有任何选项,并且负载平衡在文档中被列为 N/A,这是有道理的,因为它们是从 CDN 提供的静态文件。
有没有办法通过firebase实现这一点?
google-cloud-functions - 通过 Auth0 Hook 调用 Google Cloud Function。如何将钩子来源的 IP 列入白名单?
我有一个 Auth0 后注册挂钩。我想用那个来触发一个 Cloud Run 函数,该函数在我自己的数据库中初始化一个新用户。
所以我有两种方法来创建对 Cloud Run 功能的访问
我不想公开访问它,因此我需要另一种方式。不知道 Cloud IAM 是否会成为一种方法。据我所知,我必须先让我的 Auth0 从谷歌元服务器获取凭据,然后使用该令牌访问 Cloud Function 端点,对吗?这是一件大事,而且我不想在 Auth0 Hook 的代码中存储任何秘密。
我想在这里设置某种白名单。Auth0 向我提供了钩子正在使用的 IP,因此我可以使用这些 IP 将访问列入白名单。
但是我不知道如何解决这个问题。我觉得我需要在这里做一些 VPC 和 Loadbalancer 的魔法,但是......是的,我只是感觉到它并且不完全知道这是否会起作用。
google-cloud-platform - GCLB 背后的 Cloud Run - 使用 IAM 管理访问
我正在尝试使Cloud Run 的 IAM 策略在 Google Cloud Load Balancer 后面工作。
直接调用 Cloud Run 服务时,我需要将目标受众设置为等于 Cloud Run 服务的 URL,例如my-service-abcdef.a.run.app
:
现在,当我将 Cloud Run 服务放在 GCLB 后面时,当我提供已链接到 GCLB 的域时,我实际上仍然可以调用它(例如my-domain.com
),但我需要保持目标受众(对于 getIdTokenClient 调用)完好无损(https://my-service-abcdef.a.run.app
)。
一旦我在 GCLB 后面添加更多具有不同“本机”URL(在.run.app
域中,因此需要不同的受众)的区域,这就会中断(这是完全可以理解的)。
Cloud Run 服务是否接受任何其他受众?我可以指定我自己的吗?
google-cloud-platform - 谷歌云,如何重写存储桶服务的负载均衡器主机和路径,这样我就不必将我的文件嵌套在下面,例如:/files/public?
我知道有一些关于这个问题的线程,但他们都有 2019 年的答案,其中其他行为和功能可用,例如,当时你甚至无法在负载均衡器上添加存储桶作为后端服务.
我正在尝试从 mydomain.com/storage/public 的存储桶 A 和来自 mydomain.com/storage/private 的存储桶 B 提供文件,这不是问题。
我没有成功做的是重写路径,这样我就不必将我的所有文件添加到嵌套在文件夹中的存储桶 A/storage/public
和存储桶 B 中/storage/private
——而只需从存储桶的根目录提供它们。
我添加了以下不起作用的路径和主机重写规则:
我假设这告诉它将 mydomain.com/storage/public/myfile.png 重写为 mydomain.com/myfile.png,但这似乎不起作用。
google-cloud-platform - 尝试将 Cloud CDN 缓存模式更改为“使用原始设置 ...”会导致错误“字段 'resource.cdnPolicy.defaultTtl' 的值无效:'0'”
我有一个后端服务,我想为其更改Cloud CDN “缓存模式”。
当我尝试将其更改为“使用基于 Cache-Control 标头的原始设置”时:
我得到错误Invalid value for field 'resource.cdnPolicy.defaultTtl': '0'. default_ttl cannot be specified with USE_ORIGIN_HEADERS cache_mode.
:
我该如何解决这个问题?
编辑:这是一个 GCP 错误:https ://issuetracker.google.com/issues/183625573
list - 如何在谷歌云中获取负载均衡器外部 ips 的列表?
尝试在 gcp 中列出每个项目的所有负载均衡器的所有外部 ip。我知道如何使用以下命令列出所有外部 ip,但我试图以某种方式过滤它并只保留 LB
gcloud compute addresses list --filter "NOT addressType:INTERNAL"
如果我的问题没有被谨慎地提交,请提前致歉。任何想法都会有所帮助。
谢谢
google-cloud-platform - 谷歌云后端服务不健康 - 502 错误
我相信我的设置非常简单,但是我在谷歌云中的负载均衡器上收到了可怕的“后端服务不健康”通知。我将列出迄今为止我为提供尽可能多的信息而采取的步骤,因为我知道这可能是很多事情。
- 我在托管 wordpress 的计算引擎中创建了一个 VM
- 我创建了一个链接到该 VM 的非托管实例组
- 我创建了一个负载均衡器(HTTPS),
- 我创建了一个链接到我的实例组的 HTTP 后端服务
- 我创建了一个健康检查,协议 HTTP,端口 80,其他一切都默认
- 我创建了一个新的前端 HTTP,端口 80,高级,保留了一个新的静态 IP 地址
- 我将我的域指向新的负载均衡器
值得一提的是,此时我测试了我可以毫无问题地访问存储在 VM 上的网页。
- 然后我创建了一个 HTTPS 前端,协议 HTTPS,端口 443,高级
- 我将 IP 的值设置为与创建 HTTP 前端时保留的静态 IP 的值相同。
- 我创建了一个新的谷歌云托管证书,已成功配置
此时我再次测试,无法再访问该站点,并且在网页上收到 502 错误。
- 我创建了两个防火墙规则,都设置为入口,允许健康检查,130.211.0.0/22 35.191.0.0/16。两者之间的唯一区别是一个设置为 tcp 80,一个设置为 tcp 443,我只是试图掩盖两者以防万一。我也尝试过一个没有另一个,但这没有任何区别。
现在我很困惑,因为我没有看到可以采取的任何其他潜在步骤来解决这个问题。
我将不胜感激任何潜在的解决方案。
干杯
google-cloud-platform - 如何使用 Google Cloud HTTP(S) 负载平衡器在两个 Cloud Run 服务之间进行渐进式流量迁移
我已经设置了一个外部 HTTP(S) 负载平衡器,其内容如下:
- 2 个无服务器 NEG,每个 NEG 指向各自区域中的不同 Cloud Run 服务
- 1 个后端服务,使用 2 个 NEG 作为 2 个后端
- 1 将所有内容发送到后端服务的主机和路径规则
- 1 指向主机和路径规则的 HTTPS 前端
此时,我注意到流量被路由到距离发出请求的客户端区域最近的 Cloud Run 服务。
我想将其更改为在第 1 天将 100% 的流量路由到一个 Cloud Run 服务,在第 2 天将 50% 的流量路由到每个服务,在第 3 天,将 100% 的流量路由到另一个 Cloud Run 服务。
目前尚不清楚外部 HTTP(S) 负载平衡器是否可以提供帮助。如果可以的话,不清楚是应该在后端服务还是在主机和路径规则中完成。
logging - 将 Google 负载均衡器上的请求记录到后端
所以,我们遇到了这个问题,我们有一个负载均衡器设置和 2 个后端服务器,所以这个负载均衡器将请求发送到这两个服务器。
当负载平衡的延迟 > 20segs 时,我们设置了警报,我们会收到这些通知的垃圾邮件。我们想找出什么 URI 什么请求导致了这么多麻烦。
所以我们想,转到负载平衡,编辑后端并启用采样率为 1.0 的日志记录,对吗?好的,但是我们找不到这些日志的去向(如果它们实际上去某个地方)
已经在 Logs explorer 上尝试了很多查询,甚至尝试一一删除日志以查看日志名称是否没有被索引或其他什么。
我们已检查此文档https://cloud.google.com/load-balancing/docs/https/https-logging-monitoring并且找不到包含“云 HTTP 负载均衡器 > 所有转发规则”选项的下拉列表. 所以它不是资源或日志名称。我不知道我是否在这里遗漏了另一个细节。
如果有人知道是否有其他方法可以启用这些日志,或者如果我正确启用了它们,我将不胜感激。